From pi-Calculus to Causal Categories: Interpreters as Functors
When we say everything is a stream, we are not inventing a one-off metaphor. We are landing in a well-studied family of formalisms: process calculi, causal models, and categorical semantics.
Process Calculus: Computation as Interaction
pi-calculus models systems as communicating processes. The primitive is not mutable object state. The primitive is interaction over channels.
Datom streams can encode those interactions directly as event records.
[e a v t m]
Read as:
entity e emitted/observed value v on channel a
at transaction t with metadata context mThis gives a concrete stream representation for communication histories.
Causal Categories: Histories as Structured Morphisms
Category-oriented treatments of processes model systems as objects and transformations as morphisms, constrained by causal composition.
A datom stream is compatible with this view: each appended event composes into a larger causal history.
d1 ; d2 ; d3 ...
History is composition under causal constraintsInterpreters as Functors
Given one datom history, different interpreters construct different structures:
- Graph interpreter -> knowledge graph
- Ledger interpreter -> account/balance projection
- Runtime interpreter -> continuation/state projection
Category language captures this cleanly: an interpreter is functor-like, preserving enough source structure while mapping into a target semantic domain.
Knowledge Representation Connection
RDF triples and Datomic datoms are nearby points in the same design space. Datom.world extends this line with explicit stream-local time and metadata references as first-class causal coordinates.
That extension matters because distributed systems need provenance, partial order, and interpretation boundaries without hidden global state.
Why This Matters for Architecture
- Interaction-first models avoid implicit control flow
- Causal history is explicit and queryable
- Multiple semantics can coexist over one immutable substrate
This is the same invariant Datom.world enforces: fixed tuple substrate, explicit causality, interpreter-defined meaning.
Conclusion
A concise statement is: Datom.world is an interaction calculus with a causal event substrate.
That is why it aligns with distributed systems, category-theoretic database ideas, and physics-inspired event models without collapsing them into one theory.
Related Reading: