https://github.com/taimoorzaeem/step-scheme
Step-by-Step Scheme Evaluator [WIP]
https://github.com/taimoorzaeem/step-scheme
evaluator haskell interpreter lisp racket scheme
Last synced: 10 months ago
JSON representation
Step-by-Step Scheme Evaluator [WIP]
- Host: GitHub
- URL: https://github.com/taimoorzaeem/step-scheme
- Owner: taimoorzaeem
- License: gpl-2.0
- Created: 2023-07-22T18:50:26.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-08-24T08:34:08.000Z (10 months ago)
- Last Synced: 2025-08-24T14:55:23.657Z (10 months ago)
- Topics: evaluator, haskell, interpreter, lisp, racket, scheme
- Language: Haskell
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Scheme
A toy scheme interpreter written entirely in haskell. The code used in this is taken from the book [Write Yourself a Scheme in 48 Hours](https://upload.wikimedia.org/wikipedia/commons/a/aa/Write_Yourself_a_Scheme_in_48_Hours.pdf).
Although the book does a really great job in writing an up and running scheme interpreter, the book contains many bad haskell practices like use of partial functions and incomplete patterns etc. I was shocked when I saw `[x] ++ xs`. To see all the bad practices, compile with `-Wall` and/or use `hlint` and you'll get what I mean.
**To build:**
```sh
$ ghc Scheme.hs
```
**Run:**
```sh
$ ./Scheme
```