Summary

  • What is Lean
  • Tour of Lean
  • Setting Up Lean
    • Extended Setup Notes
  • Theorem Proving in Lean
  • Functional Programming in Lean
  • Examples
    • Palindromes
    • Binary Search Trees
    • A Certified Type Checker
    • The Well-Typed Interpreter
    • Dependent de Bruijn Indices
    • Parametric Higher-Order Abstract Syntax

Language Manual

  • Organizational features
    • Sections
    • Namespaces
    • Implicit Arguments
    • Auto Bound Implicit Arguments
  • Syntax Extensions
    • The do Notation
    • String Interpolation
    • User-Defined Notation
    • Macro Overview
    • Elaborators
    • Examples
      • Balanced Parentheses
      • Arithmetic DSL
  • Declaring New Types
    • Enumerated Types
    • Inductive Types
    • Structures
    • Type classes
    • Unification Hints
  • Builtin Types
    • Natural number
    • Integer
    • Fixed precision unsigned integer
    • Float
    • Array
    • List
    • Character
    • String
    • Option
    • Thunk
    • Task and Thread
  • Functions
  • Monads
    • Functor
    • Applicative
    • Monad
    • Reader
    • State
    • Except
    • Transformers
    • Laws

Other

  • Frequently Asked Questions
  • Significant Changes from Lean 3
  • Syntax Highlighting Lean in LaTeX
  • User Widgets
  • Semantic Highlighting

Development

  • Development Guide
  • Building Lean
    • Ubuntu Setup
    • macOS Setup
    • Windows MSYS2 Setup
    • Windows with WSL
  • Bootstrapping
  • Testing
  • Debugging
  • Commit Convention
  • Release checklist
  • Building This Manual
  • Foreign Function Interface
Powered by Gitiles| Privacy| Terms
source