Notions of computation and monads
Information and Computation
Science of Computer Programming - Special issue on mathematics of program construction
Closed Freyd- and kappa-categories
ICAL '99 Proceedings of the 26th International Colloquium on Automata, Languages and Programming
Modelling environments in call-by-value programming languages
Information and Computation
Premonoidal categories and notions of computation
Mathematical Structures in Computer Science
Generic models for computational effects
Theoretical Computer Science - Logic, language, information and computation
Applicative programming with effects
Journal of Functional Programming
Arrows, like Monads, are Monoids
Electronic Notes in Theoretical Computer Science (ENTCS)
MSFP'06 Proceedings of the 2006 international conference on Mathematically Structured Functional Programming
Proceedings of the third ACM SIGPLAN workshop on Mathematically structured functional programming
Monad transformers as monoid transformers
Theoretical Computer Science
Constructing applicative functors
MPC'12 Proceedings of the 11th international conference on Mathematics of Program Construction
Freyd categories are Enriched Lawvere Theories
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
We investigate what the correct categorical formulation of Hughes@? Arrows should be. It has long been folklore that Arrows, a functional programming construct, and Freyd categories, a categorical notion due to Power, Robinson and Thielecke, are somehow equivalent. In this paper, we show that the situation is more subtle. By considering Arrows wholly within the base category we derive two alternative formulations of Freyd category that are equivalent to Arrows-enriched Freyd categories and indexed Freyd categories. By imposing a further condition, we characterise those indexed Freyd categories that are isomorphic to Freyd categories. The key differentiating point is the number of inputs available to a computation and the structure available on them, where structured input is modelled using comonads.