An interpreter of lambda calculus.
- Implement call-by-need lazy evaluation.
- Support direct and indirect recursion.
(define name body)
(define (name arg ...) body)
(import name ... "./file.scm")
(assert-equal exp ...)
(assert-not-equal exp ...)
(lambda (name) ret)
(let ([name exp] ...) body)
Install it by the following command:
npm install -g @cicada-lang/lambda
The command-line program is called lambda
.
npm install # Install dependencies
npm run build # Compile `src/` to `lib/`
npm run test # Run test
To make a contribution, fork this project and create a pull request.
Please read the STYLE-GUIDE.md before you change the code.
Remember to add yourself to AUTHORS. Your line belongs to you, you can write a little introduction to yourself but not too long.