Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chiroptical/snailscheme
A read friendly Scheme implementation
https://github.com/chiroptical/snailscheme
haskell interpreter scheme
Last synced: 3 months ago
JSON representation
A read friendly Scheme implementation
- Host: GitHub
- URL: https://github.com/chiroptical/snailscheme
- Owner: chiroptical
- License: apache-2.0
- Created: 2021-11-28T17:28:30.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-02-17T00:57:04.000Z (almost 3 years ago)
- Last Synced: 2023-07-17T05:52:43.170Z (over 1 year ago)
- Topics: haskell, interpreter, scheme
- Language: Haskell
- Homepage:
- Size: 78.1 KB
- Stars: 7
- Watchers: 4
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Awesome Lists containing this project
README
# Snailscheme
Snailscheme is a minimal Scheme interpreter to highlight the simplicity of
writing an interpreter in Haskell. The implementation and, forthcoming,
tutorial are meant to guide someone who has some Haskell experience but is
interested in learning about interpreters. We use very simple Haskell and best
in class libraries to provide the groundwork for building interpreters quickly.
You shouldn't view Snailscheme as "Write You a Scheme, Version 3". It is less
interesting for us to build a compliant Scheme than presenting what it takes to
build an interpreter. That being said, we will make it obvious when we deviate
from Scheme.## Plans
- [ ] Finish the interpreter
- [ ] Evalutate the reference implementation
- [ ] Add context and examples to each and every function
- [ ] Finalize a correct test suite for the interpreter## Goals
- Simple: no fancy Haskell is necessary to build an interpreter
- Well commented: one should easily be able to understand every function's purpose
- Well tested: property and golden tests ensure correctness## Motivations
This project was motivated from [Write Yourself a Scheme in 48 Hours][wyas],
[Write You a Scheme, Version 2][wyas2], and [Intrigue][intrigue].[wyas]: https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours
[wyas2]: https://www.wespiser.com/writings/wyas/home.html
[intrigue]: https://github.com/Kleidukos/Intrigue