Mention the category laws explicitly
authorDavid Luposchainsky <dluposchainsky@gmail.com>
Fri, 11 Aug 2017 10:56:32 +0000 (12:56 +0200)
committerBen Gamari <ben@smart-cactus.org>
Thu, 17 Aug 2017 20:42:55 +0000 (16:42 -0400)
libraries/base/Control/Category.hs

index ba92178..6407a6f 100644 (file)
@@ -28,8 +28,13 @@ import GHC.Prim (coerce)
 infixr 9 .
 infixr 1 >>>, <<<
 
--- | A class for categories.
---   id and (.) must form a monoid.
+-- | A class for categories. Instances should satisfy the laws
+--
+-- @
+-- f '.' 'id'  =  f  -- (right identity)
+-- 'id' '.' f  =  f  -- (left identity)
+-- f '.' (g '.' h)  =  (f '.' g) '.' h  -- (associativity)
+-- @
 class Category cat where
     -- | the identity morphism
     id :: cat a a