2 ms·
The main thing is that if Dark is it's own language, that we're freed of the legacy of whatever other language we might use, and can design something that's exp
by pbiggar 6y ago
The main thing is that if Dark is it's own language, that we're freed of the legacy of whatever other language we might use, and can design something that's explicitly for our use case.
As an example, Dark has "live values" which is where at any point in your program, we show you the actual value for the expression you're on. We use "traces" for this, which means the input (usually a HTTP request) as well as saved results of every expressions.
To accomplish this, we need a language where we can mark which functions are pure, where we can instrument the runtime, and where we can play the runtime back in our editor, filling in the saved trace values.
So nothing wrong with python, but it doesn't have any of those properties.
Similarly, we want your program to deploy instantly. That means that we need a technical way to deploy in 50ms (not sure that's available in python), but we also need language features that support that (such as feature flags built in, and the ability to safely make changes to programs). Otherwise, you'd find it's super easy to break your program with a typo.
This stuff is plausible in Python and many other languages, but seems super difficult.