1.3 KiB
1.3 KiB
u6a
Implementation of Unlambda, an esoteric programming language.
Description
The u6a project provides a C implementation of the Unlambda programming language, where Unlambda source code can be compiled into bytecode and executed in a virtual machine.
Ideas behind this implementation can be found here.
Requirements
- A POSIX-compliant operating system
- GNU Autotools
- GNU Make
- A C compiler (with C99 support)
Build
# (If not already) Install the required build tools.
sudo apt install build-essential automake
# Generate configure files.
autoreconf --install
# Run configure script with desired options.
./configure --prefix=$HOME
# Compile sources and generate executables.
make
# (Optional) Run tests.
make check
# (Optional) Install executables and man pages.
make install
Usage
First, compile an Unlambda source file into bytecode.
u6ac -o foo.unl.bc foo.unl
Then, execute the bytecode file with the interpreter.
u6a foo.unl.bc
See u6ac(1) and u6a(1) man pages for details.
TODOs
u6adb
- An interactive debugger for Unlambda- More compile-time optimizations