Lean is a functional programming language that makes it easy to write correct and maintainable code. You can also use Lean as an interactive theorem prover. Lean programming primarily involves defining types and functions. This allows your focus to remain on the problem domain and manipulating its data, rather than the details of programming. Lean has numerous features, including:
Type inference
First-class functions
Powerful data types
Pattern matching
Type classes
Extensible syntax
Hygienic macros
Dependent types
Metaprogramming framework
Multithreading
Verification: you can prove properties of your functions using Lean itself
What's new in 4.35.0
This is the v4.35.0 release of Lean. View the release notes for more information.