kernel
The arrow-calculus substrate: language schema, tagged values, extension ABI, floor libs.
What it is
The kernel is the platform's smallest layer (ADR-0040): the Language data schema and staged lex/parse/eval dispatch signatures (ADR-0044, language as data), the tagged Value representation the engines share, the dynamic extension ABI (hnl extensions, ADR-0149), and the handl-lib-* floor packages.
What is not kernel: engines, emitters, kits, plugins and hosts. They live in the engine-*, kit-* and host repos and depend on the kernel, never the reverse.
Modules
crates/handl-language— theLanguageschema + staged lex/parse/eval dispatch signaturescrates/handl-value— the taggedValuerepresentation shared by enginescrates/handl-ext— the shared ABI for dynamichnlextensions (ADR-0149)crates/defining-handl— self-hosting infrastructure (ADR-0044 phase 8)crates/{bytes,cmp,combinators,error,mood,obj,ops,prim,prim-handl,type}— thehandl-lib-*substrate packages
Start here
- Reference — public API
- How-to — task recipes
- Explanation — design and rationale
No tutorials: this repo is a building block used from Rust. End-to-end walkthroughs live with the product that composes it — see the Handl platform.