CismonX 14feba7b2f | ||
---|---|---|
man | ||
src | ||
tests | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
Makefile.am | ||
README.md | ||
configure.ac |
README.md
u6a
Implementation of Unlambda, an esoteric programming language.
Description
The u6a project provides a bytecode compiler and a runtime system for the Unlambda programming language.
Ideas behind this implementation can be found here.
Getting Started
Building:
# (If not already) Install the required build tools.
sudo apt install build-essential automake
# (If you want to run tests) Install DejaGnu.
sudo apt install dejagnu
# Generate configuration script.
autoreconf --install
# Execute configuration script with desired options.
./configure --prefix=$HOME
# Compile source code and generate executables.
make
# (Optional) Run tests.
make check
# (Optional) Install executables and man pages.
make install
Usage:
# Compile an Unlambda source file into bytecode.
u6ac -o foo.unl.bc foo.unl
# Execute the bytecode file.
u6a foo.unl.bc
See u6ac(1) and u6a(1) man pages for details.
Future Plans
- Interactive debugger:
u6adb
- More compile-time optimizations
- More test cases
- LLVM backend for
u6ac