https://github.com/rmosolgo/crythtal
A Lisp in Crystal
https://github.com/rmosolgo/crythtal
Last synced: 3 months ago
JSON representation
A Lisp in Crystal
- Host: GitHub
- URL: https://github.com/rmosolgo/crythtal
- Owner: rmosolgo
- Created: 2015-09-26T21:32:26.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-09-28T05:25:35.000Z (over 10 years ago)
- Last Synced: 2025-05-08T01:14:16.660Z (8 months ago)
- Language: Crystal
- Size: 152 KB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Crythtal
A lisp in [Crystal](http://crystal-lang.org).

Cues taken from:
- [Lispy tutorial](http://norvig.com/lispy.html), building a lisp in Python
- [Crisp](https://github.com/rhysd/Crisp), another lisp in Crystal
## About
#### Try it
```
$ crystal src/lisp.cr -- run
Lisp REPL (cntl-d to quit):
>
```
#### Goals
- Learn Crystal ✓
- Implement a dynamic language ✓
- Do something with lisp for once ✓
#### Non-goals
- Implement a full-featured, useful lisp ✗
## Todo
- [x] Parse strings
- [x] Build expressions
- [x] Evaluate expressions in bindings
- [x] Lazy eval (`if`)
- [x] Modify current scope (`define`)
- [x] Lists (`quote`)
- [x] REPL
- [x] Custom functions (`lambda`)
- [ ] Implement all those cool lisp-y list functions
- [ ] Follow [Lispy2](http://norvig.com/lispy2.html)