Not dynamic scope: a dead outer activation causes return from block lambda to throw. Dynamic scope analogy would be return from unrelated!
-
-
Unfalsifiable faith-article. Consider C switch fall through hazard, real world comp.risks cost. Ruby dead frame return throw bug experience?
-
Very little dead frame return issues. Has to do with whether you're taught blocks as functions or something else.
-
Dead frames not the problem. Instead a layering issue wrt nested user and language defined ctl abstractions. Some day I'll show you
-
I know the issue about `break` needing N frames depending on how layered the abstraction is. Is that what you mean?
-
Not a matter of frame counting b/c block creation site does know nature or depth of ctl abstraction function impl.
-
Right. I agree this is a wart. Doubt it's fatal.
-
break should break (like exception) to a unique labelled continuation, created for each block. continue should return the block.
-
iow break is like a smaller-scoped return. Both can desugar into an escape continuation with appropriate scope.
- 2 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.