Programming language · 2013

Lean

Software for interactive and automated theorem proving.

Official site ›
Lean logo
C++Written in
2013First released
Leonardo de MouraDeveloper
staticTyping
Apache Software License 2.0License
Built from Lean C++CoqHaskell
RuntimeInfluence

What is Lean written in?

Its runtime is implemented in C++ (documented). Lean is self-hosting.

Quick Facts

Designed by
Leonardo de Moura
Developer
Microsoft Research
First released
2013
Typing
static
License
Apache Software License 2.0
Website
lean-lang.org

About Lean

Lean is a software for interactive and automated theorem proving. It is a statically typed and garbage-collected language that compiles ahead of time to native machine code. It supports functional, proof-assistant, and dependent-typed programming.

Lean first appeared in 2013 and was designed by Leonardo de Moura. Development is led by Microsoft Research. Lean is now used mainly in specialized niches and by dedicated communities.

How Lean is implemented

In the Language Lineage dataset, Lean is self-hosting, so its own compiler is written in Lean itself and its runtime is implemented in C++. Reaching self-hosting, where a language is mature enough to compile itself, is a milestone that proves the language can handle a large, real-world program.

Lean in the language family tree

Lean drew on ideas from Coq and Haskell.

Sources: Wikipedia · Wikidata · Official site

Frequently Asked Questions

What language is Lean written in?
Lean is primarily implemented in C++. See the implementation section above for details and source references.
What languages influenced Lean?
Lean was influenced by Coq, Haskell among others. See the influence section above for the full list.
Is Lean self-hosting?
Yes, Lean is self-hosting, its compiler can compile itself.
When was Lean first released?
Lean was first released in 2013. It was designed by Leonardo de Moura.

Evidence Sources

Discover More

Embed this graph

Paste this iframe into any HTML page to show the Lean relationship graph.

<iframe src="https://www.languagelineage.org/embed?lang=lean" width="100%" height="500" loading="lazy" style="border:0" title="Lean relationship graph"></iframe>

Please attribute the visualization to Language Lineage and link to the Lean source record.

Explore Lean in Graph →