/Crisp

Lisp dialect implemented with Crystal

Primary LanguageCrystalMIT LicenseMIT

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
    • Add CI
    • More OOP (evaluator, remove global variable, move states into object)
    • 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