| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
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
- data ConstructorInfo (a :: [Type]) where
- 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
- type Fixity = Int
- datatypeName :: forall (xss :: [[Type]]). DatatypeInfo xss -> DatatypeName
- moduleName :: forall (xss :: [[Type]]). DatatypeInfo xss -> ModuleName
- constructorName :: forall (xs :: [Type]). ConstructorInfo xs -> ConstructorName
- data DatatypeInfo (a :: [[Type]]) where
- ADT :: forall (a :: [[Type]]). ModuleName -> DatatypeName -> NP ConstructorInfo a -> POP StrictnessInfo a -> DatatypeInfo a
- Newtype :: forall x. ModuleName -> DatatypeName -> ConstructorInfo '[x] -> DatatypeInfo '['[x]]
- constructorInfo :: forall (xss :: [[Type]]). DatatypeInfo xss -> NP ConstructorInfo xss
- data FieldInfo a where
- fieldName :: FieldInfo a -> FieldName
- type DatatypeName = String
- type ModuleName = String
- type ConstructorName = String
- type FieldName = String
- data StrictnessInfo a where
- StrictnessInfo :: forall a. SourceUnpackedness -> SourceStrictness -> DecidedStrictness -> StrictnessInfo a
- data Associativity
- data DecidedStrictness
- data SourceStrictness
- data SourceUnpackedness
Documentation
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
| All (Compose Show FieldInfo) xs => Show (ConstructorInfo xs) Source # | |
Defined in Generics.SOP.Metadata | |
| All (Compose Eq FieldInfo) xs => Eq (ConstructorInfo xs) Source # | |
Defined in Generics.SOP.Metadata Methods (==) :: ConstructorInfo xs -> ConstructorInfo xs -> Bool Source # (/=) :: ConstructorInfo xs -> ConstructorInfo xs -> Bool Source # | |
| (All (Compose Eq FieldInfo) xs, All (Compose Ord FieldInfo) xs) => Ord (ConstructorInfo xs) Source # | |
Defined in Generics.SOP.Metadata Methods compare :: ConstructorInfo xs -> ConstructorInfo xs -> Ordering Source # (<) :: ConstructorInfo xs -> ConstructorInfo xs -> Bool Source # (<=) :: ConstructorInfo xs -> ConstructorInfo xs -> Bool Source # (>) :: ConstructorInfo xs -> ConstructorInfo xs -> Bool Source # (>=) :: ConstructorInfo xs -> ConstructorInfo xs -> Bool Source # max :: ConstructorInfo xs -> ConstructorInfo xs -> ConstructorInfo xs Source # min :: ConstructorInfo xs -> ConstructorInfo xs -> ConstructorInfo xs Source # | |
datatypeName :: forall (xss :: [[Type]]). DatatypeInfo xss -> DatatypeName Source #
The name of a datatype (or newtype).
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
constructorName :: forall (xs :: [Type]). ConstructorInfo xs -> ConstructorName Source #
The name of a constructor.
Since: 0.2.3.0
data DatatypeInfo (a :: [[Type]]) where Source #
Metadata for a datatype.
A value of type contains the information about a datatype
that is not contained in DatatypeInfo c. This information consists
primarily of the names of the datatype, its constructors, and possibly its
record selectors.Code c
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
constructorInfo :: forall (xss :: [[Type]]). DatatypeInfo xss -> NP ConstructorInfo xss Source #
The constructor info for a datatype (or newtype).
Since: 0.2.3.0
data FieldInfo a where Source #
For records, this functor maps the component to its selector name.
Instances
| Functor FieldInfo Source # | |
| Show (FieldInfo a) Source # | |
| Eq (FieldInfo a) Source # | |
| Ord (FieldInfo a) Source # | |
Defined in Generics.SOP.Metadata Methods compare :: FieldInfo a -> FieldInfo a -> Ordering Source # (<) :: FieldInfo a -> FieldInfo a -> Bool Source # (<=) :: FieldInfo a -> FieldInfo a -> Bool Source # (>) :: FieldInfo a -> FieldInfo a -> Bool Source # (>=) :: FieldInfo a -> FieldInfo a -> Bool Source # | |
type DatatypeName = String Source #
The name of a datatype.
type ModuleName = String Source #
The name of a module.
type ConstructorName = String Source #
The name of a data constructor.
data StrictnessInfo a where Source #
Metadata for strictness information of a field.
Indexed by the type of the field.
Since: 0.4.0.0
Constructors
| StrictnessInfo :: forall a. SourceUnpackedness -> SourceStrictness -> DecidedStrictness -> StrictnessInfo a |
Instances
| Functor StrictnessInfo Source # | |
Defined in Generics.SOP.Metadata Methods fmap :: (a -> b) -> StrictnessInfo a -> StrictnessInfo b Source # (<$) :: a -> StrictnessInfo b -> StrictnessInfo a Source # | |
| Show (StrictnessInfo a) Source # | |
Defined in Generics.SOP.Metadata | |
| Eq (StrictnessInfo a) Source # | |
Defined in Generics.SOP.Metadata Methods (==) :: StrictnessInfo a -> StrictnessInfo a -> Bool Source # (/=) :: StrictnessInfo a -> StrictnessInfo a -> Bool Source # | |
| Ord (StrictnessInfo a) Source # | |
Defined in Generics.SOP.Metadata Methods compare :: StrictnessInfo a -> StrictnessInfo a -> Ordering Source # (<) :: StrictnessInfo a -> StrictnessInfo a -> Bool Source # (<=) :: StrictnessInfo a -> StrictnessInfo a -> Bool Source # (>) :: StrictnessInfo a -> StrictnessInfo a -> Bool Source # (>=) :: StrictnessInfo a -> StrictnessInfo a -> Bool Source # max :: StrictnessInfo a -> StrictnessInfo a -> StrictnessInfo a Source # min :: StrictnessInfo a -> StrictnessInfo a -> StrictnessInfo a Source # | |
re-exports
data Associativity Source #
Datatype to represent the associativity of a constructor
Constructors
| LeftAssociative | |
| RightAssociative | |
| NotAssociative |
Instances
data DecidedStrictness Source #
The strictness that GHC infers for a field during compilation. Whereas
there are nine different combinations of SourceUnpackedness and
SourceStrictness, the strictness that GHC decides will ultimately be one
of lazy, strict, or unpacked. What GHC decides is affected both by what the
user writes in the source code and by GHC flags. As an example, consider
this data type:
data E = ExampleConstructor {-# UNPACK #-} !Int !Int Int
- If compiled without optimization or other language extensions, then the
fields of
ExampleConstructorwill haveDecidedStrict,DecidedStrict, andDecidedLazy, respectively. - If compiled with
-XStrictDataenabled, then the fields will haveDecidedStrict,DecidedStrict, andDecidedStrict, respectively. - If compiled with
-O2enabled, then the fields will haveDecidedUnpack,DecidedStrict, andDecidedLazy, respectively.
Since: base-4.9.0.0
Constructors
| DecidedLazy | |
| DecidedStrict | |
| DecidedUnpack |
Instances
| Generic DecidedStrictness Source # | |||||
Defined in Generics.SOP.Instances Associated Types
Methods | |||||
| HasDatatypeInfo DecidedStrictness Source # | |||||
Defined in Generics.SOP.Instances Associated Types
Methods datatypeInfo :: proxy DecidedStrictness -> DatatypeInfo (Code DecidedStrictness) Source # | |||||
| Data DecidedStrictness | Since: base-4.9.0.0 | ||||
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 Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DecidedStrictness Source # toConstr :: DecidedStrictness -> Constr Source # dataTypeOf :: DecidedStrictness -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DecidedStrictness) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DecidedStrictness) Source # gmapT :: (forall b. Data b => b -> b) -> DecidedStrictness -> DecidedStrictness Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DecidedStrictness -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DecidedStrictness -> r Source # gmapQ :: (forall d. Data d => d -> u) -> DecidedStrictness -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> DecidedStrictness -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DecidedStrictness -> m DecidedStrictness Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DecidedStrictness -> m DecidedStrictness Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DecidedStrictness -> m DecidedStrictness Source # | |||||
| Bounded DecidedStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics | |||||
| Enum DecidedStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods succ :: DecidedStrictness -> DecidedStrictness Source # pred :: DecidedStrictness -> DecidedStrictness Source # toEnum :: Int -> DecidedStrictness Source # fromEnum :: DecidedStrictness -> Int Source # enumFrom :: DecidedStrictness -> [DecidedStrictness] Source # enumFromThen :: DecidedStrictness -> DecidedStrictness -> [DecidedStrictness] Source # enumFromTo :: DecidedStrictness -> DecidedStrictness -> [DecidedStrictness] Source # enumFromThenTo :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness -> [DecidedStrictness] Source # | |||||
| Generic DecidedStrictness | |||||
Defined in GHC.Internal.Generics Associated Types
Methods from :: DecidedStrictness -> Rep DecidedStrictness x Source # to :: Rep DecidedStrictness x -> DecidedStrictness Source # | |||||
| SingKind DecidedStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Associated Types
Methods fromSing :: forall (a :: DecidedStrictness). Sing a -> DemoteRep DecidedStrictness | |||||
| Ix DecidedStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods range :: (DecidedStrictness, DecidedStrictness) -> [DecidedStrictness] Source # index :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Int Source # unsafeIndex :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Int Source # inRange :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Bool Source # rangeSize :: (DecidedStrictness, DecidedStrictness) -> Int Source # unsafeRangeSize :: (DecidedStrictness, DecidedStrictness) -> Int Source # | |||||
| Read DecidedStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics | |||||
| Show DecidedStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics | |||||
| Eq DecidedStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods (==) :: DecidedStrictness -> DecidedStrictness -> Bool Source # (/=) :: DecidedStrictness -> DecidedStrictness -> Bool Source # | |||||
| Ord DecidedStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods compare :: DecidedStrictness -> DecidedStrictness -> Ordering Source # (<) :: DecidedStrictness -> DecidedStrictness -> Bool Source # (<=) :: DecidedStrictness -> DecidedStrictness -> Bool Source # (>) :: DecidedStrictness -> DecidedStrictness -> Bool Source # (>=) :: DecidedStrictness -> DecidedStrictness -> Bool Source # max :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness Source # min :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness Source # | |||||
| SingI 'DecidedLazy | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods sing :: Sing 'DecidedLazy | |||||
| SingI 'DecidedStrict | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods sing :: Sing 'DecidedStrict | |||||
| SingI 'DecidedUnpack | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods sing :: Sing 'DecidedUnpack | |||||
| type Code DecidedStrictness Source # | |||||
Defined in Generics.SOP.Instances | |||||
| type DatatypeInfoOf DecidedStrictness Source # | |||||
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 | |||||
Defined in GHC.Internal.Generics | |||||
| type Rep DecidedStrictness | Since: base-4.9.0.0 | ||||
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) | |||||
Defined in GHC.Internal.Generics data Sing (a :: DecidedStrictness) where
| |||||
data SourceStrictness Source #
The strictness of a field as the user wrote it in the source code. For example, in the following data type:
data E = ExampleConstructor Int ~Int !Int
The fields of ExampleConstructor have NoSourceStrictness,
SourceLazy, and SourceStrict, respectively.
Since: base-4.9.0.0
Constructors
| NoSourceStrictness | |
| SourceLazy | |
| SourceStrict |
Instances
| Generic SourceStrictness Source # | |||||
Defined in Generics.SOP.Instances Associated Types
Methods from :: SourceStrictness -> Rep SourceStrictness Source # to :: Rep SourceStrictness -> SourceStrictness Source # | |||||
| HasDatatypeInfo SourceStrictness Source # | |||||
Defined in Generics.SOP.Instances Associated Types
Methods datatypeInfo :: proxy SourceStrictness -> DatatypeInfo (Code SourceStrictness) Source # | |||||
| Data SourceStrictness | Since: base-4.9.0.0 | ||||
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 Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceStrictness Source # toConstr :: SourceStrictness -> Constr Source # dataTypeOf :: SourceStrictness -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceStrictness) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceStrictness) Source # gmapT :: (forall b. Data b => b -> b) -> SourceStrictness -> SourceStrictness Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceStrictness -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceStrictness -> r Source # gmapQ :: (forall d. Data d => d -> u) -> SourceStrictness -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceStrictness -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness Source # | |||||
| Bounded SourceStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics | |||||
| Enum SourceStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods succ :: SourceStrictness -> SourceStrictness Source # pred :: SourceStrictness -> SourceStrictness Source # toEnum :: Int -> SourceStrictness Source # fromEnum :: SourceStrictness -> Int Source # enumFrom :: SourceStrictness -> [SourceStrictness] Source # enumFromThen :: SourceStrictness -> SourceStrictness -> [SourceStrictness] Source # enumFromTo :: SourceStrictness -> SourceStrictness -> [SourceStrictness] Source # enumFromThenTo :: SourceStrictness -> SourceStrictness -> SourceStrictness -> [SourceStrictness] Source # | |||||
| Generic SourceStrictness | |||||
Defined in GHC.Internal.Generics Associated Types
Methods from :: SourceStrictness -> Rep SourceStrictness x Source # to :: Rep SourceStrictness x -> SourceStrictness Source # | |||||
| SingKind SourceStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Associated Types
Methods fromSing :: forall (a :: SourceStrictness). Sing a -> DemoteRep SourceStrictness | |||||
| Ix SourceStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods range :: (SourceStrictness, SourceStrictness) -> [SourceStrictness] Source # index :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Int Source # unsafeIndex :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Int Source # inRange :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Bool Source # rangeSize :: (SourceStrictness, SourceStrictness) -> Int Source # unsafeRangeSize :: (SourceStrictness, SourceStrictness) -> Int Source # | |||||
| Read SourceStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics | |||||
| Show SourceStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics | |||||
| Eq SourceStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods (==) :: SourceStrictness -> SourceStrictness -> Bool Source # (/=) :: SourceStrictness -> SourceStrictness -> Bool Source # | |||||
| Ord SourceStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods compare :: SourceStrictness -> SourceStrictness -> Ordering Source # (<) :: SourceStrictness -> SourceStrictness -> Bool Source # (<=) :: SourceStrictness -> SourceStrictness -> Bool Source # (>) :: SourceStrictness -> SourceStrictness -> Bool Source # (>=) :: SourceStrictness -> SourceStrictness -> Bool Source # max :: SourceStrictness -> SourceStrictness -> SourceStrictness Source # min :: SourceStrictness -> SourceStrictness -> SourceStrictness Source # | |||||
| SingI 'NoSourceStrictness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods sing :: Sing 'NoSourceStrictness | |||||
| SingI 'SourceLazy | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods sing :: Sing 'SourceLazy | |||||
| SingI 'SourceStrict | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods sing :: Sing 'SourceStrict | |||||
| type Code SourceStrictness Source # | |||||
Defined in Generics.SOP.Instances | |||||
| type DatatypeInfoOf SourceStrictness Source # | |||||
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 | |||||
Defined in GHC.Internal.Generics | |||||
| type Rep SourceStrictness | Since: base-4.9.0.0 | ||||
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) | |||||
Defined in GHC.Internal.Generics data Sing (a :: SourceStrictness) where
| |||||
data SourceUnpackedness Source #
The unpackedness of a field as the user wrote it in the source code. For example, in the following data type:
data E = ExampleConstructor Int
{-# NOUNPACK #-} Int
{-# UNPACK #-} Int
The fields of ExampleConstructor have NoSourceUnpackedness,
SourceNoUnpack, and SourceUnpack, respectively.
Since: base-4.9.0.0
Constructors
| NoSourceUnpackedness | |
| SourceNoUnpack | |
| SourceUnpack |
Instances
| Generic SourceUnpackedness Source # | |||||
Defined in Generics.SOP.Instances Associated Types
Methods from :: SourceUnpackedness -> Rep SourceUnpackedness Source # | |||||
| HasDatatypeInfo SourceUnpackedness Source # | |||||
Defined in Generics.SOP.Instances Associated Types
Methods datatypeInfo :: proxy SourceUnpackedness -> DatatypeInfo (Code SourceUnpackedness) Source # | |||||
| Data SourceUnpackedness | Since: base-4.9.0.0 | ||||
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 Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceUnpackedness Source # toConstr :: SourceUnpackedness -> Constr Source # dataTypeOf :: SourceUnpackedness -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceUnpackedness) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceUnpackedness) Source # gmapT :: (forall b. Data b => b -> b) -> SourceUnpackedness -> SourceUnpackedness Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceUnpackedness -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceUnpackedness -> r Source # gmapQ :: (forall d. Data d => d -> u) -> SourceUnpackedness -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceUnpackedness -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness Source # | |||||
| Bounded SourceUnpackedness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics | |||||
| Enum SourceUnpackedness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods succ :: SourceUnpackedness -> SourceUnpackedness Source # pred :: SourceUnpackedness -> SourceUnpackedness Source # toEnum :: Int -> SourceUnpackedness Source # fromEnum :: SourceUnpackedness -> Int Source # enumFrom :: SourceUnpackedness -> [SourceUnpackedness] Source # enumFromThen :: SourceUnpackedness -> SourceUnpackedness -> [SourceUnpackedness] Source # enumFromTo :: SourceUnpackedness -> SourceUnpackedness -> [SourceUnpackedness] Source # enumFromThenTo :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness -> [SourceUnpackedness] Source # | |||||
| Generic SourceUnpackedness | |||||
Defined in GHC.Internal.Generics Associated Types
Methods from :: SourceUnpackedness -> Rep SourceUnpackedness x Source # to :: Rep SourceUnpackedness x -> SourceUnpackedness Source # | |||||
| SingKind SourceUnpackedness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Associated Types
Methods fromSing :: forall (a :: SourceUnpackedness). Sing a -> DemoteRep SourceUnpackedness | |||||
| Ix SourceUnpackedness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods range :: (SourceUnpackedness, SourceUnpackedness) -> [SourceUnpackedness] Source # index :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Int Source # unsafeIndex :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Int Source # inRange :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Bool Source # rangeSize :: (SourceUnpackedness, SourceUnpackedness) -> Int Source # unsafeRangeSize :: (SourceUnpackedness, SourceUnpackedness) -> Int Source # | |||||
| Read SourceUnpackedness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics | |||||
| Show SourceUnpackedness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics | |||||
| Eq SourceUnpackedness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods (==) :: SourceUnpackedness -> SourceUnpackedness -> Bool Source # (/=) :: SourceUnpackedness -> SourceUnpackedness -> Bool Source # | |||||
| Ord SourceUnpackedness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods compare :: SourceUnpackedness -> SourceUnpackedness -> Ordering Source # (<) :: SourceUnpackedness -> SourceUnpackedness -> Bool Source # (<=) :: SourceUnpackedness -> SourceUnpackedness -> Bool Source # (>) :: SourceUnpackedness -> SourceUnpackedness -> Bool Source # (>=) :: SourceUnpackedness -> SourceUnpackedness -> Bool Source # max :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness Source # min :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness Source # | |||||
| SingI 'NoSourceUnpackedness | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods sing :: Sing 'NoSourceUnpackedness | |||||
| SingI 'SourceNoUnpack | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods sing :: Sing 'SourceNoUnpack | |||||
| SingI 'SourceUnpack | Since: base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods sing :: Sing 'SourceUnpack | |||||
| type Code SourceUnpackedness Source # | |||||
Defined in Generics.SOP.Instances | |||||
| type DatatypeInfoOf SourceUnpackedness Source # | |||||
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 | |||||
Defined in GHC.Internal.Generics | |||||
| type Rep SourceUnpackedness | Since: base-4.9.0.0 | ||||
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) | |||||
Defined in GHC.Internal.Generics data Sing (a :: SourceUnpackedness) where
| |||||