Tools
The iris CLI
The IRIS command-line tool is your primary interface. One binary handles running, checking, evolving, and deploying programs.
| Command | Description |
|---|---|
iris run |
Execute an IRIS program |
iris solve |
Evolve a solution from a specification |
iris daemon |
Run the self-improving daemon |
iris check |
Type-check correctness obligations |
iris repl |
Interactive REPL |
iris deploy |
Generate standalone Rust source |
Run a Program
iris run programs/algorithms/factorial.iris 10
# Output: 3628800
Type-Check
Verify correctness obligations without executing:
iris check programs/interpreter/full_interpreter.iris
# [OK] full_interpret: 124/124 obligations satisfied (score: 1.00)
Evolve a Solution
Provide a specification and let IRIS breed a correct implementation:
iris solve spec.iris
Interactive REPL
iris repl
Self-Improving Daemon
Run continuous self-improvement with stagnation detection:
iris daemon 100
Deploy
Generate standalone Rust source:
iris deploy programs/algorithms/factorial.iris -o factorial.rs
# Compile the output with: rustc --edition 2021 -O factorial.rs -o factorial
Build from Source
IRIS is a Rust workspace. Building is straightforward:
# Clone
git clone https://github.com/boj/iris.git
cd iris
# Build (release mode recommended)
cargo build --release
# Run the test suite
cargo test -p iris-types -p iris-bootstrap -p iris-exec --release
cargo test --test test_effects --test test_security --test test_bootstrap_effects --test test_capability_wiring --release
System Requirements
- Rust 1.75+
- C compiler (for CLCU library)
- x86-64 (for AVX-512 CLCU features)
Crate Structure
The workspace is organized into 5 focused crates:
| Crate | Description |
|---|---|
iris-types |
SemanticGraph, types, values, wire format |
iris-bootstrap |
Bootstrap evaluator + syntax pipeline + LCF proof kernel |
iris-exec |
Execution shim: capabilities, effect runtime, service |
iris-evolve |
Evolution engine, self-improvement daemon |
iris-clcu-sys |
FFI bindings to C CLCU interpreter |
Benchmarks
IRIS implements all 10 programs from the Computer Language Benchmarks Game:
| Benchmark | Description | IRIS Approach |
|---|---|---|
| n-body | Planetary orbit simulation | Float64 math, fold, tuples, cross-fragment calls |
| spectral-norm | Spectral norm of infinite matrix | Float64, fold, list_nth |
| fannkuch-redux | Pancake flipping puzzle | Integer lists, fold, list_take/drop/append |
| binary-trees | Tree allocation + checksum | pow, map, fold, list_range |
| fasta | DNA sequence generation | String ops, fold, LCG random |
| reverse-complement | DNA reverse complement | String ops, fold, str_eq, str_slice |
| k-nucleotide | DNA subsequence frequencies | str_slice, fold, map_insert/get |
| pidigits | Compute pi digits | Integer arithmetic, Machin’s formula |
| regex-redux | DNA pattern matching | str_contains, str_replace (no regex engine) |
| thread-ring | Token passing ring | fold, modular arithmetic |
Run the benchmarks
# All 10 benchmarks
cargo test --release --test test_benchmarks_game
# Individual benchmark
iris run benchmark/n-body/n-body.iris