My WIP Lisp implementation, used to try out ideas and better understand the design decisions involved in creating languages.
Haskell NewLisp
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lisp
old clojure version
src
.gitignore
Setup.hs
license
lisp.cabal
readme.md
stack.yaml
usage.txt

readme.md

Lisp

My WIP Lisp implementation, used to try out ideas and better understand the design decisions involved in creating languages. The primary design goal is a simple, minimal and readable core. Implementation is explained on my blog.

Currently supported features:

  • Haskeline-based REPL
  • Error messages
  • Enviroment inspection: (env)
  • Require-ing other files
  • Macro's
  • Lamda shorthand: #{* 2 %}
  • Variable arguments

Planned features:

  • Comments
  • Even smaller core

Try it

$ git clone https://github.com/reinvdwoerd/lisp
$ cd ./lisp
$ stack install
$ stack exec lisp

lisp=> (require lisp/core)