Hacker News new | ask | show | jobs
by mirekrusin 2521 days ago
I think they actually do much more, they go really deep, it's like your project is huge ast, deployed when saved/compiled/typechecked, it's like big, persisted ast tree; i think this is how they store things - as ast, ast deltas, there are no text files at all. I'm not even sure if you can save your sourcecode if it doesn't compile. Compiled (and "locked") code means deployed code. I don't know how they do deployment of single code as multiple instances - maybe they don't support it at all? ie. everything is stateless with context comming in as input? I don't know. Everything seems "dark" about this project (no reference, no examples, no playground, your code belongs to them, can't use git etc.). But it's interesting, will keep an eye open for this one.
2 comments

This is the right approach to do this kind of stuff!

The problem with dark is that it's a language and it's 'hidden and proprietary' - unfortunately, it's too dark to know what it actually is so we can't but assume. I hope I'm wrong and it's less of a language and more of an editor.

I'm working on a similar sideproject where you define your data in a tree-like shape then generate stuff from that with events in between. Kind of AST but more of an Architecture Syntax Tree. The advantages are exactly what you said and dark claims - compiled code is deployed code, otherwise it is just a data tree.

This enables automatic versioning, caching, generation and provides a better UX for development where your types are infered, your tests obvious, your errors are clear as a day and you basically can't fuck up.

Yes, this is pretty close! There are multiple instances in the cloud - when a HTTP request comes in we look up your program from the DB and run it.