Algebraic effects and handlers in portable C99

4 points by aka_dude


david_chisnall

It works by capturing stacks in safe and portable manner

Well there’s a terrifying line in a readme. I might accept ‘portable’, but there is no such thing as ‘safe’ for C code. Anything doing stack capture can introduce self-deadlock if it isn’t replacing all locks (including hand-written spin locks), can cause data corruption when there are data structures interleaving TLS and stack variables, and so on.

rileylabrecque

10 years ago; no clear examples of what this looks like unfortunately.