Coding 2023-09-11
Quick thoughts about how to do effects in Impliciula:
- The form of the effects has to be visible at the handler definition somehow.
- I think this "should" be done with something akin to a match construction.
- And a perform builtin to dispatch the effect.
- This does prevent the development of the val sugar.
- It would be nice to be able to construct handlers as values.
- However this works, it goes in a block construct...
These handler ideas sound about right, and I suppose the perform idea is about right...
Potentially effect interleaving could be handled by some form of newtype wrapper? That's probably not scalable, but I'm not sure. I don't fully understand the approach that the paper I was reading was taking, so I don't think I can come up with something comparable yet. I'll have to keep on reading that paper, I guess.
Anyway, it is very late now.
Good night.