Some features. Raven is concise, high-level and easy to read. It supports gradual type annotations, but without them code is fully type-inferred for both performance and correctness. We have real data types and good control over layout and allocations (ints, bytes etc – [defined](common/integer.rv) in the standard library!). Compound types are values first, with multi-dispatch and pattern matching. What we don't have is [function colouring](https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/): any code can suspend without complications. JS objects and interop are first class, so Raven can interact with the DOM or other JS interfaces without glue. The compiler is fully incremental, for fast builds, editor tooling and live REPL/notebook experiences. Errors come with reasonable stack traces and debugger support.
0 commit comments