
Even though you cannot "dive into this matter now", maybe when you get time you can update your blog with an explicit embedding of Haskell monads and arrows in your Thrist construction. Concrete examples will help me (and probably others) more quickly see the novelty, increased generality, and usefulness of a Thrist. Also, although you say that thrists are the moral equivalent of a free category, it appears (at least to me) possible that the first Thrist argument enables the construction of a restricted domain monad, e.g. (Eq a => Set a) monad. Is this so? Dan Gabor Greif wrote:
Am 31.01.2008 um 01:23 schrieb aaltman@pdx.edu mailto:aaltman@pdx.edu:
3. I believe the documentation stating that Haskell arrows are a generalization of Haskell monads, but arrows are a categorical thing too and in that context bear a much more distant relationship to monads. Does a Haskell arrow have Hask as domain and codomain? Or is one particular element in Hask its domain and possibly another its codomain? Those are not at all the same thing.
Without being able to dive into this matter now, I just want to say that both the Haskell monads and arrows can be generalized to something I call a "thrist", which appears to be the moral equivalent of a free category. The underlying category is obtained by a two-parameter GADT (defining the morphisms) and the domains and codomains of its members (which are Haskell types) being the objects.
Here is my blog entry that motivates the concept a bit:
http://heisenbug.blogspot.com/2007/11/trendy-topics.html
Cheers,
Gabor
------------------------------------------------------------------------
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe