diff options
| -rw-r--r-- | libraries/base/GHC/Generics.hs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/libraries/base/GHC/Generics.hs b/libraries/base/GHC/Generics.hs index d4e9583d70..5bc9c55059 100644 --- a/libraries/base/GHC/Generics.hs +++ b/libraries/base/GHC/Generics.hs @@ -1147,8 +1147,15 @@ instance (SingI mn, SingI su, SingI ss, SingI ds) selSourceStrictness _ = fromSing (sing :: Sing ss) selDecidedStrictness _ = fromSing (sing :: Sing ds) --- | Representable types of kind *. --- This class is derivable in GHC with the DeriveGeneric flag on. +-- | Representable types of kind @*@. +-- This class is derivable in GHC with the @DeriveGeneric@ flag on. +-- +-- A 'Generic' instance must satisfy the following laws: +-- +-- @ +-- 'from' . 'to' ≡ 'id' +-- 'to' . 'from' ≡ 'id' +-- @ class Generic a where -- | Generic representation type type Rep a :: * -> * @@ -1161,6 +1168,13 @@ class Generic a where -- | Representable types of kind @* -> *@ (or kind @k -> *@, when @PolyKinds@ -- is enabled). -- This class is derivable in GHC with the @DeriveGeneric@ flag on. +-- +-- A 'Generic1' instance must satisfy the following laws: +-- +-- @ +-- 'from1' . 'to1' ≡ 'id' +-- 'to1' . 'from1' ≡ 'id' +-- @ class Generic1 (f :: k -> *) where -- | Generic representation type type Rep1 f :: k -> * |
