Skip to content

Move the pin to v0.2.4 - #35

Merged
onatozmenn merged 1 commit into
mainfrom
pin-0-2-4
Aug 4, 2026
Merged

Move the pin to v0.2.4#35
onatozmenn merged 1 commit into
mainfrom
pin-0-2-4

Conversation

@onatozmenn

Copy link
Copy Markdown
Contributor

The playground answers with whatever release it is pinned to, so moving the pin is how this site learns what the language does. v0.2.4 is the release where an effect can take a row variable, an operator can be bound to a function, and Int.max is a number.

The corpus moves with the pin, because a program and the compiler that reads it are not separately pinned. It is twenty-nine files now: tasks.deed is new and scheduler.deed changed under it, and that pair is the clearest thing in this release. The scheduler was written out by hand because its queue had to name every effect its tasks might perform, which only the program knows, so it could be written and not shipped. Now it is std/task and the example is three forks and a log.

That one goes in the picker, which is thirteen rather than twelve. It is a program somebody would recognise and it has tests, which is the button that works for everything in the picker but hello.

Checked rather than assumed:

$ node tools/examples.mjs
29 examples at v0.2.4, 13 in the picker: 1 the page can start, 28 it can only check and test.

$ node tools/check.mjs
70 files, every link resolves, and v0.2.4 loaded and answered about all 29 examples.

Also looked at, and needing nothing: the ten kind values play.js renders are still exactly the ten the wasm module documents, so no output line falls through to the raw-JSON default the way summary, property and refused did at 0.2.3. And the error index is read out of the artifact at load time rather than committed, so DEED4031 being retired in this release needs no edit here.

Nothing in this pull request was written on the compiler's behalf.


Assisted by GitHub Copilot (Claude Opus 4.5).

The playground answers with whatever release it is pinned to, so moving the
pin is how this site learns what the language does. v0.2.4 is the release
where an effect can take a row variable, an operator can be bound to a
function, and Int.max is a number.

The corpus moves with the pin, because a program and the compiler that reads
it are not separately pinned. It is twenty-nine files now: 	asks.deed is new
and scheduler.deed changed under it, and the pair is the clearest thing in
this release. The scheduler was written out by hand because its queue had to
name every effect its tasks might perform, which only the program knows, so it
could be written and not shipped. Now it is std/task and the example is three
forks and a log.

That one is in the picker, which is thirteen rather than twelve. It is a
program somebody would recognise and it has tests, which is the button that
works for everything in the picker but hello.

Nothing here was written on the compiler's behalf. The version strings, the
example index and the picker order are all checked against the artifact by
tools/check.mjs, which reports 70 files, every link resolving, and v0.2.4
answering about all 29 examples.
@onatozmenn
onatozmenn merged commit 4adb183 into main Aug 4, 2026
1 check passed
@onatozmenn
onatozmenn deleted the pin-0-2-4 branch August 4, 2026 01:25
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