module Generics.Deriving.Instances (
#if __GLASGOW_HASKELL__ < 708
Rep0All
, Rep0Any
, Rep0Arity
, Rep0Associativity
, Rep0Const
, Rep1Const
, Rep0Dual
, Rep1Dual
, Rep0Endo
, Rep0First
, Rep1First
, Rep0Fixity
, Rep0Last
, Rep1Last
, Rep0Product
, Rep1Product
, Rep0Sum
, Rep1Sum
, Rep0WrappedArrow
, Rep1WrappedArrow
, Rep0WrappedMonad
, Rep1WrappedMonad
, Rep0ZipList
, Rep1ZipList
, Rep0U1
, Rep0Par1
, Rep0Rec1
, Rep0K1
, Rep0M1
, Rep0ConSum
, Rep0ConProduct
, Rep0ConCompose
#endif
#if __GLASGOW_HASKELL__ < 705
, Rep1Either
, Rep1List
, Rep1Maybe
, Rep1Tuple2
, Rep1Tuple3
, Rep1Tuple4
, Rep1Tuple5
, Rep1Tuple6
, Rep1Tuple7
#endif
#if __GLASGOW_HASKELL__ < 701
, Rep0Bool
, Rep0Char
, Rep0Double
, Rep0Either
, Rep0Int
, Rep0Float
, Rep0List
, Rep0Maybe
, Rep0Ordering
, Rep0Tuple2
, Rep0Tuple3
, Rep0Tuple4
, Rep0Tuple5
, Rep0Tuple6
, Rep0Tuple7
, Rep0Unit
#endif
) where
#if __GLASGOW_HASKELL__ < 708
import Control.Applicative
import Data.Monoid
import Generics.Deriving.Base
type Rep0All = D1 D1All (C1 C1_0All (S1 S1_0_0All (Rec0 Bool)))
instance Generic All where
type Rep All = Rep0All
from (All a) = M1 (M1 (M1 (K1 a)))
to (M1 (M1 (M1 (K1 a)))) = All a
data D1All
data C1_0All
data S1_0_0All
instance Datatype D1All where
datatypeName _ = "All"
moduleName _ = "Data.Monoid"
instance Constructor C1_0All where
conName _ = "All"
conIsRecord _ = True
instance Selector S1_0_0All where
selName _ = "getAll"
type Rep0Any = D1 D1Any (C1 C1_0Any (S1 S1_0_0Any (Rec0 Bool)))
instance Generic Any where
type Rep Any = Rep0Any
from (Any a) = M1 (M1 (M1 (K1 a)))
to (M1 (M1 (M1 (K1 a)))) = Any a
data D1Any
data C1_0Any
data S1_0_0Any
instance Datatype D1Any where
datatypeName _ = "Any"
moduleName _ = "Data.Monoid"
instance Constructor C1_0Any where
conName _ = "Any"
conIsRecord _ = True
instance Selector S1_0_0Any where
selName _ = "getAny"
type Rep0Arity = D1 D1Arity (C1 C1_0Arity U1
:+: C1 C1_1Arity (S1 NoSelector (Rec0 Int)))
instance Generic Arity where
type Rep Arity = Rep0Arity
from NoArity = M1 (L1 (M1 U1))
from (Arity a) = M1 (R1 (M1 (M1 (K1 a))))
to (M1 (L1 (M1 U1))) = NoArity
to (M1 (R1 (M1 (M1 (K1 a))))) = Arity a
data D1Arity
data C1_0Arity
data C1_1Arity
instance Datatype D1Arity where
datatypeName _ = "Arity"
moduleName _ = "GHC.Generics"
instance Constructor C1_0Arity where
conName _ = "NoArity"
instance Constructor C1_1Arity where
conName _ = "Arity"
type Rep0Associativity = D1 D1Associativity (C1 C1_0Associativity U1
:+: (C1 C1_1Associativity U1
:+: C1 C1_2Associativity U1))
instance Generic Associativity where
type Rep Associativity = Rep0Associativity
from LeftAssociative = M1 (L1 (M1 U1))
from RightAssociative = M1 (R1 (L1 (M1 U1)))
from NotAssociative = M1 (R1 (R1 (M1 U1)))
to (M1 (L1 (M1 U1))) = LeftAssociative
to (M1 (R1 (L1 (M1 U1)))) = RightAssociative
to (M1 (R1 (R1 (M1 U1)))) = NotAssociative
data D1Associativity
data C1_0Associativity
data C1_1Associativity
data C1_2Associativity
instance Datatype D1Associativity where
datatypeName _ = "Associativity"
moduleName _ = "GHC.Generics"
instance Constructor C1_0Associativity where
conName _ = "LeftAssociative"
instance Constructor C1_1Associativity where
conName _ = "RightAssociative"
instance Constructor C1_2Associativity where
conName _ = "NotAssociative"
type Rep0Const a b = D1 D1Const (C1 C1_0Const (S1 S1_0_0Const (Rec0 a)))
type Rep1Const a = D1 D1Const (C1 C1_0Const (S1 S1_0_0Const (Rec0 a)))
instance Generic (Const a b) where
type Rep (Const a b) = Rep0Const a b
from (Const a) = M1 (M1 (M1 (K1 a)))
to (M1 (M1 (M1 (K1 a)))) = Const a
instance Generic1 (Const a) where
type Rep1 (Const a) = Rep1Const a
from1 (Const a) = M1 (M1 (M1 (K1 a)))
to1 (M1 (M1 (M1 (K1 a)))) = Const a
data D1Const
data C1_0Const
data S1_0_0Const
instance Datatype D1Const where
datatypeName _ = "Const"
moduleName _ = "Control.Applicative"
instance Constructor C1_0Const where
conName _ = "Const"
conIsRecord _ = True
instance Selector S1_0_0Const where
selName _ = "getConst"
type Rep0Dual a = D1 D1Dual (C1 C1_0Dual (S1 S1_0_0Dual (Rec0 a)))
type Rep1Dual = D1 D1Dual (C1 C1_0Dual (S1 S1_0_0Dual Par1))
instance Generic (Dual a) where
type Rep (Dual a) = Rep0Dual a
from (Dual d) = M1 (M1 (M1 (K1 d)))
to (M1 (M1 (M1 (K1 d)))) = Dual d
instance Generic1 Dual where
type Rep1 Dual = Rep1Dual
from1 (Dual d) = M1 (M1 (M1 (Par1 d)))
to1 (M1 (M1 (M1 (Par1 d)))) = Dual d
data D1Dual
data C1_0Dual
data S1_0_0Dual
instance Datatype D1Dual where
datatypeName _ = "Dual"
moduleName _ = "Data.Monoid"
instance Constructor C1_0Dual where
conName _ = "Dual"
conIsRecord _ = True
instance Selector S1_0_0Dual where
selName _ = "getDual"
type Rep0Endo a = D1 D1Endo (C1 C1_0Endo (S1 S1_0_0Endo (Rec0 (a -> a))))
instance Generic (Endo a) where
type Rep (Endo a) = Rep0Endo a
from (Endo e) = M1 (M1 (M1 (K1 e)))
to (M1 (M1 (M1 (K1 e)))) = Endo e
data D1Endo
data C1_0Endo
data S1_0_0Endo
instance Datatype D1Endo where
datatypeName _ = "Endo"
moduleName _ = "Data.Monoid"
instance Constructor C1_0Endo where
conName _ = "Endo"
conIsRecord _ = True
instance Selector S1_0_0Endo where
selName _ = "appEndo"
type Rep0First a = D1 D1First (C1 C1_0First (S1 S1_0_0First (Rec0 (Maybe a))))
type Rep1First = D1 D1First (C1 C1_0First (S1 S1_0_0First (Rec1 Maybe)))
instance Generic (First a) where
type Rep (First a) = Rep0First a
from (First f) = M1 (M1 (M1 (K1 f)))
to (M1 (M1 (M1 (K1 f)))) = First f
instance Generic1 First where
type Rep1 First = Rep1First
from1 (First f) = M1 (M1 (M1 (Rec1 f)))
to1 (M1 (M1 (M1 (Rec1 f)))) = First f
data D1First
data C1_0First
data S1_0_0First
instance Datatype D1First where
datatypeName _ = "First"
moduleName _ = "Data.Monoid"
instance Constructor C1_0First where
conName _ = "First"
conIsRecord _ = True
instance Selector S1_0_0First where
selName _ = "getFirst"
type Rep0Fixity = D1 D1Fixity (C1 C1_0Fixity U1
:+: C1 C1_1Fixity (S1 NoSelector (Rec0 Associativity)
:*: S1 NoSelector (Rec0 Int)))
instance Generic Fixity where
type Rep Fixity = Rep0Fixity
from Prefix = M1 (L1 (M1 U1))
from (Infix a i) = M1 (R1 (M1 (M1 (K1 a) :*: M1 (K1 i))))
to (M1 (L1 (M1 U1))) = Prefix
to (M1 (R1 (M1 (M1 (K1 a) :*: M1 (K1 i))))) = Infix a i
data D1Fixity
data C1_0Fixity
data C1_1Fixity
instance Datatype D1Fixity where
datatypeName _ = "Fixity"
moduleName _ = "GHC.Generics"
instance Constructor C1_0Fixity where
conName _ = "Prefix"
instance Constructor C1_1Fixity where
conName _ = "Infix"
type Rep0Last a = D1 D1Last (C1 C1_0Last (S1 S1_0_0Last (Rec0 (Maybe a))))
type Rep1Last = D1 D1Last (C1 C1_0Last (S1 S1_0_0Last (Rec1 Maybe)))
instance Generic (Last a) where
type Rep (Last a) = Rep0Last a
from (Last l) = M1 (M1 (M1 (K1 l)))
to (M1 (M1 (M1 (K1 l)))) = Last l
instance Generic1 Last where
type Rep1 Last = Rep1Last
from1 (Last l) = M1 (M1 (M1 (Rec1 l)))
to1 (M1 (M1 (M1 (Rec1 l)))) = Last l
data D1Last
data C1_0Last
data S1_0_0Last
instance Datatype D1Last where
datatypeName _ = "Last"
moduleName _ = "Data.Monoid"
instance Constructor C1_0Last where
conName _ = "Last"
conIsRecord _ = True
instance Selector S1_0_0Last where
selName _ = "getLast"
type Rep0Product a = D1 D1Product (C1 C1_0Product (S1 S1_0_0Product (Rec0 a)))
type Rep1Product = D1 D1Product (C1 C1_0Product (S1 S1_0_0Product Par1))
instance Generic (Product a) where
type Rep (Product a) = Rep0Product a
from (Product p) = M1 (M1 (M1 (K1 p)))
to (M1 (M1 (M1 (K1 p)))) = Product p
instance Generic1 Product where
type Rep1 Product = Rep1Product
from1 (Product p) = M1 (M1 (M1 (Par1 p)))
to1 (M1 (M1 (M1 (Par1 p)))) = Product p
data D1Product
data C1_0Product
data S1_0_0Product
instance Datatype D1Product where
datatypeName _ = "Product"
moduleName _ = "Data.Monoid"
instance Constructor C1_0Product where
conName _ = "Product"
conIsRecord _ = True
instance Selector S1_0_0Product where
selName _ = "getProduct"
type Rep0Sum a = D1 D1Sum (C1 C1_0Sum (S1 S1_0_0Sum (Rec0 a)))
type Rep1Sum = D1 D1Sum (C1 C1_0Sum (S1 S1_0_0Sum Par1))
instance Generic (Sum a) where
type Rep (Sum a) = Rep0Sum a
from (Sum s) = M1 (M1 (M1 (K1 s)))
to (M1 (M1 (M1 (K1 s)))) = Sum s
instance Generic1 Sum where
type Rep1 Sum = Rep1Sum
from1 (Sum s) = M1 (M1 (M1 (Par1 s)))
to1 (M1 (M1 (M1 (Par1 s)))) = Sum s
data D1Sum
data C1_0Sum
data S1_0_0Sum
instance Datatype D1Sum where
datatypeName _ = "Sum"
moduleName _ = "Data.Monoid"
instance Constructor C1_0Sum where
conName _ = "Sum"
conIsRecord _ = True
instance Selector S1_0_0Sum where
selName _ = "getSum"
type Rep0WrappedArrow a b c =
D1 D1WrappedArrow (C1 C1_0WrappedArrow (S1 S1_0_0WrappedArrow (Rec0 (a b c))))
type Rep1WrappedArrow a b =
D1 D1WrappedArrow (C1 C1_0WrappedArrow (S1 S1_0_0WrappedArrow (Rec1 (a b))))
instance Generic (WrappedArrow a b c) where
type Rep (WrappedArrow a b c) = Rep0WrappedArrow a b c
from (WrapArrow a) = M1 (M1 (M1 (K1 a)))
to (M1 (M1 (M1 (K1 a)))) = WrapArrow a
instance Generic1 (WrappedArrow a b) where
type Rep1 (WrappedArrow a b) = Rep1WrappedArrow a b
from1 (WrapArrow a) = M1 (M1 (M1 (Rec1 a)))
to1 (M1 (M1 (M1 (Rec1 a)))) = WrapArrow a
data D1WrappedArrow
data C1_0WrappedArrow
data S1_0_0WrappedArrow
instance Datatype D1WrappedArrow where
datatypeName _ = "WrappedArrow"
moduleName _ = "Control.Applicative"
instance Constructor C1_0WrappedArrow where
conName _ = "WrapArrow"
conIsRecord _ = True
instance Selector S1_0_0WrappedArrow where
selName _ = "unwrapArrow"
type Rep0WrappedMonad m a =
D1 D1WrappedMonad (C1 C1_0WrappedMonad (S1 S1_0_0WrappedMonad (Rec0 (m a))))
type Rep1WrappedMonad m =
D1 D1WrappedMonad (C1 C1_0WrappedMonad (S1 S1_0_0WrappedMonad (Rec1 m)))
instance Generic (WrappedMonad m a) where
type Rep (WrappedMonad m a) = Rep0WrappedMonad m a
from (WrapMonad m) = M1 (M1 (M1 (K1 m)))
to (M1 (M1 (M1 (K1 m)))) = WrapMonad m
instance Generic1 (WrappedMonad m) where
type Rep1 (WrappedMonad m) = Rep1WrappedMonad m
from1 (WrapMonad m) = M1 (M1 (M1 (Rec1 m)))
to1 (M1 (M1 (M1 (Rec1 m)))) = WrapMonad m
data D1WrappedMonad
data C1_0WrappedMonad
data S1_0_0WrappedMonad
instance Datatype D1WrappedMonad where
datatypeName _ = "WrappedMonad"
moduleName _ = "Control.Applicative"
instance Constructor C1_0WrappedMonad where
conName _ = "WrapMonad"
conIsRecord _ = True
instance Selector S1_0_0WrappedMonad where
selName _ = "unwrapMonad"
type Rep0ZipList a = D1 D1ZipList (C1 C1_0ZipList (S1 S1_0_0ZipList (Rec0 [a])))
type Rep1ZipList = D1 D1ZipList (C1 C1_0ZipList (S1 S1_0_0ZipList (Rec1 [])))
instance Generic (ZipList a) where
type Rep (ZipList a) = Rep0ZipList a
from (ZipList z) = M1 (M1 (M1 (K1 z)))
to (M1 (M1 (M1 (K1 z)))) = ZipList z
instance Generic1 ZipList where
type Rep1 ZipList = Rep1ZipList
from1 (ZipList z) = M1 (M1 (M1 (Rec1 z)))
to1 (M1 (M1 (M1 (Rec1 z)))) = ZipList z
data D1ZipList
data C1_0ZipList
data S1_0_0ZipList
instance Datatype D1ZipList where
datatypeName _ = "ZipList"
moduleName _ = "Control.Applicative"
instance Constructor C1_0ZipList where
conName _ = "ZipList"
conIsRecord _ = True
instance Selector S1_0_0ZipList where
selName _ = "getZipList"
type Rep0U1 p = D1 D1U1 (C1 C1_0U1 U1)
instance Generic (U1 p) where
type Rep (U1 p) = Rep0U1 p
from U1 = M1 (M1 U1)
to (M1 (M1 U1)) = U1
data D1U1
data C1_0U1
instance Datatype D1U1 where
datatypeName _ = "U1"
moduleName _ = "GHC.Generics"
instance Constructor C1_0U1 where
conName _ = "U1"
type Rep0Par1 p = D1 D1Par1 (C1 C1_0Par1 (S1 S1_0_0Par1 (Rec0 p)))
instance Generic (Par1 p) where
type Rep (Par1 p) = Rep0Par1 p
from (Par1 p) = M1 (M1 (M1 (K1 p)))
to (M1 (M1 (M1 (K1 p)))) = Par1 p
data D1Par1
data C1_0Par1
data S1_0_0Par1
instance Datatype D1Par1 where
datatypeName _ = "Par1"
moduleName _ = "GHC.Generics"
instance Constructor C1_0Par1 where
conName _ = "Par1"
conIsRecord _ = True
instance Selector S1_0_0Par1 where
selName _ = "unPar1"
type Rep0Rec1 f p = D1 D1Rec1 (C1 C1_0Rec1 (S1 S1_0_0Rec1 (Rec0 (f p))))
instance Generic (Rec1 f p) where
type Rep (Rec1 f p) = Rep0Rec1 f p
from (Rec1 r) = M1 (M1 (M1 (K1 r)))
to (M1 (M1 (M1 (K1 r)))) = Rec1 r
data D1Rec1
data C1_0Rec1
data S1_0_0Rec1
instance Datatype D1Rec1 where
datatypeName _ = "Rec1"
moduleName _ = "GHC.Generics"
instance Constructor C1_0Rec1 where
conName _ = "Rec1"
conIsRecord _ = True
instance Selector S1_0_0Rec1 where
selName _ = "unRec1"
type Rep0K1 i c p = D1 D1K1 (C1 C1_0K1 (S1 S1_0_0K1 (Rec0 c)))
instance Generic (K1 i c p) where
type Rep (K1 i c p) = Rep0K1 i c p
from (K1 c) = M1 (M1 (M1 (K1 c)))
to (M1 (M1 (M1 (K1 c)))) = K1 c
data D1K1
data C1_0K1
data S1_0_0K1
instance Datatype D1K1 where
datatypeName _ = "K1"
moduleName _ = "GHC.Generics"
instance Constructor C1_0K1 where
conName _ = "K1"
conIsRecord _ = True
instance Selector S1_0_0K1 where
selName _ = "unK1"
type Rep0M1 i c f p = D1 D1M1 (C1 C1_0M1 (S1 S1_0_0M1 (Rec0 (f p))))
instance Generic (M1 i c f p) where
type Rep (M1 i c f p) = Rep0M1 i c f p
from (M1 m) = M1 (M1 (M1 (K1 m)))
to (M1 (M1 (M1 (K1 m)))) = M1 m
data D1M1
data C1_0M1
data S1_0_0M1
instance Datatype D1M1 where
datatypeName _ = "M1"
moduleName _ = "GHC.Generics"
instance Constructor C1_0M1 where
conName _ = "M1"
conIsRecord _ = True
instance Selector S1_0_0M1 where
selName _ = "unM1"
type Rep0ConSum f g p = D1 D1ConSum (C1 C1_0ConSum (S1 NoSelector (Rec0 (f p)))
:+: C1 C1_1ConSum (S1 NoSelector (Rec0 (g p))))
instance Generic ((f :+: g) p) where
type Rep ((f :+: g) p) = Rep0ConSum f g p
from (L1 l) = M1 (L1 (M1 (M1 (K1 l))))
from (R1 r) = M1 (R1 (M1 (M1 (K1 r))))
to (M1 (L1 (M1 (M1 (K1 l))))) = L1 l
to (M1 (R1 (M1 (M1 (K1 r))))) = R1 r
data D1ConSum
data C1_0ConSum
data C1_1ConSum
instance Datatype D1ConSum where
datatypeName _ = ":+:"
moduleName _ = "GHC.Generics"
instance Constructor C1_0ConSum where
conName _ = "L1"
instance Constructor C1_1ConSum where
conName _ = "R1"
type Rep0ConProduct f g p =
D1 D1ConProduct (C1 C1_ConProduct (S1 NoSelector (Rec0 (f p))
:*: S1 NoSelector (Rec0 (g p))))
instance Generic ((f :*: g) p) where
type Rep ((f :*: g) p) = Rep0ConProduct f g p
from (f :*: g) = M1 (M1 (M1 (K1 f) :*: M1 (K1 g)))
to (M1 (M1 (M1 (K1 f) :*: M1 (K1 g)))) = f :*: g
data D1ConProduct
data C1_ConProduct
instance Datatype D1ConProduct where
datatypeName _ = ":*:"
moduleName _ = "GHC.Generics"
instance Constructor C1_ConProduct where
conName _ = ":*:"
conFixity _ = Infix RightAssociative 6
type Rep0ConCompose f g p =
D1 D1ConCompose (C1 C1_0ConCompose (S1 S1_0_0ConCompose (Rec0 (f (g p)))))
instance Generic ((f :.: g) p) where
type Rep ((f :.: g) p) = Rep0ConCompose f g p
from (Comp1 c) = M1 (M1 (M1 (K1 c)))
to (M1 (M1 (M1 (K1 c)))) = Comp1 c
data D1ConCompose
data C1_0ConCompose
data S1_0_0ConCompose
instance Datatype D1ConCompose where
datatypeName _ = ":.:"
moduleName _ = "GHC.Generics"
instance Constructor C1_0ConCompose where
conName _ = "Comp1"
conIsRecord _ = True
instance Selector S1_0_0ConCompose where
selName _ = "unComp1"
#endif
#if __GLASGOW_HASKELL__ < 705
type Rep1List = D1 D1List (C1 C1_0List U1 :+:
C1 C1_1List (S1 NoSelector Par1
:*: S1 NoSelector (Rec1 [])))
instance Generic1 [] where
type Rep1 [] = Rep1List
from1 [] = M1 (L1 (M1 U1))
from1 (h:t) = M1 (R1 (M1 (M1 (Par1 h) :*: M1 (Rec1 t))))
to1 (M1 (L1 (M1 U1))) = []
to1 (M1 (R1 (M1 (M1 (Par1 h) :*: M1 (Rec1 t))))) = h : t
data D1List
data C1_0List
data C1_1List
instance Datatype D1List where
datatypeName _ = "[]"
moduleName _ = "GHC.Types"
instance Constructor C1_0List where
conName _ = "[]"
instance Constructor C1_1List where
conName _ = ":"
conFixity _ = Infix RightAssociative 5
type Rep1Either a = D1 D1Either (C1 C1_0Either (S1 NoSelector (Rec0 a))
:+: C1 C1_1Either (S1 NoSelector Par1))
instance Generic1 (Either a) where
type Rep1 (Either a) = Rep1Either a
from1 (Left l) = M1 (L1 (M1 (M1 (K1 l))))
from1 (Right r) = M1 (R1 (M1 (M1 (Par1 r))))
to1 (M1 (L1 (M1 (M1 (K1 l))))) = Left l
to1 (M1 (R1 (M1 (M1 (Par1 r))))) = Right r
data D1Either
data C1_0Either
data C1_1Either
instance Datatype D1Either where
datatypeName _ = "Either"
moduleName _ = "Data.Either"
instance Constructor C1_0Either where
conName _ = "Left"
instance Constructor C1_1Either where
conName _ = "Right"
type Rep1Maybe = D1 D1Maybe (C1 C1_0Maybe U1
:+: C1 C1_1Maybe (S1 NoSelector Par1))
instance Generic1 Maybe where
type Rep1 Maybe = Rep1Maybe
from1 Nothing = M1 (L1 (M1 U1))
from1 (Just j) = M1 (R1 (M1 (M1 (Par1 j))))
to1 (M1 (L1 (M1 U1))) = Nothing
to1 (M1 (R1 (M1 (M1 (Par1 j))))) = Just j
data D1Maybe
data C1_0Maybe
data C1_1Maybe
instance Datatype D1Maybe where
datatypeName _ = "Maybe"
moduleName _ = "Data.Maybe"
instance Constructor C1_0Maybe where
conName _ = "Nothing"
instance Constructor C1_1Maybe where
conName _ = "Just"
type Rep1Tuple2 a = D1 D1Tuple2 (C1 C1_0Tuple2 (S1 NoSelector (Rec0 a)
:*: S1 NoSelector Par1))
instance Generic1 ((,) a) where
type Rep1 ((,) a) = Rep1Tuple2 a
from1 (a, b) = M1 (M1 (M1 (K1 a) :*: M1 (Par1 b)))
to1 (M1 (M1 (M1 (K1 a) :*: M1 (Par1 b)))) = (a, b)
data D1Tuple2
data C1_0Tuple2
instance Datatype D1Tuple2 where
datatypeName _ = "(,)"
moduleName _ = "GHC.Tuple"
instance Constructor C1_0Tuple2 where
conName _ = "(,)"
type Rep1Tuple3 a b = D1 D1Tuple3 (C1 C1_0Tuple3 (S1 NoSelector (Rec0 a)
:*: (S1 NoSelector (Rec0 b)
:*: S1 NoSelector Par1)))
instance Generic1 ((,,) a b) where
type Rep1 ((,,) a b) = Rep1Tuple3 a b
from1 (a, b, c) = M1 (M1 (M1 (K1 a) :*: (M1 (K1 b) :*: M1 (Par1 c))))
to1 (M1 (M1 (M1 (K1 a) :*: (M1 (K1 b) :*: M1 (Par1 c))))) = (a, b, c)
data D1Tuple3
data C1_0Tuple3
instance Datatype D1Tuple3 where
datatypeName _ = "(,,)"
moduleName _ = "GHC.Tuple"
instance Constructor C1_0Tuple3 where
conName _ = "(,,)"
type Rep1Tuple4 a b c = D1 D1Tuple4 (C1 C1_0Tuple4 ((S1 NoSelector (Rec0 a)
:*: S1 NoSelector (Rec0 b))
:*: (S1 NoSelector (Rec0 c)
:*: S1 NoSelector Par1)))
instance Generic1 ((,,,) a b c) where
type Rep1 ((,,,) a b c) = Rep1Tuple4 a b c
from1 (a, b, c, d) = M1 (M1 ((M1 (K1 a) :*: M1 (K1 b))
:*: (M1 (K1 c) :*: M1 (Par1 d))))
to1 (M1 (M1 ((M1 (K1 a) :*: M1 (K1 b))
:*: (M1 (K1 c) :*: M1 (Par1 d)))))
= (a, b, c, d)
data D1Tuple4
data C1_0Tuple4
instance Datatype D1Tuple4 where
datatypeName _ = "(,,,)"
moduleName _ = "GHC.Tuple"
instance Constructor C1_0Tuple4 where
conName _ = "(,,,)"
type Rep1Tuple5 a b c d = D1 D1Tuple5 (C1 C1_0Tuple5 ((S1 NoSelector (Rec0 a)
:*: S1 NoSelector (Rec0 b))
:*: (S1 NoSelector (Rec0 c)
:*: (S1 NoSelector (Rec0 d)
:*: S1 NoSelector Par1))))
instance Generic1 ((,,,,) a b c d) where
type Rep1 ((,,,,) a b c d) = Rep1Tuple5 a b c d
from1 (a, b, c, d, e) = M1 (M1 ((M1 (K1 a) :*: M1 (K1 b))
:*: (M1 (K1 c) :*: (M1 (K1 d) :*: M1 (Par1 e)))))
to1 (M1 (M1 ((M1 (K1 a) :*: M1 (K1 b))
:*: (M1 (K1 c) :*: (M1 (K1 d) :*: M1 (Par1 e))))))
= (a, b, c, d, e)
data D1Tuple5
data C1_0Tuple5
instance Datatype D1Tuple5 where
datatypeName _ = "(,,,,)"
moduleName _ = "GHC.Tuple"
instance Constructor C1_0Tuple5 where
conName _ = "(,,,,)"
type Rep1Tuple6 a b c d e =
D1 D1Tuple6 (C1 C1_0Tuple6 ((S1 NoSelector (Rec0 a)
:*: (S1 NoSelector (Rec0 b)
:*: S1 NoSelector (Rec0 c)))
:*: (S1 NoSelector (Rec0 d)
:*: (S1 NoSelector (Rec0 e)
:*: S1 NoSelector Par1))))
instance Generic1 ((,,,,,) a b c d e) where
type Rep1 ((,,,,,) a b c d e) = Rep1Tuple6 a b c d e
from1 (a, b, c, d, e, f) = M1 (M1 ((M1 (K1 a) :*: (M1 (K1 b) :*: M1 (K1 c)))
:*: (M1 (K1 d) :*: (M1 (K1 e) :*: M1 (Par1 f)))))
to1 (M1 (M1 ((M1 (K1 a) :*: (M1 (K1 b) :*: M1 (K1 c)))
:*: (M1 (K1 d) :*: (M1 (K1 e) :*: M1 (Par1 f))))))
= (a, b, c, d, e, f)
data D1Tuple6
data C1_0Tuple6
instance Datatype D1Tuple6 where
datatypeName _ = "(,,,,,)"
moduleName _ = "GHC.Tuple"
instance Constructor C1_0Tuple6 where
conName _ = "(,,,,,)"
type Rep1Tuple7 a b c d e f =
D1 D1Tuple7 (C1 C1_0Tuple7 ((S1 NoSelector (Rec0 a)
:*: (S1 NoSelector (Rec0 b)
:*: S1 NoSelector (Rec0 c)))
:*: ((S1 NoSelector (Rec0 d)
:*: S1 NoSelector (Rec0 e))
:*: (S1 NoSelector (Rec0 f)
:*: S1 NoSelector Par1))))
instance Generic1 ((,,,,,,) a b c d e f) where
type Rep1 ((,,,,,,) a b c d e f) = Rep1Tuple7 a b c d e f
from1 (a, b, c, d, e, f, g) = M1 (M1 ((M1 (K1 a) :*: (M1 (K1 b) :*: M1 (K1 c)))
:*: ((M1 (K1 d) :*: M1 (K1 e)) :*: (M1 (K1 f) :*: M1 (Par1 g)))))
to1 (M1 (M1 ((M1 (K1 a) :*: (M1 (K1 b) :*: M1 (K1 c)))
:*: ((M1 (K1 d) :*: M1 (K1 e)) :*: (M1 (K1 f) :*: M1 (Par1 g))))))
= (a, b, c, d, e, f, g)
data D1Tuple7
data C1_0Tuple7
instance Datatype D1Tuple7 where
datatypeName _ = "(,,,,,,)"
moduleName _ = "GHC.Tuple"
instance Constructor C1_0Tuple7 where
conName _ = "(,,,,,,)"
#endif
#if __GLASGOW_HASKELL__ < 701
type Rep0Bool = D1 D1Bool (C1 C1_0Bool U1 :+: C1 C1_1Bool U1)
instance Generic Bool where
type Rep Bool = Rep0Bool
from False = M1 (L1 (M1 U1))
from True = M1 (R1 (M1 U1))
to (M1 (L1 (M1 U1))) = False
to (M1 (R1 (M1 U1))) = True
data D1Bool
data C1_0Bool
data C1_1Bool
instance Datatype D1Bool where
datatypeName _ = "Bool"
moduleName _ = "GHC.Bool"
instance Constructor C1_0Bool where
conName _ = "False"
instance Constructor C1_1Bool where
conName _ = "True"
data D_Char
data C_Char
instance Datatype D_Char where
datatypeName _ = "Char"
moduleName _ = "GHC.Base"
instance Constructor C_Char where
conName _ = ""
type Rep0Char = D1 D_Char (C1 C_Char (S1 NoSelector (Rec0 Char)))
instance Generic Char where
type Rep Char = Rep0Char
from x = M1 (M1 (M1 (K1 x)))
to (M1 (M1 (M1 (K1 x)))) = x
data D_Double
data C_Double
instance Datatype D_Double where
datatypeName _ = "Double"
moduleName _ = "GHC.Float"
instance Constructor C_Double where
conName _ = ""
type Rep0Double = D1 D_Double (C1 C_Double (S1 NoSelector (Rec0 Double)))
instance Generic Double where
type Rep Double = Rep0Double
from x = M1 (M1 (M1 (K1 x)))
to (M1 (M1 (M1 (K1 x)))) = x
type Rep0Either a b = D1 D1Either (C1 C1_0Either (S1 NoSelector (Rec0 a))
:+: C1 C1_1Either (S1 NoSelector (Rec0 b)))
instance Generic (Either a b) where
type Rep (Either a b) = Rep0Either a b
from (Left l) = M1 (L1 (M1 (M1 (K1 l))))
from (Right r) = M1 (R1 (M1 (M1 (K1 r))))
to (M1 (L1 (M1 (M1 (K1 l))))) = Left l
to (M1 (R1 (M1 (M1 (K1 r))))) = Right r
data D_Int
data C_Int
instance Datatype D_Int where
datatypeName _ = "Int"
moduleName _ = "GHC.Int"
instance Constructor C_Int where
conName _ = ""
type Rep0Int = D1 D_Int (C1 C_Int (S1 NoSelector (Rec0 Int)))
instance Generic Int where
type Rep Int = Rep0Int
from x = M1 (M1 (M1 (K1 x)))
to (M1 (M1 (M1 (K1 x)))) = x
data D_Float
data C_Float
instance Datatype D_Float where
datatypeName _ = "Float"
moduleName _ = "GHC.Float"
instance Constructor C_Float where
conName _ = ""
type Rep0Float = D1 D_Float (C1 C_Float (S1 NoSelector (Rec0 Float)))
instance Generic Float where
type Rep Float = Rep0Float
from x = M1 (M1 (M1 (K1 x)))
to (M1 (M1 (M1 (K1 x)))) = x
type Rep0List a =
D1 D1List (C1 C1_0List U1 :+: C1 C1_1List (S1 NoSelector (Rec0 a)
:*: S1 NoSelector (Rec0 [a])))
instance Generic [a] where
type Rep [a] = Rep0List a
from [] = M1 (L1 (M1 U1))
from (h:t) = M1 (R1 (M1 (M1 (K1 h) :*: M1 (K1 t))))
to (M1 (L1 (M1 U1))) = []
to (M1 (R1 (M1 (M1 (K1 h) :*: M1 (K1 t))))) = h : t
type Rep0Maybe a = D1 D1Maybe (C1 C1_0Maybe U1
:+: C1 C1_1Maybe (S1 NoSelector (Rec0 a)))
instance Generic (Maybe a) where
type Rep (Maybe a) = Rep0Maybe a
from Nothing = M1 (L1 (M1 U1))
from (Just j) = M1 (R1 (M1 (M1 (K1 j))))
to (M1 (L1 (M1 U1))) = Nothing
to (M1 (R1 (M1 (M1 (K1 j))))) = Just j
type Rep0Ordering = D1 D1Ordering (C1 C1_0Ordering U1
:+: (C1 C1_1Ordering U1 :+: C1 C1_2Ordering U1))
instance Generic Ordering where
type Rep Ordering = Rep0Ordering
from LT = M1 (L1 (M1 U1))
from EQ = M1 (R1 (L1 (M1 U1)))
from GT = M1 (R1 (R1 (M1 U1)))
to (M1 (L1 (M1 U1))) = LT
to (M1 (R1 (L1 (M1 U1)))) = EQ
to (M1 (R1 (R1 (M1 U1)))) = GT
data D1Ordering
data C1_0Ordering
data C1_1Ordering
data C1_2Ordering
instance Datatype D1Ordering where
datatypeName _ = "Ordering"
moduleName _ = "GHC.Ordering"
instance Constructor C1_0Ordering where
conName _ = "LT"
instance Constructor C1_1Ordering where
conName _ = "EQ"
instance Constructor C1_2Ordering where
conName _ = "GT"
type Rep0Unit = D1 D1Unit (C1 C1_0Unit U1)
instance Generic () where
type Rep () = Rep0Unit
from () = M1 (M1 U1)
to (M1 (M1 U1)) = ()
data D1Unit
data C1_0Unit
instance Datatype D1Unit where
datatypeName _ = "()"
moduleName _ = "GHC.Tuple"
instance Constructor C1_0Unit where
conName _ = "()"
type Rep0Tuple2 a b = D1 D1Tuple2 (C1 C1_0Tuple2 (S1 NoSelector (Rec0 a)
:*: S1 NoSelector (Rec0 b)))
instance Generic (a, b) where
type Rep (a, b) = Rep0Tuple2 a b
from (a, b) = M1 (M1 (M1 (K1 a) :*: M1 (K1 b)))
to (M1 (M1 (M1 (K1 a) :*: M1 (K1 b)))) = (a, b)
type Rep0Tuple3 a b c = D1 D1Tuple3 (C1 C1_0Tuple3 (S1 NoSelector (Rec0 a)
:*: (S1 NoSelector (Rec0 b)
:*: S1 NoSelector (Rec0 c))))
instance Generic (a, b, c) where
type Rep (a, b, c) = Rep0Tuple3 a b c
from (a, b, c) = M1 (M1 (M1 (K1 a) :*: (M1 (K1 b) :*: M1 (K1 c))))
to (M1 (M1 (M1 (K1 a) :*: (M1 (K1 b) :*: M1 (K1 c))))) = (a, b, c)
type Rep0Tuple4 a b c d = D1 D1Tuple4 (C1 C1_0Tuple4 ((S1 NoSelector (Rec0 a)
:*: S1 NoSelector (Rec0 b))
:*: (S1 NoSelector (Rec0 c)
:*: S1 NoSelector (Rec0 d))))
instance Generic (a, b, c, d) where
type Rep (a, b, c, d) = Rep0Tuple4 a b c d
from (a, b, c, d) = M1 (M1 ((M1 (K1 a) :*: M1 (K1 b))
:*: (M1 (K1 c) :*: M1 (K1 d))))
to (M1 (M1 ((M1 (K1 a) :*: M1 (K1 b))
:*: (M1 (K1 c) :*: M1 (K1 d)))))
= (a, b, c, d)
type Rep0Tuple5 a b c d e = D1 D1Tuple5 (C1 C1_0Tuple5 ((S1 NoSelector (Rec0 a)
:*: S1 NoSelector (Rec0 b))
:*: (S1 NoSelector (Rec0 c)
:*: (S1 NoSelector (Rec0 d)
:*: S1 NoSelector (Rec0 e)))))
instance Generic (a, b, c, d, e) where
type Rep (a, b, c, d, e) = Rep0Tuple5 a b c d e
from (a, b, c, d, e) = M1 (M1 ((M1 (K1 a) :*: M1 (K1 b))
:*: (M1 (K1 c) :*: (M1 (K1 d) :*: M1 (K1 e)))))
to (M1 (M1 ((M1 (K1 a) :*: M1 (K1 b))
:*: (M1 (K1 c) :*: (M1 (K1 d) :*: M1 (K1 e))))))
= (a, b, c, d, e)
type Rep0Tuple6 a b c d e f = D1 D1Tuple6 (C1 C1_0Tuple6 ((S1 NoSelector (Rec0 a)
:*: (S1 NoSelector (Rec0 b)
:*: S1 NoSelector (Rec0 c)))
:*: (S1 NoSelector (Rec0 d)
:*: (S1 NoSelector (Rec0 e)
:*: S1 NoSelector (Rec0 f)))))
instance Generic (a, b, c, d, e, f) where
type Rep (a, b, c, d, e, f) = Rep0Tuple6 a b c d e f
from (a, b, c, d, e, f) = M1 (M1 ((M1 (K1 a) :*: (M1 (K1 b) :*: M1 (K1 c)))
:*: (M1 (K1 d) :*: (M1 (K1 e) :*: M1 (K1 f)))))
to (M1 (M1 ((M1 (K1 a) :*: (M1 (K1 b) :*: M1 (K1 c)))
:*: (M1 (K1 d) :*: (M1 (K1 e) :*: M1 (K1 f))))))
= (a, b, c, d, e, f)
type Rep0Tuple7 a b c d e f g
= D1 D1Tuple7 (C1 C1_0Tuple7 ((S1 NoSelector (Rec0 a)
:*: (S1 NoSelector (Rec0 b)
:*: S1 NoSelector (Rec0 c)))
:*: ((S1 NoSelector (Rec0 d)
:*: S1 NoSelector (Rec0 e))
:*: (S1 NoSelector (Rec0 f)
:*: S1 NoSelector (Rec0 g)))))
instance Generic (a, b, c, d, e, f, g) where
type Rep (a, b, c, d, e, f, g) = Rep0Tuple7 a b c d e f g
from (a, b, c, d, e, f, g) = M1 (M1 ((M1 (K1 a) :*: (M1 (K1 b) :*: M1 (K1 c)))
:*: ((M1 (K1 d) :*: M1 (K1 e)) :*: (M1 (K1 f) :*: M1 (K1 g)))))
to (M1 (M1 ((M1 (K1 a) :*: (M1 (K1 b) :*: M1 (K1 c)))
:*: ((M1 (K1 d) :*: M1 (K1 e)) :*: (M1 (K1 f) :*: M1 (K1 g))))))
= (a, b, c, d, e, f, g)
#endif