JAPL is a typed actor language designed from first principles. These papers document the rationale behind each core decision — from typed processes and supervision to LLM effects and distribution.
Seven papers covering JAPL's type system, ownership model, concurrency, error handling, distribution, composition, and runtime.
Immutable data, algebraic types, and pattern matching.
View PDF → IILinear types, ownership, confined mutability.
View PDF → IIILightweight processes, typed messages, supervision.
View PDF → IVError values, result types, recovery strategies.
View PDF → VLocation-transparent processes, typed protocols.
View PDF → VIPipelines, higher-order functions, algebraic effects.
View PDF → VIIMinimal runtime, compile-time reasoning.
View PDF →JAPL's design is informed by category theory and a biological analogy for type classification.
JAPL's type system is grounded in the insight from the Yoneda lemma: an object is fully characterized by its relationships to all other objects. In practice, this means a type in JAPL is defined by how it can be constructed, destructured, and transformed -- not by an internal representation. This principle drives the design of algebraic data types, pattern matching, and trait-based polymorphism throughout the language.
JAPL maps biological DNA classifications to programming language constructs, revealing structural parallels between genetic systems and type systems.