Skip to content

Which prelude names the backend cannot compile, enumerated rather than remembered - #685

Merged
onatozmenn merged 1 commit into
mainfrom
issue-621-backend-prelude-coverage
Jul 30, 2026
Merged

Which prelude names the backend cannot compile, enumerated rather than remembered#685
onatozmenn merged 1 commit into
mainfrom
issue-621-backend-prelude-coverage

Conversation

@onatozmenn

Copy link
Copy Markdown
Collaborator

Closes #621.

crates/deed-driver/tests/backend_prelude.rs tries one minimal program per name from deed_resolve::PRELUDE and deed_resolve::IO_OPERATIONS through the real pipeline (check, lower, compile), and pins the result by name.

All ten Io operations compile: they reach the backend as host imports (#569). Three of the thirteen callable prelude functions compile (ok, err, length); the other ten (at, push, repeat, split, join, trim, upper, lower, to_string, to_int) do not yet, matching the gap sink.deed's closure signature and early return (#620) already sit in. Type names are left out of the count on purpose: whether a value of one passes through the backend is a different, already-answered question.

Fixed compile.rs's own doc comment along the way: it still said capabilities were refused by name, which stopped being true when #569 landed and stayed written down after.

design/05-backend.md carries the numbers next to the wasm32 section they belong with.

@onatozmenn
onatozmenn enabled auto-merge (squash) July 30, 2026 22:36
@onatozmenn
onatozmenn force-pushed the issue-621-backend-prelude-coverage branch from 07e9202 to 5b49f92 Compare July 30, 2026 23:30
…n remembered (#621)

crates/deed-driver/tests/backend_prelude.rs tries one minimal program per
name from deed_resolve::PRELUDE and deed_resolve::IO_OPERATIONS through the
real pipeline (check, lower, compile), and pins the result by name.

All ten Io operations compile: they reach the backend as host imports
(#569). Three of the thirteen callable prelude functions compile (ok, err,
length); the other ten (at, push, repeat, split, join, trim, upper, lower,
to_string, to_int) do not yet, matching the gap sink.deed's closure
signature and early return (#620) already sit in. Type names are left out
of the count on purpose: whether a value of one passes through the backend
is a different, already-answered question.

Fixed compile.rs's own doc comment along the way: it still said capabilities
were refused by name, which stopped being true when #569 landed and stayed
written down after.

design/05-backend.md carries the numbers next to the wasm32 section they
belong with.
@onatozmenn
onatozmenn force-pushed the issue-621-backend-prelude-coverage branch from 5b49f92 to 7f42389 Compare July 30, 2026 23:44
@onatozmenn
onatozmenn merged commit 84248dd into main Jul 30, 2026
3 checks passed
@onatozmenn
onatozmenn deleted the issue-621-backend-prelude-coverage branch July 30, 2026 23:45
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.

Which prelude names the backend cannot compile, enumerated rather than remembered

1 participant