LEXY: tiny, made up lisp
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.
Table of Contents
Significant improvements
- code modularization
- new math-related builtin functions such as
pow,sqrtandmod - constant and dynamic variables (
letcandletrespectively)
Getting started
Build requirements
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-dev
Compiling from source
Just make. The binary will be available at the project's root directory.
Installing & Uninstalling
To install, just use:
To uninstall:
Running in Docker
If you'd prefer to use Docker, you can build the image locally and run interactively.
$ docker build -t lexy .
$ docker run -it lexyRoadmap
Expected 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