[Haskell-cafe] Why does HXT use Arrows?

Gregory Crosswhite gcross at phys.washington.edu
Thu Dec 24 14:24:38 EST 2009

Something I have been wondering for a while is:  Why is HXT built on arrows, rather than monads?  I understand that arrows are a generalization of monads, but they also add extra complexity that is often unnecessary.  Furthermore, as I understand it they only give you additional power when your arrow cannot implement ArrowApply, since otherwise your arrow is equivalent to a monad anyway, and it looks like the result of parsing an XML document gets you an arrow which implements ArrowApply.

Is there some circumstance I am missing where the fact that HXT uses arrows rather than monads lets one do something that one couldn't have done with monads?


More information about the Haskell-Cafe mailing list