ABSTRACT
Hughes' arrows were shown, by Jacobs et al., to be roughly monads in the bicategory Prof of profunctors (distributors, modules). However in their work as well as others', the categorical nature of the first operator was not pursued and its formulation remained rather ad hoc. In this paper, we identify first with strength for a monad, therefore: arrows are strong monads in Prof. Strong monads have been widely used in the semantics of functional programming after Moggi's seminal work, therefore our observation establishes categorical canonicity of the notion of arrow.
- }}T. Altenkirch, J. Chapman, and T. Uustalu. Monads need not be endofunctors. In C.-H. L. Ong, editor, FOSSACS, volume 6014 of Lecture Notes in Computer Science, pages 297--311. Springer, 2010. ISBN 978-3-642-12031-2. Google ScholarDigital Library
- }}K. Asada and I. Hasuo. Categorifying computations into components via arrows as profunctors. To appear in Proc. International Workshop on Coalgebraic Methods in Computer Science (CMCS 2010), 2010.Google Scholar
- }}R. Atkey. What is a categorical model of arrows? Electr. Notes Theor. Comput. Sci, To appear. Google ScholarDigital Library
- }}J. Bénabou. Distributors at work. Lecture notes by Thomas Streicher, 2000. www.mathematik.tu-darmstadt.de/~streicher/FIBR/DiWo.pdf.gz.Google Scholar
- }}N. Benton, J. Hughes, and E. Moggi. Monads and effects. In G. Barthe, P. Dybjer, L. Pinto, and J. Saraiva, editors, Advanced Lectures from Int. Summer School on Applied Semantics, APPSEM 2000 (Caminha, Portugal, 9-15 Sept. 2000), volume 2395 of Lecture Notes in Computer Science, pages 42--122. Springer-Verlag, Berlin, 2002. Google ScholarDigital Library
- }}F. Borceux. Handbook of Categorical Algebra 1: Basic Category Theory, volume 50 of Encyclopedia of Mathematics and Its Applications. Cambridge University Press, Cambridge, 1994.Google Scholar
- }}G. Cattani, M. Fiore, and G. Winskel. A theory of recursive domains with applications to concurrency. In Proc. of LICS '98, 0:214--225, 1998. ISSN 1043-6871. Google ScholarDigital Library
- }}P.-L. Curien. Operads, clones, and distributive laws. preprint, www.pps.jussieu.fr/~curien, 2008.Google Scholar
- }}B. Day. On closed categories of functors. In Reports of the Midwest Category Seminar, IV, Lecture Notes in Mathematics, Vol. 137, pages 1--38. Springer, Berlin, 1970.Google Scholar
- }}B. Day. On closed categories of functors. II. In Category Seminar (Proc. Sem., Sydney, 1972/1973), pages 20--54. Lecture Notes in Math., Vol. 420. Springer, Berlin, 1974.Google Scholar
- }}B. Day and R. Street. Monoidal bicategories and Hopf algebroids. Adv. Math., 129(1):99--157, 1997. ISSN 0001-8708.Google ScholarCross Ref
- }}M. Fiore, N. Gambino, M. Hyland, and G. Winskel. The cartesian closed bicategory of generalised species of structures. Journ. of London Math. Soc., 77:203--220, 2008.Google ScholarCross Ref
- }}R. Gordon, A. J. Power, and R. Street. Coherence for tricategories. Mem. Amer. Math. Soc., 117(558):vi+81, 1995. ISSN 0065-9266.Google Scholar
- }}I. Hasuo, B. Jacobs, and A. Sokolova. The microcosm principle and concurrency in coalgebra. In Foundations of Software Science and Computation Structures, volume 4962 of Lect. Notes Comp. Sci., pages 246--260. Springer-Verlag, 2008. Google ScholarDigital Library
- }}C. Heunen and B. Jacobs. Arrows, like monads, are monoids. Electr. Notes Theor. Comput. Sci, 158:219--236, 2006. URL http://dx.doi.org/10.1016/j.entcs.2006.04.012. Google ScholarDigital Library
- }}T. T. Hildebrandt, P. Panangaden, and G. Winskel. A relational model of non-deterministic dataflow. In D. Sangiorgi and R. de Simone, editors, CONCUR, volume 1466 of Lecture Notes in Computer Science, pages 613--628. Springer, 1998. ISBN 3-540-64896-8. Google ScholarDigital Library
- }}J. Hughes. Generalising monads to arrows. Sci. Comput. Program., 37(1-3):67--111, 2000. Google ScholarDigital Library
- }}J. Hughes. Programming with arrows. In V. Vene and T. Uustalu, editors, Advanced Functional Programming, volume 3622 of Lecture Notes in Computer Science, pages 73--129. Springer, 2004. ISBN 3-540-28540-7. Google ScholarDigital Library
- }}B. Jacobs, C. Heunen, and I. Hasuo. Categorical semantics for arrows. Journal of Functional Programming, 19(3-4):403--438, 2009. ISSN 0956-7968. Google ScholarDigital Library
- }}G. M. Kelly. Basic Concepts of Enriched Category Theory. Number 64 in LMS. Cambridge Univ. Press, 1982.Google Scholar
- }}P. B. Levy. Call-By-Push-Value: A Functional/Imperative Synthesis, volume 2 of Semantics Structures in Computation. Springer, 2004. ISBN 1-4020-1730-8. Google ScholarDigital Library
- }}P. B. Levy, A. J. Power, and H. Thielecke. Modelling environments in call-by-value programming languages. Inf. & Comp., 185(2):182--210, 2003. ISSN 0890-5401. Google ScholarDigital Library
- }}E. Moggi. Computational lambda-calculus and monads. In LICS, pages 14--23. IEEE Computer Society, 1989. Google ScholarDigital Library
- }}E. Moggi. Notions of computation and monads. Information and Computation, 93(1):55--92, 1991. Google ScholarDigital Library
- }}M. Nygaard and G. Winskel. Domain theory for concurrency. Theor. Comput. Sci., 316(1):153--190, 2004. Google ScholarDigital Library
- }}J. Power and E. Robinson. Premonoidal categories and notions of computation. Math. Struct. in Comp. Sci., 7(5):453--468, 1997. Google ScholarDigital Library
- }}R. Street. The formal theory of monads. Journal of Pure and Applied Algebra, 2:149--168, 1972.Google ScholarCross Ref
- }}T. Uustalu. Strong relative monads. Short contribution in International Workshop on Coalgebraic Methods in Computer Science (CMCS 2010), 2010.Google Scholar
- }}P. Wadler. Monads for functional programming. In Lecture Notes In Computer Science, Vol. 925; Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text, pages 24--52, London, UK, 1995. Springer-Verlag. ISBN 3-540-59451-5. Google ScholarDigital Library
Index Terms
- Arrows are strong monads
Recommendations
Arrows, like Monads, are Monoids
Monads are by now well-established as programming construct in functional languages. Recently, the notion of ''Arrow'' was introduced by Hughes as an extension, not with one, but with two type parameters. At first, these Arrows may look somewhat ...
Freyd is Kleisli, for arrows
MSFP'06: Proceedings of the 2006 international conference on Mathematically Structured Functional ProgrammingArrows have been introduced in functional programming as generalisations of monads. They also generalise comonads. Fundamental structures associated with (co)monads are Kleisli categories and categories of (Eilenberg-Moore) algebras. Hence it makes ...
Categorifying Computations into Components via Arrows as Profunctors
The notion of arrow by Hughes is an axiomatization of the algebraic structure possessed by structured computations in general. We claim that an arrow also serves as a basic component calculus for composing state-based systems as components-in fact, it ...
Comments