A few years back I wrote some Jax code to illustrate using algebraic style effects on the GPU and surprisingly it got linked to by Plotkin et al. [1]. Which was a bit embarrassing because the code had bit rotted due to dependence on Jax internals. Anyway, with some ChatGPT help I managed to resurrect it [2].

Jax now has a certain amount of official support for ("tame") effects via debugging callbacks but my approach supports the fuller notion of effect where the handler is additionally passed the entire continuation allowing effects to do things like modify control flow.

[1] arxiv.org/abs/2504.03890

[2] github.com/dpiponi/colabs/blob

0

If you have a fediverse account, you can quote this note from your own instance. Search https://mathstodon.xyz/users/dpiponi/statuses/115912675374021144 on your instance and quote it. (Note that quoting is not supported in Mastodon.)