“electrolysis” project, which is doing formal verification of Rust via transpilation to Lean.
let
keyword stay around because of the mutability?The reason to use this language is explained in the vectors section.
You can get to know the syntax by reading this.
“this is not a functional language”
Tiny set of primitives and everything is subtypes of those?
For instance, instead of “associated methods” you would store the function itself on the struct, constant propagation would make it available on every method with no runtime overhead.
100% no mental overhead if you don’t care about performance. Opt in lifetimes. Always safe.
Nothing exposed by default, main function is passed mutable reference to IO
object, which exposes all operations. If a library never takes IO
in as an argument, it’s safe.
Every file is an expression, std exposes function import
which returns value of file.