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 m

This 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 constraints

Interpreters 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: