Skip to content

Regenerate expander linklet from Racket v9.2#74

Merged
pmatos merged 1 commit into
mainfrom
nora/session-49443169
Jul 1, 2026
Merged

Regenerate expander linklet from Racket v9.2#74
pmatos merged 1 commit into
mainfrom
nora/session-49443169

Conversation

@pmatos

@pmatos pmatos commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • expander/expander.rktl had not been refreshed since the initial commit (2023). Regenerate it against Racket v9.2.
  • Add scripts/gen-expander.sh, a self-contained script to reproduce the linklet from any host racket.

How the script works

  • Detects the host racket version and pins the racket source to the matching tag (override with an explicit ref argument).
  • Shallow-clones racket/racket at that tag, builds zuo, and runs the expander's own expander-src demod target using the host racket as the flattening engine — no full Chez/Racket build (~50s).
  • Copies the result over expander/expander.rktl after a structural (single-linklet) sanity check; fails loudly on missing prerequisites (git / C compiler / racket / compiler/cm).
scripts/gen-expander.sh            # match installed racket
scripts/gen-expander.sh v9.3       # force a specific ref

Notes

  • The flattened linklet's exported interface is unchanged (71 exports, none added/removed); only internal definitions differ (body 1930 → 2003 forms).
  • Verified: debug build is green (13/13 tests pass), and norac runs normal linklets fine.
  • norac still cannot parse the full expander linklet — but that is pre-existing (the old 2023 file fails identically), not a regression from this change.

expander/expander.rktl had not been refreshed since the initial commit
(2023). Regenerate it against Racket v9.2 and add a self-contained script
to reproduce it.

scripts/gen-expander.sh shallow-clones the racket source tag matching the
installed racket, builds zuo, and runs the expander's `expander-src` demod
target using the host racket as the flattening engine (no full Chez/Racket
build). The flattened linklet's exported interface is unchanged (71
exports); only internal definitions differ.
@pmatos pmatos merged commit 1ca9b29 into main Jul 1, 2026
12 checks passed
@pmatos pmatos deleted the nora/session-49443169 branch July 1, 2026 16:52
@codecov

codecov Bot commented Jul 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.19%. Comparing base (ee7d9a4) to head (3662734).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #74   +/-   ##
=======================================
  Coverage   73.19%   73.19%           
=======================================
  Files          24       24           
  Lines        2108     2108           
  Branches      290      290           
=======================================
  Hits         1543     1543           
  Misses        565      565           
Flag Coverage Δ
integration 73.19% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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