You know what the world needs? Another Lisp. I wrote this one in C++17 and haven't figured out why it exists yet. It consists of three files:
- read.hpp reads lisp data into C++ data structures. It supports the four Clojure data structure literals:
std::unordered_set. It has no dependencies so it can be easily used on its own as a dead simple edn reader.
- eval.hpp takes the result of
zachlisp::readand evaluates it using ChaiScript.
- print.hpp takes the result of
zachlisp::evaland prints it back into lisp syntax.
In repl.cpp they are combined to create an interactive REPL.
On Linux, run
./repl.sh. On Windows, install Scoop, and then in PowerShell run
scoop install gcc and
All files that originate from this project are dedicated to the public domain. I would love pull requests, and will assume that they are also dedicated to the public domain.