The hierarchy
Sense’s design starts from a small hierarchy of computational units, each one strictly more capable — and more autonomous — than the last:Function — bounded computation
Process — has a lifecycle, not necessarily a goal
session is Sense’s first taste of this: an
execution/context boundary rather than a plain function call. See
Sessions.
Agent — pursues something
An agent is an autonomous process that:- pursues an objective
- reasons over its own state
- selects actions
- operates within capabilities and policies
- observes outcomes and updates its state
agent in Sense — a genuine runtime entity with identity, state,
and (as of the current implementation) a real pause/resume lifecycle. See
Agents.
These are semantic foundations, not a claim that the final syntax will
always look this way. The hierarchy needed to be understood before syntax
was locked in, which is why Sense’s actual keywords (
fn-less function
declarations, session, agent) came late in the design process rather
than first.Deterministic and probabilistic computation
The other axis of Sense’s model is how certain a value is. Traditional languages have exactly one answer: everything is certain, because everything is computed. Sense needs a second lane:- Deterministic
- Probabilistic
ask(...) just return a plain string. Sense
deliberately doesn’t, because the entire point is to keep “I know this” and
“I inferred this with 50% confidence” visibly, structurally different —
forever, not just at the one call site where a programmer happened to
remember to check.
A declarative future, not built today
Every example on this site is procedural — you write the steps:Continue
Design order
Why syntax was decided last, and what that ordering protected against.
Model, Ask & Answer
The probabilistic half of the model, as it actually exists today.

