Hacker News new | ask | show | jobs
by codeismath 1777 days ago
It's been on my list of things to explore for a while... the relationship between defunctionalization, continuations, and "Algebraic Effects".

The reason... I like seeing how different languages handle asynchronous code vs synchronous code. F# has their way, C# has theirs, JavaScript async/await, colored functions, Project Loom, co-routines, React Fibers, etc. I'm intrigued that a language that has built-in algebraic effects can do async wihtout any other changes to the language (as if async and sync were the same).

Is there any relation to defunctionalization for this kind of stuff?

1 comments

I don't think the article's SIGIO example made much sense -- if you have delimited continuations, you _don't_ need defunctionalize them if they're staying in-process.