Compiler Design
Norm separates authoring semantics from executable content identity. Source first forms a shared semantic model, then freezes into canonical, content-addressed Core; Truffle executes only resolved Core.
text
Source
↓
Syntax
↓
Semantic Model
↓
Bound Representation
↓
Canonical Core IR
↓
Runtime: execution contracts → Truffle → platform adapterReading guide
- Compiler architecture: complete pipeline, identity boundaries, and incremental model.
- Implementation strategy: technology choices and dependency direction.
- Toolchain development standard: module responsibilities and verification constraints.
- Distribution source-build architecture: the sole Gradle build entry, offline distribution builds, and release-equivalence acceptance.
- Block call chains: the restricted omitted-dot closure-chain decision, implementation index, migration, and acceptance.
- Agent tooling design: precision, strong references, context efficiency, and verification contracts.
- Sample system: ownership and acceptance for website, generated, language, learning, and library examples.
- System runtime architecture: I/O, resources, and platform adapters.
- Serialization runtime architecture: structure metadata and mapping.
- Java Library Adapter: single-root JARs, ordinary Module identity, content addressing, and publication boundaries.
- Vaadin integration plan: field-responsive pages, standalone Jetty, Spring integration, and staged acceptance.
- Compiler bootstrap plan: the self-hosting boundary.
- Application startup performance: source-run baseline, artifact reuse boundaries, and acceptance.
Performance goals contain only verifiable budgets, not unmeasured conclusions inferred from architecture. See Status for current public capabilities.