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