habedi/element-0
A small embeddable Lisp for the Zig ecosystem λ
v0.1.0.tar.gz
Element 0 is a Lisp dialect implemented in the Zig programming language.
It is inspired by Scheme and aims to be compliant with
the R5RS standard to a large extent.
The main goal of Element 0 is to provide a lightweight, embeddable Lisp interpreter (named elz
) that can be easily
integrated into Zig applications as a scripting engine, as well as a standalone interactive read-eval-print-loop (REPL).
Additionally, it comes with a foreign function interface (FFI) API that lets you call Zig procedures from Lisp code and
vice versa.
See the ROADMAP.md for the list of implemented and planned features.
IMPORTANT Element 0 is in early development, so bugs and breaking changes are expected. Please use the issues page to report bugs or request features.
Element 0 is implemented in Zig 0.14.1 and needs at least Zig 0.14.1 to build.
git clone https://github.com/habedi/element-0.git
cd element-0
zig build repl
You can find the full API documentation for the latest release of Element 0 here.
Alternatively, you can use the make docs
command to generate the API documentation for the current version of
Element 0 from the source code.
This will generate HTML documentation in the docs/api
directory, which you can serve locally with make serve-docs
and view in your web browser at http://localhost:8000.
Check out the examples directory for various usage examples, including both Element 0 code and Zig FFI examples.
See CONTRIBUTING.md for details on how to make a contribution.
Element 0 is licensed under the Apache License, Version 2.0 (see LICENSE).