fix: bend 2.0.28 (wire effect registration, bench renames) - #14
Merged
Merged
Conversation
bend 2.0.28 registers a JS effect with io_eff(CID(Name), run, need), as a C effect does, runs each effect .js in a closure of its own, and no longer defines the CID_<NAME> macros the C side used. Unported, the JS lane stops at "no effect registers ezhttp/wire.ezwire.talk" and the native build at an undeclared CID_EZWIRE_TALK. - ezhttp/effs/wire.js: ends with io_eff(CID(ezwire.talk), ezwire_talk) (no need: it answers at once, as the C side's 0 does); the header note about one concatenated script now says the file runs in its own closure. - ezhttp/effs/wire.c: io_eff(CID_EZWIRE_TALK, ...) becomes io_eff(CID(ezwire.talk), ...). No def is renamed. Plain GET/POST, a refused port, an HTTPS GET and a failed TLS handshake answer the same on both lanes under 2.0.28 as under 2.0.27. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vp3SCG5bcKMF4fUytZTwPj
bend 2.0.28 refuses a name segment that starts with a digit ("expected a
name (words joined by dots, got 'argv.3')"). bench/main.bend is not in the
hub walk. Renamed, with every use:
- argv.0 -> argv.w0
- argv.1 -> argv.w1
- argv.2 -> argv.w2
- argv.3 -> argv.w3
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vp3SCG5bcKMF4fUytZTwPj
nix flake update bend moves the bend input to bendlang/bend main (2.0.28). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vp3SCG5bcKMF4fUytZTwPj
ez 1.2.0 does not build on bend 2.0.28 (its sha256 dependency declares `type Window`, now a Base name), so the ez input no longer follows this flake's bend: ez, `ez prove` and bolt (packages.bolt and mkLint) use the bend ez 1.2.0 locks, and the package's own builds use 2.0.28. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vp3SCG5bcKMF4fUytZTwPj
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves ezhttp to bend 2.0.28.
What 2.0.28 broke
io_eff(CID(Name), run, need), each effect .js runs in its own closure, and the C side'sCID_<NAME>macros are gone. Unported, the JS lane stops atno effect registers ezhttp/wire.ezwire.talk.bench/main.bend(not in the hub walk).Changes
ezhttp/effs/wire.js: ends withio_eff(CID(ezwire.talk), ezwire_talk); the header note about one concatenated script is updated.ezhttp/effs/wire.c:CID_EZWIRE_TALK->CID(ezwire.talk).bench/main.bend:argv.0/1/2/3->argv.w0/w1/w2/w3(every use).flake.lock: bend -> bendlang/bend main (2.0.28).Verified with bend 2.0.28:
ezhttp/PROOF.bendsaysAll terms check.; check-only verdicts equal 2.0.27's (no new unsafe listing). Plain GET/POST to a local server, a refused port, an HTTPS GET and a failed TLS handshake (expired.badssl.com) answer identically under 2.0.27 and 2.0.28 on each lane (bend x.bend,-o x.js+ bun,-o xnative). The bench driver builds natively and runs.Known CI blocker (not in this repo):
nix flake checkcannot pass yet: with bend following 2.0.28, ez v1.2.0 fails to build (duplicate declaration: Window) and bolt v1.8.0 fails (duplicate declaration: Set). Both need their own 2.0.28 releases first.🤖 Generated with Claude Code
https://claude.ai/code/session_01Vp3SCG5bcKMF4fUytZTwPj