# Lean (programming language) > Lean is a strict, pure, functional, and dependent type language. Lean is a [strict](https://wiki.g15e.com/pages/Strict%20evaluation.txt), [pure](https://wiki.g15e.com/pages/Pure%20funciton.txt), [functional](https://wiki.g15e.com/pages/Functional%20language.txt), and [dependent type](https://wiki.g15e.com/pages/Dependent%20type.txt) language. https://lean-lang.org > Lean is a [functional](https://wiki.g15e.com/pages/Functional%20programming.txt) 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. ## Memo - `bool`과 `Bool`의 차이? () - `=`과 `==`의 차이는? ## Articles - https://www.amazon.science/blog/how-the-lean-language-brings-math-to-coding-and-coding-to-math