
In GHCi, I import Control.Arrow, and Kliesli doesn't appear: Prelude Control.Arrow> :t Kliesli <interactive>:1:0: Not in scope: data constructor `Kliesli' Prelude Control.Arrow> :browse (<<^) :: (Arrow a) => a c d -> (b -> c) -> a b d (>>^) :: (Arrow a) => a b c -> (c -> d) -> a b d class (Control.Category.Category a) => Arrow a where arr :: (b -> c) -> a b c first :: a b c -> a (b, d) (c, d) second :: a b c -> a (d, b) (d, c) (***) :: a b c -> a b' c' -> a (b, b') (c, c') (&&&) :: a b c -> a b c' -> a b (c, c') class (Arrow a) => ArrowApply a where app :: a (a b c, b) c class (Arrow a) => ArrowChoice a where left :: a b c -> a (Either b d) (Either c d) right :: a b c -> a (Either d b) (Either d c) (+++) :: a b c -> a b' c' -> a (Either b b') (Either c c') (|||) :: a b d -> a c d -> a (Either b c) d class (Arrow a) => ArrowLoop a where loop :: a (b, d) (c, d) -> a b c newtype (ArrowApply a) => ArrowMonad a b = ArrowMonad (a () b) class (ArrowZero a) => ArrowPlus a where (<+>) :: a b c -> a b c -> a b c class (Arrow a) => ArrowZero a where zeroArrow :: a b c newtype Kleisli m a b = Kleisli {runKleisli :: a -> m b} (^<<) :: (Arrow a) => (c -> d) -> a b c -> a b d (^>>) :: (Arrow a) => (b -> c) -> a c d -> a b d leftApp :: (ArrowApply a) => a b c -> a (Either b d) (Either c d) returnA :: (Arrow a) => a b b (<<<) :: (Control.Category.Category cat) => cat b c -> cat a b -> cat a c (>>>) :: (Control.Category.Category cat) => cat a b -> cat b c -> cat a c Does anybody know what's going on? Louis Wasserman wasserman.louis@gmail.com