Skip to content

Typed Rust explicit installation, shared programs, and recording - #76

Closed
saulshanabrook wants to merge 1 commit into
codex/typed-rust-apifrom
codex/shared-program-ir
Closed

saulshanabrook wants to merge 1 commit into
codex/typed-rust-apifrom
codex/shared-program-ir

Conversation

@saulshanabrook

Copy link
Copy Markdown
Member

Purpose

Stacked on #74. Add explicit installation and shared-program export/recording to the typed Rust frontend, addressing the Luminal review without changing its execution algorithms.

Uses the published core revision from egglog#1027.

Changes

  • EGraph::install accepts sort descriptions, selected declarations, rules, and rulesets; it installs dependencies but never creates rows or runs rules.
  • ProgramBuilder assembles the same commands offline, including scopes, with atomic preflight failures and no EGraph.
  • Ordinary execution uses the shared core Program; scoped recording retains native outcomes and actual submitted scope commands.
  • Export structured JSON, diagnostic Egglog text, or checked representable source through the shared program.
  • Update the existing tutorial/RFC/README and add a small cross-language export example.

Normal expressions do not need descriptor objects. Explicit callable installation uses the existing selector mechanism. Imported core records do not automatically reconstruct typed authoring metadata. Direct observations/extractors are not invented as recorded commands.

Validation

Typed runtime suites, 47 example mains, 35 compile-fail cases, 15 doctests, and nine focused program tests passed. Independent review replayed equivalent offline and recorded 14-command programs and confirmed installation produced no tuples. Scoped strict Clippy passed with only the unchanged replace_box lint allowed. The original dirty review worktree remains untouched.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant