https://github.com/andreasabel/lambda-pi
An implementation of Lambda-Pi in Agda
https://github.com/andreasabel/lambda-pi
Last synced: 5 months ago
JSON representation
An implementation of Lambda-Pi in Agda
- Host: GitHub
- URL: https://github.com/andreasabel/lambda-pi
- Owner: andreasabel
- Created: 2025-07-02T18:35:32.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2025-07-03T07:41:53.000Z (12 months ago)
- Last Synced: 2025-08-14T02:56:46.056Z (11 months ago)
- Language: Agda
- Size: 42 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
LamPi - A tutorial implementation of dependent types in Agda
============================================================
This is one of many bidirectional type-checkers for a core dependently typed functional language,
λΠ, written in Agda, using BNFC to generate the parser.
The language is the λ-calculus with dependent function types `(x : A) → B`
and a predicative cumulative hierachy of universes `Set`_n_.
A file is a sequence of declarations of the forms `x : A` (type signature) and
`x ys = e` (definition) where `e` and `A` are expressions.
Definitions must be immediately preceded by their type signature.
The syntax is a subset of Agda's syntax.
`postulate` blocks are also supported.
For an example of the syntax, see [nat.agda](examples/nat.agda).
LamPi can be build by calling `make`.
Prerequisites:
- Stack and GHC
- BNFC
- Agda
- Agda standard library