Colloq GitHub

Prior art and intended gap

Colloq should reuse existing work and earn every new abstraction. No single comparison below is a direct competitor; each solves part of the problem.

Area Examples What Colloq should learn or reuse Intended difference
Process calculi π-calculus, CSP Computation as communication; channel mobility; behavioral equivalence Compile the theory into AI-authored, content-addressed server conversations
Session types Binary and multiparty session types Typed sequences, choices, dual endpoints, global-to-local projection Add adaptive wire plans, tensors, capabilities, and governed evolution
Choreographic programming Choral, HasChor Write one global interaction and generate each endpoint Make the choreography the canonical machine-editable graph and runtime wire contract
Content-addressed languages Unison Definitions identified by syntax-tree content; names as metadata Extend content identity across distributed contracts, plans, and evolutionary history
Structural/live programming Hazel/Hazelnut Typed holes, meaningful incomplete programs, typed edit actions Make structural editing native to AI-authored distributed graphs
Fault-tolerant actors Erlang/OTP, Pony, Orleans Supervision, isolation, messaging, capabilities Tensor-aware placement, data movement, and evolutionary contracts
Protocol languages P Asynchronous state machines and systematic distributed-protocol testing Integrate protocol behavior with placement, resources, content identity, and evolution
Distributed/HPC languages Chapel, Legion, Regent, MPI Locality, partitioning, collectives, performance models AI-specific types plus persistent, changing service graphs
AI compiler IRs MLIR, StableHLO, IREE Progressive lowering and hardware portability Communication, deployment, failure, and evolution as program semantics
AI distribution PyTorch DTensor, JAX sharding, XLA SPMD Logical tensors, meshes, automatic collective insertion Extend beyond one model graph into the surrounding server system
GPU/server communication NCCL, NVSHMEM, UCX, libfabric Optimized transports and collective implementations Compile declarative constraints into these mechanisms
RPC and schemas gRPC/Protobuf, Cap'n Proto, FlatBuffers Versioned schemas and efficient encoding Streams with placement, effects, bulk tensors, and runtime planning
Dataflow systems Ray, Flink, Naiad/Timely Dataflow Distributed scheduling, backpressure, state, recovery A compiled language with explicit effects and governed program variation
Local-first collaboration Automerge Convergent change history and transport-independent document synchronization Require a conflict-rejecting Colloq promotion gate before draft state becomes executable meaning
Peer connectivity Iroh Stable endpoint keys, encrypted QUIC streams, direct connections, discovery, and relay fallback Bind authenticated connectivity to Colloq plans, roles, encodings, and governed authorization
Service orchestration Kubernetes, Nomad Resource inventory, isolation, lifecycle management Semantic knowledge of models, tensors, streams, and evaluation gates
Application deployment Miren Build, placement, restart, overlay networking, and workload identity Treat deployment as a replaceable adapter for identified Colloq endpoint plans
Programmable networks P4, eBPF Safe specialization close to the data plane An optional lowering target rather than the application language itself
Agent protocols MCP, A2A Capability discovery and higher-level interoperability Colloq targets execution and data movement inside distributed AI systems
Equality graphs egg, egglog Represent many equivalent programs and extract by cost Separate proved/validated optimization from behavior-changing evolution

The proposed gap

Colloq's intended contribution is the combination of:

  • a typed distributed program spanning model and service boundaries;
  • first-class cost and failure semantics for communication;
  • topology-aware compilation into existing runtimes and transports;
  • a canonical representation designed for safe machine-authored change;
  • governed evolution with provenance, evaluation, rollout, and rollback.

If this combination can be expressed cleanly as libraries and configuration in an existing language, a new language is unnecessary. The prototype roadmap is designed to test that possibility early.

Starting references

Edit this page on GitHub