Leaf is a rich language with a lot of familiar features, as well as a lot of new features. Here we present a variety of the interesting, and already functioning, Leaf features.
- inferred typing - Strict type safety with minimal syntax
- tuples - Simple groups of data with an easy syntax
- safe implicit type conversion - No data loss with implicit type conversions
- optionals - A variable that may or may not be set
- closures - Encapsulate data scope with local functions
- error handling - Tagged error information and reduced syntax
- out-of-order declarations - No need to worry about code order
- execution model - Executables, libraries, and JIT compilation
For a more complete list of the essential, but perhaps not-so-exciting features, take a look at the status page.