generics-sop
Safe HaskellNone
LanguageHaskell2010

Generics.SOP.Metadata

Contents

Description

Metadata about what a datatype looks like

In generics-sop, the metadata is completely independent of the main universe. Many generic functions will use this metadata, but other don't, and yet others might need completely different metadata.

This module defines a datatype to represent standard metadata, i.e., names of the datatype, its constructors, and possibly its record selectors. Metadata descriptions are in general GADTs indexed by the code of the datatype they're associated with, so matching on the metadata will reveal information about the shape of the datatype.

Synopsis

Documentation

constructorInfo :: forall (xss :: [[Type]]). DatatypeInfo xss -> NP ConstructorInfo xss Source #

The constructor info for a datatype (or newtype).

Since: 0.2.3.0

constructorName :: forall (xs :: [Type]). ConstructorInfo xs -> ConstructorName Source #

The name of a constructor.

Since: 0.2.3.0

datatypeName :: forall (xss :: [[Type]]). DatatypeInfo xss -> DatatypeName Source #

The name of a datatype (or newtype).

Since: 0.2.3.0

fieldName :: FieldInfo a -> FieldName Source #

The name of a field.

Since: 0.2.3.0

moduleName :: forall (xss :: [[Type]]). DatatypeInfo xss -> ModuleName Source #

The module name where a datatype is defined.

Since: 0.2.3.0

data ConstructorInfo (a :: [Type]) where Source #

Metadata for a single constructor.

This is indexed by the product structure of the constructor components.

Constructors

Constructor :: forall (a :: [Type]). SListI a => ConstructorName -> ConstructorInfo a 
Infix :: forall x y. ConstructorName -> Associativity -> Fixity -> ConstructorInfo '[x, y] 
Record :: forall (a :: [Type]). SListI a => ConstructorName -> NP FieldInfo a -> ConstructorInfo a 

Instances

Instances details
All (Compose Show FieldInfo) xs => Show (ConstructorInfo xs) Source # 
Instance details

Defined in Generics.SOP.Metadata

Methods

showsPrec :: Int -> ConstructorInfo xs -> ShowS

show :: ConstructorInfo xs -> String

showList :: [ConstructorInfo xs] -> ShowS

All (Compose Eq FieldInfo) xs => Eq (ConstructorInfo xs) Source # 
Instance details

Defined in Generics.SOP.Metadata

Methods

(==) :: ConstructorInfo xs -> ConstructorInfo xs -> Bool

(/=) :: ConstructorInfo xs -> ConstructorInfo xs -> Bool

(All (Compose Eq FieldInfo) xs, All (Compose Ord FieldInfo) xs) => Ord (ConstructorInfo xs) Source # 
Instance details

Defined in Generics.SOP.Metadata

type ConstructorName = String Source #

The name of a data constructor.

data DatatypeInfo (a :: [[Type]]) where Source #

Metadata for a datatype.

A value of type DatatypeInfo c contains the information about a datatype that is not contained in Code c. This information consists primarily of the names of the datatype, its constructors, and possibly its record selectors.

The constructor indicates whether the datatype has been declared using newtype or not.

Constructors

ADT :: forall (a :: [[Type]]). ModuleName -> DatatypeName -> NP ConstructorInfo a -> POP StrictnessInfo a -> DatatypeInfo a 
Newtype :: forall x. ModuleName -> DatatypeName -> ConstructorInfo '[x] -> DatatypeInfo '['[x]] 

Instances

Instances details
(All (Compose Show ConstructorInfo) xs, All (Compose Show (NP StrictnessInfo)) xs) => Show (DatatypeInfo xs) Source # 
Instance details

Defined in Generics.SOP.Metadata

Methods

showsPrec :: Int -> DatatypeInfo xs -> ShowS

show :: DatatypeInfo xs -> String

showList :: [DatatypeInfo xs] -> ShowS

(All (Compose Eq ConstructorInfo) xs, All (Compose Eq (NP StrictnessInfo)) xs) => Eq (DatatypeInfo xs) Source # 
Instance details

Defined in Generics.SOP.Metadata

Methods

(==) :: DatatypeInfo xs -> DatatypeInfo xs -> Bool

(/=) :: DatatypeInfo xs -> DatatypeInfo xs -> Bool

(All (Compose Eq ConstructorInfo) xs, All (Compose Ord ConstructorInfo) xs, All (Compose Eq (NP StrictnessInfo)) xs, All (Compose Ord (NP StrictnessInfo)) xs) => Ord (DatatypeInfo xs) Source # 
Instance details

Defined in Generics.SOP.Metadata

Methods

compare :: DatatypeInfo xs -> DatatypeInfo xs -> Ordering

(<) :: DatatypeInfo xs -> DatatypeInfo xs -> Bool

(<=) :: DatatypeInfo xs -> DatatypeInfo xs -> Bool

(>) :: DatatypeInfo xs -> DatatypeInfo xs -> Bool

(>=) :: DatatypeInfo xs -> DatatypeInfo xs -> Bool

max :: DatatypeInfo xs -> DatatypeInfo xs -> DatatypeInfo xs

min :: DatatypeInfo xs -> DatatypeInfo xs -> DatatypeInfo xs

type DatatypeName = String Source #

The name of a datatype.

data FieldInfo a where Source #

For records, this functor maps the component to its selector name.

Constructors

FieldInfo :: forall a. FieldName -> FieldInfo a 

Instances

Instances details
Functor FieldInfo Source # 
Instance details

Defined in Generics.SOP.Metadata

Methods

fmap :: (a -> b) -> FieldInfo a -> FieldInfo b

(<$) :: a -> FieldInfo b -> FieldInfo a

Show (FieldInfo a) Source # 
Instance details

Defined in Generics.SOP.Metadata

Methods

showsPrec :: Int -> FieldInfo a -> ShowS

show :: FieldInfo a -> String

showList :: [FieldInfo a] -> ShowS

Eq (FieldInfo a) Source # 
Instance details

Defined in Generics.SOP.Metadata

Methods

(==) :: FieldInfo a -> FieldInfo a -> Bool

(/=) :: FieldInfo a -> FieldInfo a -> Bool

Ord (FieldInfo a) Source # 
Instance details

Defined in Generics.SOP.Metadata

Methods

compare :: FieldInfo a -> FieldInfo a -> Ordering

(<) :: FieldInfo a -> FieldInfo a -> Bool

(<=) :: FieldInfo a -> FieldInfo a -> Bool

(>) :: FieldInfo a -> FieldInfo a -> Bool

(>=) :: FieldInfo a -> FieldInfo a -> Bool

max :: FieldInfo a -> FieldInfo a -> FieldInfo a

min :: FieldInfo a -> FieldInfo a -> FieldInfo a

type FieldName = String Source #

The name of a field / record selector.

type Fixity = Int Source #

The fixity of an infix constructor.

type ModuleName = String Source #

The name of a module.

data StrictnessInfo a where Source #

Metadata for strictness information of a field.

Indexed by the type of the field.

Since: 0.4.0.0

Instances

Instances details
Functor StrictnessInfo Source # 
Instance details

Defined in Generics.SOP.Metadata

Methods

fmap :: (a -> b) -> StrictnessInfo a -> StrictnessInfo b

(<$) :: a -> StrictnessInfo b -> StrictnessInfo a

Show (StrictnessInfo a) Source # 
Instance details

Defined in Generics.SOP.Metadata

Methods

showsPrec :: Int -> StrictnessInfo a -> ShowS

show :: StrictnessInfo a -> String

showList :: [StrictnessInfo a] -> ShowS

Eq (StrictnessInfo a) Source # 
Instance details

Defined in Generics.SOP.Metadata

Methods

(==) :: StrictnessInfo a -> StrictnessInfo a -> Bool

(/=) :: StrictnessInfo a -> StrictnessInfo a -> Bool

Ord (StrictnessInfo a) Source # 
Instance details

Defined in Generics.SOP.Metadata

re-exports

data Associativity #

Instances

Instances details
Generic Associativity Source # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Associativity 
Instance details

Defined in Generics.SOP.Instances

type Code Associativity = '['[] :: [Type], '[] :: [Type], '[] :: [Type]]
HasDatatypeInfo Associativity Source # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Associativity 
Instance details

Defined in Generics.SOP.Instances

type DatatypeInfoOf Associativity = 'ADT "GHC.Internal.Generics" "Associativity" '['Constructor "LeftAssociative", 'Constructor "RightAssociative", 'Constructor "NotAssociative"] '['[] :: [StrictnessInfo], '[] :: [StrictnessInfo], '[] :: [StrictnessInfo]]
Data Associativity # 
Instance details

Defined in GHC.Internal.Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Associativity -> c Associativity

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Associativity

toConstr :: Associativity -> Constr

dataTypeOf :: Associativity -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Associativity)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Associativity)

gmapT :: (forall b. Data b => b -> b) -> Associativity -> Associativity

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Associativity -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Associativity -> r

gmapQ :: (forall d. Data d => d -> u) -> Associativity -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Associativity -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Associativity -> m Associativity

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Associativity -> m Associativity

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Associativity -> m Associativity

Bounded Associativity # 
Instance details

Defined in GHC.Internal.Generics

Enum Associativity # 
Instance details

Defined in GHC.Internal.Generics

Generic Associativity # 
Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep Associativity 
Instance details

Defined in GHC.Internal.Generics

type Rep Associativity = D1 ('MetaData "Associativity" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "LeftAssociative" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RightAssociative" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotAssociative" 'PrefixI 'False) (U1 :: Type -> Type)))
SingKind Associativity # 
Instance details

Defined in GHC.Internal.Generics

Associated Types

type DemoteRep Associativity 
Instance details

Defined in GHC.Internal.Generics

type DemoteRep Associativity = Associativity

Methods

fromSing :: forall (a :: Associativity). Sing a -> DemoteRep Associativity

Ix Associativity # 
Instance details

Defined in GHC.Internal.Generics

Read Associativity # 
Instance details

Defined in GHC.Internal.Generics

Methods

readsPrec :: Int -> ReadS Associativity

readList :: ReadS [Associativity]

readPrec :: ReadPrec Associativity

readListPrec :: ReadPrec [Associativity]

Show Associativity # 
Instance details

Defined in GHC.Internal.Generics

Methods

showsPrec :: Int -> Associativity -> ShowS

show :: Associativity -> String

showList :: [Associativity] -> ShowS

Eq Associativity # 
Instance details

Defined in GHC.Internal.Generics

Ord Associativity # 
Instance details

Defined in GHC.Internal.Generics

SingI 'LeftAssociative # 
Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'LeftAssociative

SingI 'NotAssociative # 
Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'NotAssociative

SingI 'RightAssociative # 
Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'RightAssociative

type Code Associativity Source # 
Instance details

Defined in Generics.SOP.Instances

type Code Associativity = '['[] :: [Type], '[] :: [Type], '[] :: [Type]]
type DatatypeInfoOf Associativity Source # 
Instance details

Defined in Generics.SOP.Instances

type DatatypeInfoOf Associativity = 'ADT "GHC.Internal.Generics" "Associativity" '['Constructor "LeftAssociative", 'Constructor "RightAssociative", 'Constructor "NotAssociative"] '['[] :: [StrictnessInfo], '[] :: [StrictnessInfo], '[] :: [StrictnessInfo]]
type DemoteRep Associativity # 
Instance details

Defined in GHC.Internal.Generics

type DemoteRep Associativity = Associativity
type Rep Associativity # 
Instance details

Defined in GHC.Internal.Generics

type Rep Associativity = D1 ('MetaData "Associativity" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "LeftAssociative" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RightAssociative" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotAssociative" 'PrefixI 'False) (U1 :: Type -> Type)))
data Sing (a :: Associativity) # 
Instance details

Defined in GHC.Internal.Generics

data DecidedStrictness #

Instances

Instances details
Generic DecidedStrictness Source # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code DecidedStrictness 
Instance details

Defined in Generics.SOP.Instances

type Code DecidedStrictness = '['[] :: [Type], '[] :: [Type], '[] :: [Type]]
HasDatatypeInfo DecidedStrictness Source # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf DecidedStrictness 
Instance details

Defined in Generics.SOP.Instances

type DatatypeInfoOf DecidedStrictness = 'ADT "GHC.Internal.Generics" "DecidedStrictness" '['Constructor "DecidedLazy", 'Constructor "DecidedStrict", 'Constructor "DecidedUnpack"] '['[] :: [StrictnessInfo], '[] :: [StrictnessInfo], '[] :: [StrictnessInfo]]
Data DecidedStrictness # 
Instance details

Defined in GHC.Internal.Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DecidedStrictness -> c DecidedStrictness

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DecidedStrictness

toConstr :: DecidedStrictness -> Constr

dataTypeOf :: DecidedStrictness -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DecidedStrictness)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DecidedStrictness)

gmapT :: (forall b. Data b => b -> b) -> DecidedStrictness -> DecidedStrictness

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DecidedStrictness -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DecidedStrictness -> r

gmapQ :: (forall d. Data d => d -> u) -> DecidedStrictness -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> DecidedStrictness -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DecidedStrictness -> m DecidedStrictness

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DecidedStrictness -> m DecidedStrictness

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DecidedStrictness -> m DecidedStrictness

Bounded DecidedStrictness # 
Instance details

Defined in GHC.Internal.Generics

Enum DecidedStrictness # 
Instance details

Defined in GHC.Internal.Generics

Generic DecidedStrictness # 
Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep DecidedStrictness 
Instance details

Defined in GHC.Internal.Generics

type Rep DecidedStrictness = D1 ('MetaData "DecidedStrictness" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "DecidedLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DecidedStrict" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DecidedUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))
SingKind DecidedStrictness # 
Instance details

Defined in GHC.Internal.Generics

Associated Types

type DemoteRep DecidedStrictness 
Instance details

Defined in GHC.Internal.Generics

Methods

fromSing :: forall (a :: DecidedStrictness). Sing a -> DemoteRep DecidedStrictness

Ix DecidedStrictness # 
Instance details

Defined in GHC.Internal.Generics

Read DecidedStrictness # 
Instance details

Defined in GHC.Internal.Generics

Show DecidedStrictness # 
Instance details

Defined in GHC.Internal.Generics

Methods

showsPrec :: Int -> DecidedStrictness -> ShowS

show :: DecidedStrictness -> String

showList :: [DecidedStrictness] -> ShowS

Eq DecidedStrictness # 
Instance details

Defined in GHC.Internal.Generics

Ord DecidedStrictness # 
Instance details

Defined in GHC.Internal.Generics

SingI 'DecidedLazy # 
Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'DecidedLazy

SingI 'DecidedStrict # 
Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'DecidedStrict

SingI 'DecidedUnpack # 
Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'DecidedUnpack

type Code DecidedStrictness Source # 
Instance details

Defined in Generics.SOP.Instances

type Code DecidedStrictness = '['[] :: [Type], '[] :: [Type], '[] :: [Type]]
type DatatypeInfoOf DecidedStrictness Source # 
Instance details

Defined in Generics.SOP.Instances

type DatatypeInfoOf DecidedStrictness = 'ADT "GHC.Internal.Generics" "DecidedStrictness" '['Constructor "DecidedLazy", 'Constructor "DecidedStrict", 'Constructor "DecidedUnpack"] '['[] :: [StrictnessInfo], '[] :: [StrictnessInfo], '[] :: [StrictnessInfo]]
type DemoteRep DecidedStrictness # 
Instance details

Defined in GHC.Internal.Generics

type Rep DecidedStrictness # 
Instance details

Defined in GHC.Internal.Generics

type Rep DecidedStrictness = D1 ('MetaData "DecidedStrictness" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "DecidedLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DecidedStrict" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DecidedUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))
data Sing (a :: DecidedStrictness) # 
Instance details

Defined in GHC.Internal.Generics

data SourceStrictness #

Instances

Instances details
Generic SourceStrictness Source # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code SourceStrictness 
Instance details

Defined in Generics.SOP.Instances

type Code SourceStrictness = '['[] :: [Type], '[] :: [Type], '[] :: [Type]]
HasDatatypeInfo SourceStrictness Source # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf SourceStrictness 
Instance details

Defined in Generics.SOP.Instances

type DatatypeInfoOf SourceStrictness = 'ADT "GHC.Internal.Generics" "SourceStrictness" '['Constructor "NoSourceStrictness", 'Constructor "SourceLazy", 'Constructor "SourceStrict"] '['[] :: [StrictnessInfo], '[] :: [StrictnessInfo], '[] :: [StrictnessInfo]]
Data SourceStrictness # 
Instance details

Defined in GHC.Internal.Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceStrictness -> c SourceStrictness

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceStrictness

toConstr :: SourceStrictness -> Constr

dataTypeOf :: SourceStrictness -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceStrictness)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceStrictness)

gmapT :: (forall b. Data b => b -> b) -> SourceStrictness -> SourceStrictness

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceStrictness -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceStrictness -> r

gmapQ :: (forall d. Data d => d -> u) -> SourceStrictness -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceStrictness -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness

Bounded SourceStrictness # 
Instance details

Defined in GHC.Internal.Generics

Enum SourceStrictness # 
Instance details

Defined in GHC.Internal.Generics

Generic SourceStrictness # 
Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep SourceStrictness 
Instance details

Defined in GHC.Internal.Generics

type Rep SourceStrictness = D1 ('MetaData "SourceStrictness" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "NoSourceStrictness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceStrict" 'PrefixI 'False) (U1 :: Type -> Type)))
SingKind SourceStrictness # 
Instance details

Defined in GHC.Internal.Generics

Associated Types

type DemoteRep SourceStrictness 
Instance details

Defined in GHC.Internal.Generics

Methods

fromSing :: forall (a :: SourceStrictness). Sing a -> DemoteRep SourceStrictness

Ix SourceStrictness # 
Instance details

Defined in GHC.Internal.Generics

Read SourceStrictness # 
Instance details

Defined in GHC.Internal.Generics

Show SourceStrictness # 
Instance details

Defined in GHC.Internal.Generics

Methods

showsPrec :: Int -> SourceStrictness -> ShowS

show :: SourceStrictness -> String

showList :: [SourceStrictness] -> ShowS

Eq SourceStrictness # 
Instance details

Defined in GHC.Internal.Generics

Ord SourceStrictness # 
Instance details

Defined in GHC.Internal.Generics

SingI 'NoSourceStrictness # 
Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'NoSourceStrictness

SingI 'SourceLazy # 
Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'SourceLazy

SingI 'SourceStrict # 
Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'SourceStrict

type Code SourceStrictness Source # 
Instance details

Defined in Generics.SOP.Instances

type Code SourceStrictness = '['[] :: [Type], '[] :: [Type], '[] :: [Type]]
type DatatypeInfoOf SourceStrictness Source # 
Instance details

Defined in Generics.SOP.Instances

type DatatypeInfoOf SourceStrictness = 'ADT "GHC.Internal.Generics" "SourceStrictness" '['Constructor "NoSourceStrictness", 'Constructor "SourceLazy", 'Constructor "SourceStrict"] '['[] :: [StrictnessInfo], '[] :: [StrictnessInfo], '[] :: [StrictnessInfo]]
type DemoteRep SourceStrictness # 
Instance details

Defined in GHC.Internal.Generics

type Rep SourceStrictness # 
Instance details

Defined in GHC.Internal.Generics

type Rep SourceStrictness = D1 ('MetaData "SourceStrictness" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "NoSourceStrictness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceStrict" 'PrefixI 'False) (U1 :: Type -> Type)))
data Sing (a :: SourceStrictness) # 
Instance details

Defined in GHC.Internal.Generics

data SourceUnpackedness #

Instances

Instances details
Generic SourceUnpackedness Source # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code SourceUnpackedness 
Instance details

Defined in Generics.SOP.Instances

type Code SourceUnpackedness = '['[] :: [Type], '[] :: [Type], '[] :: [Type]]
HasDatatypeInfo SourceUnpackedness Source # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf SourceUnpackedness 
Instance details

Defined in Generics.SOP.Instances

type DatatypeInfoOf SourceUnpackedness = 'ADT "GHC.Internal.Generics" "SourceUnpackedness" '['Constructor "NoSourceUnpackedness", 'Constructor "SourceNoUnpack", 'Constructor "SourceUnpack"] '['[] :: [StrictnessInfo], '[] :: [StrictnessInfo], '[] :: [StrictnessInfo]]
Data SourceUnpackedness # 
Instance details

Defined in GHC.Internal.Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceUnpackedness -> c SourceUnpackedness

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceUnpackedness

toConstr :: SourceUnpackedness -> Constr

dataTypeOf :: SourceUnpackedness -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceUnpackedness)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceUnpackedness)

gmapT :: (forall b. Data b => b -> b) -> SourceUnpackedness -> SourceUnpackedness

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceUnpackedness -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceUnpackedness -> r

gmapQ :: (forall d. Data d => d -> u) -> SourceUnpackedness -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceUnpackedness -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness

Bounded SourceUnpackedness # 
Instance details

Defined in GHC.Internal.Generics

Enum SourceUnpackedness # 
Instance details

Defined in GHC.Internal.Generics

Generic SourceUnpackedness # 
Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep SourceUnpackedness 
Instance details

Defined in GHC.Internal.Generics

type Rep SourceUnpackedness = D1 ('MetaData "SourceUnpackedness" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "NoSourceUnpackedness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceNoUnpack" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))
SingKind SourceUnpackedness # 
Instance details

Defined in GHC.Internal.Generics

Associated Types

type DemoteRep SourceUnpackedness 
Instance details

Defined in GHC.Internal.Generics

Methods

fromSing :: forall (a :: SourceUnpackedness). Sing a -> DemoteRep SourceUnpackedness

Ix SourceUnpackedness # 
Instance details

Defined in GHC.Internal.Generics

Read SourceUnpackedness # 
Instance details

Defined in GHC.Internal.Generics

Show SourceUnpackedness # 
Instance details

Defined in GHC.Internal.Generics

Methods

showsPrec :: Int -> SourceUnpackedness -> ShowS

show :: SourceUnpackedness -> String

showList :: [SourceUnpackedness] -> ShowS

Eq SourceUnpackedness # 
Instance details

Defined in GHC.Internal.Generics

Ord SourceUnpackedness # 
Instance details

Defined in GHC.Internal.Generics

SingI 'NoSourceUnpackedness # 
Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'NoSourceUnpackedness

SingI 'SourceNoUnpack # 
Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'SourceNoUnpack

SingI 'SourceUnpack # 
Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'SourceUnpack

type Code SourceUnpackedness Source # 
Instance details

Defined in Generics.SOP.Instances

type Code SourceUnpackedness = '['[] :: [Type], '[] :: [Type], '[] :: [Type]]
type DatatypeInfoOf SourceUnpackedness Source # 
Instance details

Defined in Generics.SOP.Instances

type DatatypeInfoOf SourceUnpackedness = 'ADT "GHC.Internal.Generics" "SourceUnpackedness" '['Constructor "NoSourceUnpackedness", 'Constructor "SourceNoUnpack", 'Constructor "SourceUnpack"] '['[] :: [StrictnessInfo], '[] :: [StrictnessInfo], '[] :: [StrictnessInfo]]
type DemoteRep SourceUnpackedness # 
Instance details

Defined in GHC.Internal.Generics

type Rep SourceUnpackedness # 
Instance details

Defined in GHC.Internal.Generics

type Rep SourceUnpackedness = D1 ('MetaData "SourceUnpackedness" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "NoSourceUnpackedness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceNoUnpack" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))
data Sing (a :: SourceUnpackedness) # 
Instance details

Defined in GHC.Internal.Generics