This is the source code repository of lexy, a tiny implementation of a
Lisp-like language. It contains the interpreter, the REPL, the standard library
as well the documentation.
The original implementation has been made upon the guidance of the Build Your Own Lisp book.
- code modularization
- new math-related builtin functions such as
pow,sqrtandmod - constant and dynamic variables (
letcandletrespectively)
gcc and make are required to compile. Additionally, the editline headers
are used by lexy. In Debian-based systems, the following command should install
all the necessary packages:
$ sudo apt-get install -y build-essential libedit-devJust make. The binary will be available at the project's root directory.
To install, just use:
sudo make installTo uninstall:
sudo make uninstallIf you'd prefer to use Docker, you can build the image locally and run interactively.
$ docker build -t lexy .
$ docker run -it lexyExpected improvements until the next release (v0.1.0):
- Proper modules support
- Hash table powered symbol lookup
- Hashmap built-in type
- Hashmap operations
- Expand standard library
- Command-line arguments (help, eval string etc)
- Receive arguments from the shell
- REPL improvements (colors, keywords)
- Tests