Getting Started
Install
IRIS is built with Rust. You’ll need a recent Rust toolchain (1.75+).
# Clone the repository
git clone https://github.com/boj/iris.git
cd iris
# Build in release mode
cargo build --release
The iris binary will be at target/release/iris.
Run a Program
IRIS ships with a library of example programs. Try running the factorial example:
cargo run --release --bin iris -- run programs/algorithms/factorial.iris 10
# Output: 3628800
Or Fibonacci:
cargo run --release --bin iris -- run programs/algorithms/fibonacci.iris 10
# Output: 55
Write Your First Program
Create a file called hello.iris:
-- Greatest common divisor
let rec gcd a b : Int -> Int -> Int [cost: Unknown] =
if b == 0 then a
else gcd b (a % b)
Run it:
cargo run --release --bin iris -- run hello.iris 48 18
# Output: 6
Interactive REPL
cargo run --release --bin iris -- repl
Type-Check a Program
Verify a program’s correctness obligations:
cargo run --release --bin iris -- check programs/interpreter/full_interpreter.iris
# Output: [OK] full_interpret: 124/124 obligations satisfied (score: 1.00)
Evolve a Solution
Give IRIS a specification and let it evolve a solution:
cargo run --release --bin iris -- solve spec.iris
Self-Improving Daemon
Run the daemon that continuously improves IRIS’s own components (works in default build):
cargo run --release --bin iris -- daemon 100
The daemon profiles each component, evolves replacements, gates them for correctness and performance, and hot-swaps improvements automatically.
What’s Next
- Read the Language Guide for full syntax reference
- Explore the Standard Library
- Understand the Architecture