+{-# LANGUAGE CPP #-}
+
-----------------------------------------------------------------------------
-- |
-- Module : Control.Category
module Control.Category where
-import Prelude hiding (id,(.))
import qualified Prelude
infixr 9 .
-- | A class for categories.
-- id and (.) must form a monoid.
class Category cat where
- -- | the identity morphism
- id :: cat a a
+ -- | the identity morphism
+ id :: cat a a
- -- | morphism composition
- (.) :: cat b c -> cat a b -> cat a c
+ -- | morphism composition
+ (.) :: cat b c -> cat a b -> cat a c
{-# RULES
"identity/left" forall p .
#-}
instance Category (->) where
- id = Prelude.id
+ id = Prelude.id
#ifndef __HADDOCK__
-- Haddock 1.x cannot parse this:
- (.) = (Prelude..)
+ (.) = (Prelude..)
#endif
-- | Right-to-left composition