Skip to content

cicada-lang/lambda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Dec 25, 2024
d67c687 · Dec 25, 2024
Jan 11, 2024
Aug 5, 2024
Oct 3, 2024
Dec 16, 2024
Oct 14, 2022
Jan 4, 2024
Mar 16, 2022
Mar 16, 2022
Aug 5, 2024
Mar 16, 2022
Aug 5, 2024
Dec 16, 2024
Dec 16, 2024
Dec 16, 2024
Apr 16, 2024

Repository files navigation

Lambda Calculus

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)

Usages

Command line tool

Install it by the following command:

npm install -g @cicada-lang/lambda

The command-line program is called lambda.

Development

npm install     # Install dependencies
npm run build   # Compile `src/` to `lib/`
npm run test    # Run test

Contributions

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.

License

GPLv3