Dark Blog

medium.com/darklang · Company blog · on HN since 2019

The team behind Dark, a programming language and hosted platform for backends, posts about its design, deployment, and company changes.

What HN saysHN commenters, including the founder, discuss Dark's short feedback loops, safe editing on the server, and its move away from OCaml.
34HN people shared it
16linked it in comments
18stories submitted
500story points
4 years agolast shared
2019people per year2026

Most-shared posts

  1. 1
    What Is Dark?
    6 people · 34 points · first shared 2019 · 24 comments on HN
  2. 2
    Dark Emerges from Stealth and Announces $3.5M in Funding
    6 people · 14 points · first shared 2019 · 2 comments on HN
  3. 3
    Real problems with functional languages
    5 people · 28 points · first shared 2019 · 11 comments on HN
  4. 4
    Dark Team Shrinks to One
    5 people · 27 points · first shared 2020 · 6 comments on HN
  5. 5
    How Dark Deploys Code in 50ms
    4 people · 269 points · first shared 2019 · 167 comments on HN
  6. 6
    Philip2 an elm to reasonml compiler a210aaa6cd04
    2 people · first shared 2020
  7. 7
    Homepage
    2 people · first shared 2019
  8. 8
    Unveiling Dark
    1 people · 88 points · first shared 2019 · 1 comments on HN
  9. 9
    Compiling Dark to SQL
    1 people · 19 points · first shared 2020 · 2 comments on HN
  10. 10
    Shortcutting a Standard Library
    1 people · 8 points · first shared 2020 · 1 comments on HN
  11. 11
    Building a Slack App in less than 20 minutes with Dark
    1 people · 6 points · first shared 2019 · discussion on HN
  12. 12
  13. 13
    Dark v2 Roadmap
    1 people · 3 points · first shared 2020 · 3 comments on HN
  14. 14
    Leaving ocaml fce7049a2a40
    1 people · first shared 2020
  15. 15
    Dark residency 7dbc878a5f0a
    1 people · first shared 2019

What HN people wrote when they linked it

pbiggar · 2019-07-30
Dark founder here. Many people remember writing directly on the server quite fondly, because it had a great turnaround. But we stopped doing it because it wasn't safe. Dark makes it safe [1], so you can start doing it again. [1] https://medium.com/darklang/how-dark-deploys-code-in-50ms-771c6dd60671
ricardobeat · 2019-07-09
EDIT: Ha. My apologies as I just realized my stupidity - I was browsing on mobile and it turns out out I jumped into the 'What is Dark' post [1] and never finished the original! The mailing list links are in that one - I subscribed. This is a lot more interesting, cheers :) [1] https://medium.com/darklang/the-design-of-dark-59f5d38e52d2
benjiweber · 2022-07-03
I think the point is about far shorter feedback loops than possible with today's pervasive tech. > something even more continuous than continuous integration. It might look like real-time integration of your changes, collaborative editing, or smarter build systems that produce near-live feedback e.g. https://medium.com/darklang/how-dark-deploys-code-in-50ms-771c6dd60671
yawaramin · 2021-08-16
Or port over to bucklescript-tea (a port of the Elm architecture to the OCaml-to-JS compiler BuckleScript) using the Philip2 migration tool, which was announced almost a year before OP was published: https://medium.com/darklang/philip2-an-elm-to-reasonml-compiler-a210aa…
brown9-2 · 2020-11-03
Its not necessary to speculate, the blog post about moving away from OCaml specifically talked about cloud provider SDKs (AWS and GCP): https://medium.com/darklang/leaving-ocaml-fce7049a2a40?source=rss-56c9…
tjalfi · 2020-04-09
Dark is another startup that wrote an Elm to OCaml translator[0] after a previous language update broke their code[1]. [0] https://medium.com/darklang/philip2-an-elm-to-reasonml-compiler-a210aa… [1] https://lobste.rs/s/1jftsw/philip2_elm_ocaml_compiler#c_hahlj8
twic · 2019-07-30
Looks like one thing the infrastructure doesn't automate is using the right SSL certificate: https://hellobirb.com/ (that company is an early adopter mentioned in https://medium.com/darklang/dark-announces-3-5m-in-seed-financing-d64a… )
trevyn · 2019-07-30
Should probably replace with the first-party article: https://medium.com/darklang/dark-announces-3-5m-in-seed-financing-d64a…
maximilianroos · 2019-07-30
This is hardly "emerging from stealth". This was a blog post from February! https://medium.com/darklang/the-design-of-dark-59f5d38e52d2
dkersten · 2019-07-30
I don't get it. I tried to find out anything about what Dark is, how it works, or what it looks like and found almost nothing. They make claims like "holistic programming language" but don't show me what they mean. The What is Dark[1] blog post makes a lot of claims, but I've seen these claims made many times and they rarely live up to the hype. They don't show me how they plan to meet these claims or what it looks like. Finally, their marketing focus is on deployment, but honestly, deployment really has never been the biggest pain point for me. Sure, it can be a headache, but its nowhere near as much work as actually writing the applications themselves. I'm not convinced. [1] https://medium.com/darklang/the-design-of-dark-59f5d38e52d2
btown · 2019-07-11
It seems that Dark is designed to allow you to wrap external APIs in easy-to-use interfaces, so it should be at home as part of a larger SOA or ecosystem, of course with the caveat that it's still being developed. See the footnote at https://medium.com/darklang/dark-residency-7dbc878a5f0a .
lifthrasiir · 2019-06-21
> Instead it tells you exactly what errors can happen at every point in your code. Once you have your initial prototype/algorithm figured out, you can use that information to handle all the edge cases. While I can't say much about Dark (the available blog posts [1] are shallow), I do think that the automation may be one key aspect of future programming languages. For example, when I'm thinking about gradual typing I don't only want to mix the hodge-podge unitype and actual types but also convert the former to the latter, and a large portion of the process can be automated in various ways (for example, one can track the typical runtime types that unityped variables have; the programmer can solidify compile-time types using that fact). [1] https://medium.com/darklang
benjaminjosephw · 2020-01-24
This is a really interesting take on the Silver Bullet argument - Brooks is right that big gains in productivity are only gained by reducing accidental complexity but he was wrong about how much accidental complexity there still is to reduce. I think most Software Engineers probably suffer from some cognitive bias in trying to estimate exactly how much accidental complexity exists that could be eventually removed. We tend to think about incremental improvements to tools and processes rather than thinking at a higher level about improving the overall process of translating business requirements into working software. Even with much better tooling and languages (i.e. #F, Git, AWS, etc) there's still a lot of fat that could be trimmed. I'm excited to see what the wold of low-code will do to our current assumptions about how much accidental complexity there actually is. Maybe projects like Dark[1] could actually achieve the order-of-magnitude gains that Brooks was convinced wouldn't be possible. Sure, there's no panacea, but maybe we're round the corner from a genuine "Silver Bullet" in the sense that Brooks actually meant. [1] - https://medium.com/darklang/the-design-of-dark-59f5d38e52d2
agentultra · 2019-09-16
Not sure I'd want to be writing services I depend on in a language whose priority is ease of prototyping. In his post, Real problems with functional languages [0], Paul Biggar creates a false dichotomy: static types help us to write correct programs while dynamic types let us prototype faster. Dark wants to be able to do both. I believe Haskell allows us to reject outright incorrect programs sooner and allows us to prototype things faster due to its types and inference engine. I don't really see how Haskell is poor as a prototyping language. From experience it's better than dynamic languages as it has allowed me to focus on logic and domain problems instead of mucking up my code with brittle run-time and equality checks... and then chasing down bugs I've made for myself. No where is it mentioned what type system Dark is using. Will Dark allow a program to be deployed that it cannot reason about? What about higher-kinded types and polymorphism? Does it enforce termination or is bottom a type in every kind? Does the type system enforce linearity in usage? Quotient types? Row types? This looks like a cool project but I don't think I'd use it for anything without knowing more about how it works. [0] https://medium.com/darklang/real-problems-with-functional-languages-ef…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close