Skip to content

The language for chaining specialists.

ALF is a typed language for programs that connect compiled specialists. Each decision becomes a small specialist, each specialist runs under a contract, and systems become chains you can read.

Video
ALF explainer From writing code to chaining specialists

Programs you can read

Decisions, separate from permission.

ALF keeps the meaning of every value as it flows from one specialist to the next. It makes learned results explicit, keeps a decision apart from the permission to act on it, and gives every piece of state a visible beginning and end.

That is how a mission can stop at a clean edge: in 20 of 20 trials, a stopped mission halted cleanly at step 3 of 6.

examples/two_specialists.alf (excerpt)
language 0.1;

specialist account_relation(AccountPair) -> Relation {
    rule same when current == previous;
    otherwise different;
    holdout when current == 4 or current == 5;
    qualify exact;
}

chain composed(pair: AccountPair) -> Disposition {
    permit [];
    budget { calls: 2; actions: 0; steps: 96; }
    deadline_ms 1000;
    let first = infer account_relation(pair);
    ...
}

Bring us one model call, or one sensor.

We will compile a specialist for it and show you the result on your own hardware.

jacob@astrognosy.com