Skip to content

elh/mal-arkey

Repository files navigation

mal-arkey - "Make a Lisp" in Go

CI Go Report Card

Mal is a Clojure inspired Lisp interpreter

Mal-arkey is a complete Mal implementation in Go aiming for readability and simplicity. It passes all non-optional tests and can self-host Mal.

> make repl
Mal [Mal-arkey]
user> (defmacro! when (fn* [test & body] `(if ~test (do ~@body))))
#<function>
user> (let* [name "Mal-arkey"] (when (not (nil? name)) (println "Begin" (str name "!"))))
Begin Mal-arkey!
nil

Usage

  • make repl to start a Mal-arkey REPL.
  • make bin to build binaries that can be copied into the kanaka/mal test harness. My setup is at elh/mal.

About

Self-hosting "Make a Lisp" Lisp in Go

Topics

Resources

License

Stars

Watchers

Forks