On Sat, Aug 20, 2011 at 6:26 PM, Tom Schouten <t...@zwizwa.be> wrote: > data Kl i o = forall s. Kl s (i -> s -> (s, o)) > > This is an Arrow. At first I wondered if there was also an associated > Monad, hence the iso function.
Given data Kl i o = forall s. Kl s (i -> s -> (s, o)) instance ArrrowApply KI where ... then 'ArrowMonad KI' [1] is a monad isomorphic to data KIM o = forall s. KIM s (s -> (s, o)) Is this what you are looking for? Cheers! =) [1] http://hackage.haskell.org/packages/archive/base/4.3.1.0/doc/html/Control-Arrow.html#t:ArrowMonad -- Felipe. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe