package

github.com/rhysd/Crisp

master / published Mar 15, 2023 / repository

Crisp is a Lisp dialect implemented with Crystal.

Crisp

CI

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.

screenshot

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)
  • New language features using Crystal's semantics
    • [ ] Algebraic data type
    • ...

Installation

  1. Install crystal command
  2. Run shards install for installing dependencies
  3. Run crystal build /path/to/Crisp/crisp.cr to build an executable (add --release for the release build)
  4. 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

API