A collection of toy interpreters for lambda calculus, lisp, and other simple languages written Haskell.
Go to file
Raphael Jacobs 66022a0438 added more experiments, mostly failed, see readme. 2022-04-21 22:25:46 +02:00
app first commit 2022-02-20 02:26:08 +01:00
lib Lots of changes. First working version 2022-04-04 11:11:55 +02:00
src added more experiments, mostly failed, see readme. 2022-04-21 22:25:46 +02:00
test first commit 2022-02-20 02:26:08 +01:00
.gitignore first commit 2022-02-20 02:26:08 +01:00
ChangeLog.md first commit 2022-02-20 02:26:08 +01:00
LICENSE first commit 2022-02-20 02:26:08 +01:00
README.md added more experiments, mostly failed, see readme. 2022-04-21 22:25:46 +02:00
Setup.hs first commit 2022-02-20 02:26:08 +01:00
lambdatest.cabal Lots of changes. First working version 2022-04-04 11:11:55 +02:00
package.yaml added more experiments, mostly failed, see readme. 2022-04-21 22:25:46 +02:00
stack.yaml Lots of changes. First working version 2022-04-04 11:11:55 +02:00
stack.yaml.lock first commit 2022-02-20 02:26:08 +01:00

README.md

lambdatest

This repository contains (will contain) a bunch of unsorted interpreters for various "flavors" of lambda calculus, lisp languages and alike. It's a collection of experiments in implementing interpreters and compilers.

Currently, only a simple untyped lambda calculus is implemented, together with a beta reduction thing. More will be surely added in the future.

Typed-1 is an experiment at writing a lisp evaluator with as many type guarantees as possible, too many. You can only build the AST if everything has the correct type, which is a terrible idea and makes parsing very tricky (could not write a parser, probably just need to throw some 20 more ghc extensions at it).

Typed-0 is a work-in-progress regular lisp interpreter without the fancy type stuff.