Awesome
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
,sqrt
andmod
- constant and dynamic variables (
letc
andlet
respectively)
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:
sudo make install
To uninstall:
sudo make 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 lexy
Roadmap
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