https://github.com/werediver/pl-lab
Self-study on programming languages design and implementation
https://github.com/werediver/pl-lab
lambda-calculus parser
Last synced: about 1 year ago
JSON representation
Self-study on programming languages design and implementation
- Host: GitHub
- URL: https://github.com/werediver/pl-lab
- Owner: werediver
- License: mit
- Created: 2019-03-23T12:51:18.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-07-31T05:56:11.000Z (almost 7 years ago)
- Last Synced: 2024-10-19T07:53:09.801Z (over 1 year ago)
- Topics: lambda-calculus, parser
- Language: Haskell
- Size: 43.9 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Awesome Lists containing this project
README
# pl-lab
Self-study on programming languages design and implementation.
# LamCalc.Untyped.Naive
A naive implementation of capture avoiding substitution, weak head normal and normal form conversion, α- and β-equivalence.
# Building & running
The elementary REPL computes the normal form of an untyped λ-calculus expression.
```
$ stack build && stack exec pl-lab-exe
λ> (\x y z. x z (y z)) (\x y. x) (\x y. x)
λz. z
λ> :q
```