Computational lambda-calculus and monads
Proceedings of the Fourth Annual Symposium on Logic in computer science
Notions of computation and monads
Information and Computation
Reasoning about programs in continuation-passing style
Lisp and Symbolic Computation - Special issue on continuations—part I
Science of Computer Programming - Special issue on mathematics of program construction
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Applicative programming with effects
Journal of Functional Programming
AFP'04 Proceedings of the 5th international conference on Advanced Functional Programming
Composable discovery engines for interactive theorem proving
ITP'11 Proceedings of the Second international conference on Interactive theorem proving
Fixing idioms: a recursion primitive for applicative DSLs
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Hi-index | 0.00 |
We revisit the connection between three notions of computation: Moggi@?s monads, Hughes@?s arrows and McBride and Paterson@?s idioms (also called applicative functors). We show that idioms are equivalent to arrows that satisfy the type isomorphism A@?B~1@?(A-B) and that monads are equivalent to arrows that satisfy the type isomorphism A@?B~A-(1@?B). Further, idioms embed into arrows and arrows embed into monads.