Misc

“electrolysis” project, which is doing formal verification of Rust via transpilation to Lean.

Open questions

Pages worth reading:

Lists

The reason to use this language is explained in the vectors section.

Types

You can get to know the syntax by reading this.

Mutation

“this is not a functional language”

Data Structures

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.

Memory Management

100% no mental overhead if you don’t care about performance. Opt in lifetimes. Always safe.

IO

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.

Imports

Every file is an expression, std exposes function import which returns value of file.

Everything is an expression