Skip to content

[backend] Productise code generation #342

Description

@purefunctor

Architecture

This is a fresh implementation from origin/main; the earlier NbE and SSA experiments are scoping evidence only.

flowchart LR
    checked[Checked tree] --> nbe[NbE tree]
    nbe --> nbePasses[NbE passes]
    nbePasses --> javascriptTree[JavaScript tree]
    nbePasses --> ssa[SSA tree]
    ssa --> ssaPasses[SSA passes]
    ssaPasses --> javascriptTree
    javascriptTree --> javascript[JavaScript]
Loading

The shared JavaScript crate owns a backend-neutral JavaScript tree and renderer. It does not depend on the NbE or SSA IR crates.

Scope

Add CLI/build integration, output layout, linker/module discovery, and source mapping after both paths execute the corpus. Crate-level build queries are prerequisites and are not deferred to this issue. Decide whether both paths remain user-facing or the direct path becomes an oracle/reference backend.

Acceptance criteria

  • A clean checkout can compile and execute a multi-module fixture without test-only host state.
  • Output and foreign-module discovery have a documented layout.
  • Source maps cover representative generated forms.
  • All backend categories pass unfiltered with no pending snapshots.

Dependencies

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    0.1.xMilestone for first end-to-end releaseenhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions