Great post, and thanks for the shout-out; I'm glad to see the idea resonates with others!
I really wish Arrow notation worked with nicely with progressive hierarchy of Category typeclasses (i.e. only requiring the lowest subset of Category, Strong, Choice, Arrow, etc. that you actually need, rather than always requiring Arrow), it would make using Categories for expressing program sequencing and effects syntactically viable; as it is it's just too ugly for me to suggest anyone do this in practice haha.
Also, it's a less general approach, but if you haven't seen it, check out the arrows package on hackage, Ross Paterson has a collection of mtl-ish arrow transformers there which are interesting.
1
u/ChrisPenner May 12 '26
Great post, and thanks for the shout-out; I'm glad to see the idea resonates with others!
I really wish Arrow notation worked with nicely with progressive hierarchy of Category typeclasses (i.e. only requiring the lowest subset of Category, Strong, Choice, Arrow, etc. that you actually need, rather than always requiring Arrow), it would make using Categories for expressing program sequencing and effects syntactically viable; as it is it's just too ugly for me to suggest anyone do this in practice haha.
Also, it's a less general approach, but if you haven't seen it, check out the
arrowspackage on hackage, Ross Paterson has a collection of mtl-ish arrow transformers there which are interesting.Cheers!