CODIGO
log in

Lean

AKA Lean Theorem Prover

Lean logo

Summary

Lean is a functional programming language and interactive theorem prover based on dependent type theory. It aims to bridge the gap between automated and interactive theorem proving, with applications in mathematical formalization and verified programming.

Paradigms

functional, purely functional, meta-programming

Domains

automated theorem proving, formal verification, education

Key Features

first-class functions, pattern matching, algebraic data types, type inference, meta-programming

Typing

dependent system, structural typing, strong typing, partial inference, compile-time checking, conservative type coercion, optional type annotations

Compilation

compiled

Influenced By

Coq, Agda, ML, Haskell, Idris, Isabelle

Ratings

Startup time
▊▊
▊▊
▊▊
▊▊
▊▊
Memory usage
▊▊
▊▊
▊▊
▊▊
▊▊
Computation speed
▊▊
▊▊
▊▊
▊▊
▊▊
Compilation speed
▊▊
▊▊
▊▊
▊▊
▊▊
Maturity
▊▊
▊▊
▊▊
▊▊
▊▊
Community size
▊▊
▊▊
▊▊
▊▊
▊▊
Learning resources
▊▊
▊▊
▊▊
▊▊
▊▊
Job market demand
▊▊
▊▊
▊▊
▊▊
▊▊
Learning curve
▊▊
▊▊
▊▊
▊▊
▊▊
Cognitive load
▊▊
▊▊
▊▊
▊▊
▊▊
Syntax complexity
▊▊
▊▊
▊▊
▊▊
▊▊
Semantic complexity
▊▊
▊▊
▊▊
▊▊
▊▊
Memory safety
▊▊
▊▊
▊▊
▊▊
▊▊
Concurrency ease of use
▊▊
▊▊
▊▊
▊▊
▊▊
Std lib maturity
▊▊
▊▊
▊▊
▊▊
▊▊
Std lib size
▊▊
▊▊
▊▊
▊▊
▊▊
Backwards compatibility
▊▊
▊▊
▊▊
▊▊
▊▊
Documentation quality
▊▊
▊▊
▊▊
▊▊
▊▊

File extensions

lean, hlean

External Links

Status active
Type programming
Created 2013
Designed by Leonardo de Moura
Sebastian Ullrich
Developed by Microsoft Research
Carnegie Mellon University
Leonardo de Moura
PyPL Index N/A
TIOBE Index N/A
GitHub rank #108

Code Example

Loading...