Skip to content

ADR index — Handl Language ​

Decision records aggregated across the product's public repos. The canonical registry is host/project/adrs/INDEX.md (on the host repo's project branch); this page is the published cross-repo view. Generated by docs/scripts/gen-docs-index.py. status and date are read from each record's frontmatter (ADR-0163).

host ​

#titlestatusdatefile
0001Host Bundlesaccepted2026-08-24project/adrs/0001-host-bundles.md
0001Library crates are exposed as Platform pluginsaccepted2026-08-29project/adrs/0001-library-crates-are-platform-plugins.md
0001ADR-0001 (Remaining): Canonical Token/Grammar/Value Plugin Cleanupproposed2026-09-02project/adrs/archived/0001-generic-node-and-plugin-driven-canonical-kit-remaining-archived.md
0001Generic Node, Trait-Based Capabilities, and Plugin-Driven Canonical Kitaccepted2026-08-29project/adrs/archived/0001-generic-node-and-plugin-driven-canonical-kit.md
0002ADR-0002 (Remaining): Plugin Library Conversion and Module Abstractionproposed2026-08-29project/adrs/0002-handl-platform-composable-host-remaining.md
0002Platform is agnostic of language-specific pluginsaccepted2026-08-29project/adrs/0002-platform-is-agnostic.md
0002ADR-0002 (Archived v1): Single Plugin Model — Core Architectureaccepted2026-09-02project/adrs/archived/0002-handl-platform-composable-host-v1-complete.md
0002Single Plugin Model for Host, Operations, Libraries, Targets, and Optionsaccepted2026-08-29project/adrs/archived/0002-handl-platform-composable-host.md
0006Parametric Polymorphism (Generics) for handl Type Systemimplemented2026-08-29project/adrs/archived/0006-generics.md
0009Strategy C — Runtime Module Loading as Handler-Interpreted Opsproposed2026-10-16project/adrs/0009-strategy-c-runtime-module-loading.md
0009Type generation from handl field declarationsaccepted2026-08-29project/adrs/archived/0009-typegen-json-schema.md
0010Package Manager: Content-Addressed, Diff-Based, Composable Storesproposed2026-08-24project/adrs/0010-package-manager.md
0012Versioning for Language Artifactssuperseded2026-08-24project/adrs/0012-versioning.md
0014handl Formatterproposed2026-08-24project/adrs/0014-formatter.md
0015Linterproposed2026-08-24project/adrs/0015-linter.md
0022Lexer Architecture: Self-Hosted Streaming with Runtime Configproposed2026-08-24project/adrs/0022-lexer-architecture.md
0023Modular AST: ast-common and handl-astsuperseded2026-08-24project/adrs/0023-modular-ast-common.md
0024Agnostic parser engine: handl-parser-common and handl-parser-canonical on topaccepted2026-08-24project/adrs/0024-parser-common.md
0027VM Crate Restructuresuperseded2026-08-24project/adrs/0027-vm-crate-restructure.md
0028Pluggable Module Compositionproposed2026-08-24project/adrs/0028-pluggable-module-composition.md
0030lib-lang — Expose the Handl language as a reusable librarysuperseded2026-08-24project/adrs/0030-lib-lang.md
0031Platform Abstractionsproposed2026-08-25project/adrs/0031-platform-abstractions.md
0032ADR-0032 (Archived v1): Types are Values — Universe Levels and Core Type Systemaccepted2026-09-02project/adrs/archived/0032-types-as-values-v1-complete.md
0032Types are values, runtime and typechecker share one value spaceaccepted2026-08-29project/adrs/archived/0032-types-as-values.md
0033Unified Plugin Crate Namingaccepted2026-08-29project/adrs/archived/0033-unified-plugin-crate-naming.md
0034Zero-Monolith, Plugin-Driven Platformaccepted2026-08-29project/adrs/archived/0034-zero-monolith-plugin-driven-platform.md
0035Loaders as Abstract Pluginsproposed2026-08-29project/adrs/0035-loaders-as-plugins.md
0036Host Applier as a Pluginaccepted2026-08-29project/adrs/0036-host-applier-as-plugin.md
0037Plugin Resolution and Excludesproposed2026-08-29project/adrs/0037-plugin-resolution-and-excludes.md
0038Ignored Test Inventory and Triageaccepted2026-08-29project/adrs/0038-ignored-test-inventory-and-triage.md
0039Kits Are Curated Plugin Lists, Not Implementationsproposed2026-09-02project/adrs/0039-kits-are-curated-plugin-lists.md
0040VM is an Operation, Not a Subsystemaccepted2026-09-02project/adrs/0040-vm-is-an-operation-not-a-subsystem.md
0041Languages as First-Class Valuesproposed2026-09-02project/adrs/0041-languages-as-first-class-values.md
0042Transformations as First-Class Valuesproposed2026-09-02project/adrs/0042-transformations-as-first-class-values.md
0043Proofs as First-Class Valuesproposed2026-09-02project/adrs/0043-proofs-as-first-class-values.md
0044Language as Data and Runtime Splitaccepted2026-09-02project/adrs/0044-language-as-data-and-runtime-split.md
0046Capability Discipline at the Language Levelproposed2026-08-30project/adrs/0046-capability-discipline-at-the-language-level.md
0047Meta Functions as plugin-lib-* Cratesaccepted2026-09-02project/adrs/0047-meta-functions-as-plugin-lib-crates.md
0048Modules as First-Class Valuessuperseded2026-09-02project/adrs/0048-modules-as-first-class-values.md
0049Modules are Evaluated Environmentsproposed2026-09-02project/adrs/0049-modules-are-evaluated-environments.md
0050Plugin System in Handlproposed2026-09-02project/adrs/0050-plugin-system-in-handl.md
0051ffi-rust — Generic Rust Binding Façadesuperseded2026-09-02project/adrs/0051-ffi-rust-binding-facade.md
0052Arrow Calculus Kernelaccepted2026-08-31project/adrs/0052-arrow-calculus-kernel.md
0053Generic Pratt Parser — Grammar Data Replaces Per-Construct Branchesproposed2026-09-02project/adrs/0053-generic-pratt-parser.md
0054Generic Typecheck Engine (plugin-engine-typecheck + plugin-engine-typecheck-nbe)accepted2026-09-01project/adrs/0054-generic-typecheck-engine.md
0055Tagged Valuesaccepted2026-09-01project/adrs/0055-branded-values.md
0056Import / Export and Multi-File Programsproposed2026-09-02project/adrs/0056-import-export-and-multi-file-programs.md
0058Generic Data-Driven Enginesaccepted2026-09-01project/adrs/0058-generic-data-driven-engines.md
0059Generic Object Key Evaluationproposed2026-09-02project/adrs/0059-generic-object-key-evaluation.md
0060Generic Call Dispatchproposed2026-09-01project/adrs/0060-generic-call-dispatch.md
0061Generic Pattern Matchaccepted2026-09-01project/adrs/0061-generic-pattern-match.md
0063Scheme-Core Completeness for Self-Hostingproposed2026-09-02project/adrs/0063-scheme-core-completeness.md
0064Computational Language Authoringproposed2026-09-02project/adrs/0064-computational-language-authoring.md
0065Derived-Artifact Cache and Compressionproposed2026-09-02project/adrs/0065-derived-artifact-cache-and-compression.md
0066Dependency-Graph Chunkingproposed2026-09-02project/adrs/0066-dependency-graph-chunking.md
0067Chunk Certificatesproposed2026-09-02project/adrs/0067-chunk-certificates.md
0069Arrow-Native Modulesaccepted2026-09-01project/adrs/0069-arrow-native-modules.md
0070Refinement Inference Scope — Deterministic Dataflowaccepted2026-09-01project/adrs/0070-refinement-inference-scope.md
0072Concurrent Arrow Calculusaccepted2026-09-01project/adrs/0072-concurrent-arrow-calculus.md
0077Stdlib Migration to Handl — op Declarations, Axioms, and the Elimination of Per-Library Rustaccepted2026-09-03project/adrs/0077-stdlib-migration-to-handl.md
0081Data-Driven AST Child Roles — Closing the Last Engine Hardcodingaccepted2026-09-04project/adrs/0081-data-driven-ast-child-roles.md
0083FFI-Native Stdlib — Handl over Direct C/POSIX Bindingsaccepted2026-09-04project/adrs/0083-ffi-native-stdlib.md
0083Flatten handl-packages/ Layoutaccepted2026-09-04project/adrs/archived/0083-flatten-handl-packages-layout.md
0085Bootstrap Tooling Strategy — Rust Tooling on the Generic Substrateimplemented2026-10-15project/adrs/0085-bootstrap-tooling-strategy.md
0086Bootstrap Formatter (plugin-ext-fmt)implemented2026-10-15project/adrs/0086-bootstrap-formatter.md
0087Bootstrap Linter (plugin-ext-lint)implemented2026-10-15project/adrs/0087-bootstrap-linter.md
0088Bootstrap Typechecker (plugin-engine-typecheck)implemented2026-10-15project/adrs/0088-bootstrap-typechecker.md
0089Bootstrap Test Runner (plugin-engine-test)implemented2026-10-15project/adrs/0089-bootstrap-test-runner.md
0090Bootstrap CLI (host-cli)implemented2026-10-15project/adrs/0090-bootstrap-cli.md
0091Shared Diagnostics Crate (plugin-ext-diag)implemented2026-10-15project/adrs/0091-plugin-ext-diag.md
0092Test Framework in Handlimplemented2026-09-05project/adrs/0092-test-framework-in-handl.md
0093String / Char / Unicode Layeringaccepted2026-09-07project/adrs/0093-string-char-unicode-layering.md
0094Generic AST Transform Engine (plugin-engine-transform + plugin-engine-transform-rewrite)accepted2026-09-06project/adrs/0094-generic-ast-transform-engine.md
0095Formatter as a Production Pipelineproposed2026-09-08project/adrs/0095-formatter-as-production-pipeline.md
0096Module Resolution — Path-Based Imports + .handl.toml Path Dependenciesaccepted2026-09-08project/adrs/0096-module-resolution.md
0097Lint Rules as Language Dataaccepted2026-09-08project/adrs/0097-lint-rules-as-data.md
0098One Language, Multiple Interpreters — A Graded Arrow Calculusproposed2026-09-08project/adrs/0098-one-language-multiple-interpreters.md
0099Principled Boundaries Between plugin-engine-* and plugin-ext-* Cratesproposed2026-09-08project/adrs/0099-plugin-engine-vs-ext-crate-boundaries.md
0100Canonical Term Arrowsproposed2026-09-14project/adrs/0100-canonical-term-arrows.md
0100The Directed-HoTT Limit of the Term Calculusproposed2026-09-08project/adrs/0100-directed-hott-limit.md
0100Wiring .hnl modules into HandlNativeLint and HandlNativeRewriteproposed2026-09-14project/adrs/0100-handl-natives-wire.md
0103The Kernel Is the Evaluator, Not the Calculusaccepted2026-09-10project/adrs/0103-kernel-is-evaluator-not-calculus.md
0104Minimal Term Core with Generic Combinatorsproposed2026-09-09project/adrs/0104b-minimal-term-core.md
0105Typechecker in Handlaccepted2026-09-10project/adrs/0105-typechecker-in-handl.md
0106The Object-Arrow Kernelaccepted2026-09-11project/adrs/0106-object-arrow-kernel.md
0107Handl SDK Generatoraccepted2026-09-13project/adrs/0107-handl-sdk-generator.md
0114Handl Compile Plugin Architectureproposed2026-09-14project/adrs/0114-handl-compile-plugin-architecture.md
0120Paper/Implementation Alignmentaccepted2026-09-18project/adrs/0120-paper-implementation-alignment.md
0123AST shape faces — closing the last kind-dispatch sitesaccepted2026-10-10project/adrs/0123-ast-shape-faces.md
0124Handing a Language to capability pluginsproposed2026-10-10project/adrs/0124-capability-language-handoff.md
0126Kernel boundary, and the idea ledger for retired reificationsaccepted2026-10-12project/adrs/0126-kernel-boundary-and-the-idea-ledger.md
0127TransformRule::Replace — a rule form for root-eliminating rewritesaccepted2026-10-15project/adrs/0127-transform-rule-replace.md
0128Target Repos — Repo = Target, Module = One Port Implementationproposed2026-10-15project/adrs/0128-target-repos.md
0129Project-docs topology for the target-repo splitaccepted2026-10-15project/adrs/0129-project-docs-topology.md
0147Lower the while state fold to Loop + explicit protocol opsaccepted2026-10-17project/adrs/0147-lowering-state-fold-while.md
0148Lower call/dimension application to App termsaccepted2026-10-17project/adrs/0148-lower-call-application.md
0149host-cli is a dumb host; ext-* extensions load dynamicallyaccepted2026-10-17project/adrs/0149-dynamic-extension-host.md
0150Repo visibility is derived from the dep closure, not chosen per-repoaccepted2026-10-21project/adrs/0150-visibility-closure-model.md
0151Exec erases type annotations — signatures are typecheck-owned metadataaccepted2026-10-21project/adrs/0151-exec-erases-type-annotations.md
0152data is a nominal former + constructor arrows + dependent eliminatoraccepted2026-10-21project/adrs/0152-data-nominal-inductive-families.md
0153~[n]~> is a dimension index — n-cells as one indexed formeraccepted2026-10-22project/adrs/0153-grades-as-arrow-indices.md
0154Typecheck semantics — identity, equality, universes, literals, erasureaccepted2026-10-22project/adrs/0154-typecheck-semantics.md
0155Scope-Bound Arrow Environmentslanded2026-10-22project/adrs/0155-scope-bound-arrow-environments.md
0156Module environments are parameters, not construction stateproposed2026-10-21project/adrs/0156-module-env-as-parameter.md
0157mlopt on the fragment tower — domain vocabularies as Language fragmentsproposed2026-10-24project/adrs/0157-mlopt-on-fragment-tower.md
0158Effect resumption semantics — perform/handle as algebra homomorphisms on free arrow-algebrasproposed2026-10-25project/adrs/0158-effect-resumption-semantics.md
0159Optimizer domains dissolve into ext tools, on a triggerproposed2026-10-27project/adrs/0159-opt-domains-dissolve-into-ext-tools.md
0160lib-* repos are language packages, not cratesproposed2026-10-28project/adrs/0160-lib-repos-are-language-packages.md
0161An ADR is a one-page decision recordaccepted2026-10-28project/adrs/0161-adr-is-a-one-page-decision.md
0162project/ holds process artifacts; published docs live in the org docs/accepted2026-10-28project/adrs/0162-project-folder-taxonomy.md
0163Every project/ artifact declares its metadata in YAML frontmatteraccepted2026-10-28project/adrs/0163-project-artifact-frontmatter.md
0164Ports are types; implementations are named for what they doproposed2026-10-29project/adrs/0164-ports-are-types-impls-are-named-for-what-they-do.md
0165The kernel IR is a Term plus kit-declared opsimplemented2026-10-29project/adrs/0165-kernel-ir-is-term-plus-ops.md
0166The IR gains pipeline(depth), and the schedule programme stops thereimplemented2026-10-29project/adrs/0166-pipeline-depth-and-the-end-of-the-schedule-programme.md