@@ -15,16 +15,20 @@ module Prelude where
15 infixr 9 >>>
15 infixr 9 >>>
16 infixr 9 <<<
16 infixr 9 <<<
18− class Category a where
18+ class Semigroupoid a where
19− id :: forall t. a t t
20 (<<<) :: forall b c d. a c d -> a b c -> a b d
19 (<<<) :: forall b c d. a c d -> a b c -> a b d
21+ instance semigroupoidArr :: Semigroupoid (->) where
22+ (<<<) f g x = f (g x)
22− (>>>) :: forall a b c d. (Category a) => a b c -> a c d -> a b d
24+ (>>>) :: forall a b c d. (Semigroupoid a) => a b c -> a c d -> a b d
23 (>>>) f g = g <<< f
25 (>>>) f g = g <<< f
27+ class (Semigroupoid a) <= Category a where
28+ id :: forall t. a t t
25 instance categoryArr :: Category (->) where
30 instance categoryArr :: Category (->) where
27− (<<<) f g x = f (g x)
29 infixr 0 $
33 infixr 0 $
30 infixl 0 #
34 infixl 0 #
@@ -80,7 +84,7 @@ module Prelude where
80 (>>=) :: forall a b. m a -> (a -> m b) -> m b
84 (>>=) :: forall a b. m a -> (a -> m b) -> m b
82 class (Applicative m, Bind m) <= Monad m
86 class (Applicative m, Bind m) <= Monad m
84 return :: forall m a. (Monad m) => a -> m a
88 return :: forall m a. (Monad m) => a -> m a
85 return = pure
89 return = pure