Dada is a thought experiment. What if we were making a language like Rust, but one that was meant to feel more like Java or JavaScript, and less like C++? One that didn't aspire to being used in kernels or tiny embedded devices and was willing to require a minimal runtime. What might that look like?
...
Dada is an ownership-based language that is in some ways similar to Rust:
Like Rust, Dada doesn't require a garbage collector.
Like Rust, Dada guarantees memory safety and data-race freedom.
Like Rust, Dada data structures can be allocated in the stack and use flat memory layouts.
In other ways, though, Dada is very different:
Like TypeScript, Dada is a gradually typed language:
That means you can start out using Dada in the interpreter, with no type annotations, to get a feel for how it works.
Once you've gotten comfortable with it, you can add type annotations and use the compiler for performance comparable to Rust.