Project
pLam
An open-source interpreter for learning and exploring pure λ-calculus, born from research on numeral systems.
- Client
- Open source
- Year
- 2017
- Areas
- Haskell, Open source, Research
- Link
- github.com
pLam (pure Lambda calculus) is a tool to explore, define and evaluate λ-expressions. It started as a helper for a master’s thesis on numeral systems in λ-calculus and grew into an interpreter used by students and enthusiasts who want to see computation at its most fundamental.
Highlights
- Interactive shell and
.plamprogram files. - Step-by-step evaluation that shows every reduction, with the redex highlighted, down to the normal form.
- Multiple reduction strategies, including call-by-name and call-by-value.
- Syntactic sugar for Church numerals, binary numerals and lists.
- A standard library of common λ-expressions, from booleans and arithmetic to factorial and list operations.
- Written in Haskell, with around 470 stars on GitHub.