n/
← Back to the landing pageoo · Five-minute Quick Start

Run the merge from the landing page yourself

You do not need the whole specification first. Bring Git, a stable Rust toolchain, and a terminal; build oo from the v0.26.1 release, then converge two programs that each know only half.

Requires Git, a stable Rust toolchain, and a terminal.

01

Build the reference engine

Check out the same bare release the website verifies against. A tutorial should not drift silently with a development branch.

terminal · build oo v0.26.1
git clone https://github.com/co-nlang/nlang-tools.git cd nlang-tools git checkout v0.26.1 cargo build --release -p oo --bin oo ./target/release/oo --version
02

Write two independently valid programs

Put these files in the same directory. Both define server, and each contributes one compatible constraint.

Create file · server.n
server: { host: "127.0.0.1" }
Create file · deploy.n
server: { port: 8080 }
terminal · observe server
./target/release/oo run server.n deploy.n --observe server
Result
{ host: "127.0.0.1" port: 8080 }
03

Know the boundary between three entry points

The same engine has three common entry points. The difference is not syntax; it is whether this observation touches a local universe and its history.

oo eval

Ask one expression

The shortest immediate entry point, useful for checking one lattice operation.

oo run

Use a pure one-shot universe

Load one or more files together, observe, and exit without writing the local store.

oo evolve

Add constraints to a working universe

Place files in staged state, then use commit when you intend to solidify them into history.

The next step is not sequential

Read the specification for the promises behind each symbol. Stay in the engine repository for the CLI, tests, and the story of every development arc.