Skip to content

anzenlang/train.bf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository

This repository contains material for the anzenlang Lean 4 introduction course. It is released under the Mozilla Public License v2.0, see LICENSE for more details.

Participants learn Lean 4 by writing an interpreter for (an extended version of) the [brainfuck] language. The material is not self-sufficient to properly present Lean 4, it requires a trainer guiding participants and presenting/adding context to every step of the process.

See resources for standalone Lean 4 learning material, in particular Functional Programming in Lean.

Lean 4

Brief history

  • 2013: Leonardo de Moura "releases" Lean 1

    compiler mostly in C++

  • 2017: Lean 3, first "stable" version, still (very) experimental

    compiler still mostly C++

  • 2021: Lean 4, first stable version

    compiler (eventually) almost completely written in Lean 4

  • 2023: creation of the Lean FRO to improve Lean 4 scalability and usability

Description

  • terminating, purely functional language

  • strong, dependent type system

  • great development language, also a great Interactive Theorem Prover (ITP)

  • heavily inspired by ML, Coq, and Haskell

  • modern: (Rust-)cargo-like environment, utf-8-friendly, extremely clean syntax

    • elan: toolchain manager, fork of Rust's rustup
    • lake: project manager, pure Lean but based on Rust's cargo
  • efficient

"Basic" libraries

The Lean 4 community provides three "basic" packages/libraries:

Documentation for these libraries available here:

Resources

Learning:

About

Brainfuck-based lean 4 introduction.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages