<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<br><div><div>Am 31.01.2008 um 01:23 schrieb <a href="mailto:aaltman@pdx.edu">aaltman@pdx.edu</a>:</div><br class="Apple-interchange-newline"><blockquote type="cite"><p style="margin: 0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" size="3" style="font: 12.0px Helvetica">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.<span class="Apple-converted-space">  </span>Does a Haskell arrow have Hask as domain and codomain?<span class="Apple-converted-space">  </span>Or is one particular element in Hask its domain and possibly another its codomain?<span class="Apple-converted-space">  </span>Those are not at all the same thing.</font></p> </blockquote></div><br><div><br class="webkit-block-placeholder"></div><div>Without being able to dive into this matter now,</div><div>I just want to say that both the Haskell monads</div><div>and arrows can be generalized to something</div><div>I call a "thrist", which appears to be the moral</div><div>equivalent of a free category. The underlying<br></div><div>category is obtained by a two-parameter GADT</div><div>(defining the morphisms) and the domains and</div><div>codomains of its members (which are Haskell types)</div><div>being the objects.</div><div><br class="webkit-block-placeholder"></div><div>Here is my blog entry that motivates the concept</div><div>a bit:</div><div><br class="webkit-block-placeholder"></div><div><a href="http://heisenbug.blogspot.com/2007/11/trendy-topics.html">http://heisenbug.blogspot.com/2007/11/trendy-topics.html</a></div><div><br class="webkit-block-placeholder"></div><div>Cheers,</div><div><br class="webkit-block-placeholder"></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Gabor<br class="webkit-block-placeholder"></div><div><br class="webkit-block-placeholder"></div></body></html>