| ▲ | kccqzy 7 hours ago | ||||||||||||||||
Constrained GOTO semantics sounds a lot like delimited continuations. Indeed I think Scheme continuations are a little too powerful for regular use by having the possibility of global effect (like longjmp). Delimited continuations make the effect more local. | |||||||||||||||||
| ▲ | taeric 6 hours ago | parent | next [-] | ||||||||||||||||
Delimited continuations always bounced off of me. In theory, they should be a lot like coroutines? I think, in practice, I just never really internalized all that goes into managing the current "environment" for a piece of code that is managed by the call state. Like, I have a few partial mental models for everything that they pull together. I haven't really tried to build on that, though. Should put some time to that. | |||||||||||||||||
| |||||||||||||||||
| ▲ | richdougherty 6 hours ago | parent | prev [-] | ||||||||||||||||
If you'll excuse the self-post, here's a blog post on goto with delimited continuations. https://rd.nz/2009/03/goto-in-scala.html It uses an experimental compiler plugin for the Scala compiler. It's typesafe at compile time. At runtime unfortunately it relies on exceptions for control flow. | |||||||||||||||||