
Monads are monoids in categories of functors C -> C Arrows are monoids in subcategories of bifunctors (C^op) x C -> C Trees are a playing ground for functors in general:-)

Wow. This is a cool point of view on monads, thank you for
enlightening (the arrow stuff is yet too difficult for me to
understand)!
2009/1/21 Andrzej Jaworski
Monads are monoids in categories of functors C -> C Arrows are monoids in subcategories of bifunctors (C^op) x C -> C Trees are a playing ground for functors in general:-)
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

You mean monoids right? :-)
On Wed, Jan 21, 2009 at 1:30 AM, Eugene Kirpichov
Wow. This is a cool point of view on monads, thank you for enlightening (the arrow stuff is yet too difficult for me to understand)!
2009/1/21 Andrzej Jaworski
: Monads are monoids in categories of functors C -> C Arrows are monoids in subcategories of bifunctors (C^op) x C -> C Trees are a playing ground for functors in general:-)
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

No, I mean monads :) I've never thought of them as of monoids in the
endofunctor category.
2009/1/21 David Leimbach
You mean monoids right? :-)
On Wed, Jan 21, 2009 at 1:30 AM, Eugene Kirpichov
wrote: Wow. This is a cool point of view on monads, thank you for enlightening (the arrow stuff is yet too difficult for me to understand)!
2009/1/21 Andrzej Jaworski
: Monads are monoids in categories of functors C -> C Arrows are monoids in subcategories of bifunctors (C^op) x C -> C Trees are a playing ground for functors in general:-)
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Oh indeed!
On Wed, Jan 21, 2009 at 8:00 AM, Eugene Kirpichov
No, I mean monads :) I've never thought of them as of monoids in the endofunctor category.
2009/1/21 David Leimbach
: You mean monoids right? :-)
On Wed, Jan 21, 2009 at 1:30 AM, Eugene Kirpichov
wrote: Wow. This is a cool point of view on monads, thank you for enlightening (the arrow stuff is yet too difficult for me to understand)!
2009/1/21 Andrzej Jaworski
: Monads are monoids in categories of functors C -> C Arrows are monoids in subcategories of bifunctors (C^op) x C -> C Trees are a playing
ground
for functors in general:-)
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Category Theory should speak for itself and I am so glad you guys have seen the beauty of this approach. Yes, Mauro you are right: locally small Freyd categories correspond to monoidal structure of Arrows, but the strength in this correspondence is as yet unknown to me. I disagree however with your doubts: Arrows indeed are Monoids! [in the functor category (C^op) x C -> C with st, cost, ist.] I will skip Monoid ubiquity in linguistics and its relevance to concurrency as not helpful in learning Haskell. (e.g. http://www.springerlink.com/content/7281243255312730/?p=4dd8bba881cd4ebe894d3b014f01b1ad&pi=7) Instead I will issue a guarantee that the time invested in CT will pay also in system analysis, particularly in combination with Haskell type classes, which together might be used for describing real world processes and knowledge. Few have scratched the subject as yet but the pay-off is huge. Let me also suggest to bestow the official guru status on Dan Piponi and Heinrich Apfelmus:-) Cheers, -Andrzej

Andrzej Jaworski wrote:
Monads are monoids in categories of functors C -> C Arrows are monoids in subcategories of bifunctors (C^op) x C -> C Trees are a playing ground for functors in general:-)
This is the nice thing about category theory! plenty of reuse of concepts :) The situation for Arrows is a bit more complex. Monoids (C^op) x C -> C are equivalent to Freyd categories (Heunen and Jacobs, MFPS 2006) , but Arrows in Haskell are actually indexed-Freyd categories, as explained by Bob Atkey in "What is a Categorical Model of Arrows?" (MSFP 2008, http://homepages.inf.ed.ac.uk/ratkey/arrows.pdf) The realization that monads are monoids would be far more useful in a language with kind polymorphism. However, this shouldn't stop us from dreaming... All the best, - Mauro This message has been checked for viruses but the contents of an attachment may still contain software viruses, which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
participants (5)
-
Andrzej Jaworski
-
David Leimbach
-
Eugene Kirpichov
-
Lennart Augustsson
-
Mauro J. Jaskelioff