Lona: LISP Machines Never Died. They Evolved.
https://lona.systems
- Rust 94.1%
- Python 3.9%
- Makefile 1.7%
- Dockerfile 0.2%
Replace the boxed Value enum with BEAM-style tagged Term words for more efficient memory representation and alignment with BEAM VM semantics. This implements the term representation specification from docs/architecture/term-representation.md. Key changes: - New term module with primary/secondary tag system - Immediate values for small integers, atoms, keywords, nil, booleans - Boxed pointers for heap-allocated objects - Realm-level symbol table for efficient interning - Updated compiler, VM, intrinsics to use Term API - Replaced single review agent with 7 specialized reviewers |
||
|---|---|---|
| .cargo | ||
| .claude | ||
| .github/workflows | ||
| crates | ||
| docker | ||
| docs | ||
| lib/lona | ||
| scripts | ||
| targets | ||
| tests | ||
| tools/lona_dev_repl | ||
| .dockerignore | ||
| .gitignore | ||
| .mcp.json | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CLAUDE.md | ||
| Makefile | ||
| mkdocs.yaml | ||
| README.md | ||
| requirements.txt | ||
| rust-toolchain.toml | ||
Lona
A capability-secure operating system built on seL4, combining BEAM-style lightweight processes with a Clojure-inspired LISP dialect.
Quick Start
Prerequisites
- Docker (for cross-compilation and OS image builds)
- Make
- Python 3.11+ (for MCP development tools)
Build OS Images
make x86_64 # Build x86_64 release image
make aarch64 # Build aarch64 release image
Images are output to dist/<arch>/ ready for deployment.
Run in QEMU
make run-x86_64 # Run x86_64 image in QEMU
make run-aarch64 # Run aarch64 image in QEMU
Verify
make verify # Run all checks (format, clippy, test, integration-test)
Clean
make clean # Remove all build artifacts
All Make Targets
| Target | Description |
|---|---|
format |
Check code formatting |
clippy |
Run lints |
test |
Run tests with 60% coverage requirement |
env |
Build Docker build environment |
x86_64 |
Build x86_64 release image |
aarch64 |
Build aarch64 release image |
run-x86_64 |
Run x86_64 in QEMU |
run-aarch64 |
Run aarch64 in QEMU |
x86_64-test |
Build and run E2E tests for x86_64 |
aarch64-test |
Build and run E2E tests for aarch64 |
integration-test |
Run E2E tests for all architectures |
verify |
Run all checks including integration tests |
venv |
Create Python virtual environment for MCP tools |
mcp |
Run MCP development REPL server |
clean |
Remove Rust build cache |
Documentation
See docs/ for detailed specifications:
concept.md- System architecturelonala.md- Language specificationlonala-process.md- Process primitiveslonala-kernel.md- seL4 operationslonala-io.md- Device driver primitives
License
Copyright 2026 Tobias Sarnowski
This project is licensed under the GNU General Public License v3.0 or later — see docs/license.md for details.