Crisp
Crisp is one of Lisp dialect which is based on mal and implemented with Crystal. This project is a toy box for my dynamic language ideas.
So Many Tasks
- Refactorings
- [ ] Make
is_a?
guards more elegant - [ ] Import test cases from Mal
- [x] Add CI
- [x] More OOP (
evaluator
, remove global variable, move states into object) - [x] Use standard
readline
implementation - [ ] Better lexer and parser
- [ ] Add examples
- [ ] More convenient REPL (e.g. completion)
- [ ] Make
- New language features using Crystal's semantics
- [ ] Algebraic data type
- ...
Installation
- Install
crystal
command - Run
shards install
for installing dependencies - Run
crystal build /path/to/Crisp/crisp.cr
to build an executable (add--release
for the release build) - Put the built
crisp
executable in a$PATH
directory
Examples
Please see mal test cases for now.
Development Environment
- macOS or Linux
- Crystal 0.33.0 or later
License
Distributed under the MIT License.
Copyright (c) 2015 rhysd