Joseph Ferano f55ec0a0b8 Why a handler frame holds a body address
plan.org now says a top-level function value is a stable trampoline over the
indirection cell and never the address of a particular body, so that a stored
callback observes a redefinition. A pushed handler frame breaks that rule and
should: it is not a Fn value, nothing in the language can name it, and it is
live only for the duration of the handler-bind body - so a reload landing while
it is on the stack finds the clause it pushed still valid, which is the whole of
old code is never unloaded.

The consequence worth knowing is that a handler already on the stack does not
pick up a redefinition of its own clause; the next entry to the handler-bind
pushes the new one. Recorded at the store in emit.ml and in NEXT.md, because
when Fn values arrive this is the one place that stores a body address on
purpose and must not be swept up with the rest.
2026-09-11 12:25:28 +07:00
..
2026-09-11 12:23:10 +07:00
2026-09-10 14:40:34 +07:00
2026-09-11 12:23:10 +07:00
2026-09-10 14:40:34 +07:00
2026-09-11 12:23:10 +07:00
2026-09-10 18:55:55 +07:00
2026-09-10 14:40:34 +07:00
2026-09-11 12:23:10 +07:00
2026-09-10 18:55:55 +07:00