Use explicit language extensions & remove extension fields from base.cabal
[ghc-base.git] / Control / Category.hs
index c85ebd5..b63fc67 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Control.Category
@@ -12,7 +14,6 @@
 
 module Control.Category where
 
-import Prelude hiding (id,(.))
 import qualified Prelude
 
 infixr 9 .
@@ -21,26 +22,26 @@ infixr 1 >>>, <<<
 -- | 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 .
-               id . p = p
-"identity/right"       forall p .
-               p . id = p
-"association"  forall p q r .
-               (p . q) . r = p . (q . r)
+"identity/left" forall p .
+                id . p = p
+"identity/right"        forall p .
+                p . id = p
+"association"   forall p q r .
+                (p . q) . r = p . (q . r)
  #-}
 
 instance Category (->) where
-       id = Prelude.id
+    id = Prelude.id
 #ifndef __HADDOCK__
 -- Haddock 1.x cannot parse this:
-       (.) = (Prelude..)
+    (.) = (Prelude..)
 #endif
 
 -- | Right-to-left composition