[squeak-dev] Effect Handlers

Tony Garnock-Jones tonyg at leastfixedpoint.com
Mon Oct 29 21:23:26 UTC 2018


On 10/29/2018 07:51 PM, Frank Shearar wrote:
> The what's-in-it-for-me of effects handling is that it supplies, in a
> single tool/abstraction/structure, something that you can use to
> implement asynchrony (all the async/await stuff being added to
> languages), exception handling, iterators, and so on. (If this sounds a
> lot like continuations, that's because they're related!)

I'd imagine an effects library would be a fairly thin layer atop
Squeak's exceptions, given that they already separate the handling from
the decision to abort or resume!

That is to say, many non-aborting uses of Squeak's exceptions already
has the feel of an effects system.

Cheers,
  Tony

PS. I implemented effects in Racket using its delimited continuations a
few years ago:
https://github.com/tonyg/racket-effects/blob/master/effects/main.rkt.
It's quite possible a Squeak implementation could exploit OO techniques
to make a very pleasant effects library.


More information about the Squeak-dev mailing list