generics-sop-0.5.1.4: Generic Programming using True Sums of Products

Safe Haskell | None
Language | Haskell2010

Generics.SOP.Metadata

Contents

- re-exports

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
  - FieldInfo :: forall a. FieldName -> FieldInfo a
- 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
  - = LeftAssociative
  - | RightAssociative
  - | NotAssociative
- data DecidedStrictness
  - = DecidedLazy
  - | DecidedStrict
  - | DecidedUnpack
- data SourceStrictness
  - = NoSourceStrictness
  - | SourceLazy
  - | SourceStrict
- data SourceUnpackedness
  - = NoSourceUnpackedness
  - | SourceNoUnpack
  - | SourceUnpack

# 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

Instances details

All (Compose Show FieldInfo) xs => Show (ConstructorInfo xs) Source # |
Instance details Defined in Generics.SOP.Metadata Methods showsPrec :: Int -> ConstructorInfo xs -> ShowS Source # show :: ConstructorInfo xs -> String Source # showList :: [ConstructorInfo xs] -> ShowS Source #
All (Compose Eq FieldInfo) xs => Eq (ConstructorInfo xs) Source # |
Instance details 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 # |

Instance details

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 #

type Fixity = Int Source #

The fixity of an infix constructor.

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 ``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 Source # show :: DatatypeInfo xs -> String Source # showList :: [DatatypeInfo xs] -> ShowS Source #
(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 Source # (/=) :: DatatypeInfo xs -> DatatypeInfo xs -> Bool Source #
(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 Source #

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

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

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

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

max :: DatatypeInfo xs -> DatatypeInfo xs -> DatatypeInfo xs Source #

min :: DatatypeInfo xs -> DatatypeInfo xs -> DatatypeInfo xs Source #

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.

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 Source # (<$) :: a -> FieldInfo b -> FieldInfo a Source #
Show (FieldInfo a) Source # |
Instance details Defined in Generics.SOP.Metadata Methods showsPrec :: Int -> FieldInfo a -> ShowS Source # show :: FieldInfo a -> String Source # showList :: [FieldInfo a] -> ShowS Source #
Eq (FieldInfo a) Source # |
Instance details Defined in Generics.SOP.Metadata Methods (==) :: FieldInfo a -> FieldInfo a -> Bool Source # (/=) :: FieldInfo a -> FieldInfo a -> Bool Source #
Ord (FieldInfo a) Source # |

Instance details

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 #

max :: FieldInfo a -> FieldInfo a -> FieldInfo a Source #

min :: FieldInfo a -> FieldInfo a -> FieldInfo a Source #

fieldName :: FieldInfo a -> FieldName Source #

The name of a field.

Since: 0.2.3.0

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.

type FieldName = String Source #

The name of a field / record selector.

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

Instances details

Functor StrictnessInfo Source # |
Instance details Defined in Generics.SOP.Metadata Methods fmap :: (a -> b) -> StrictnessInfo a -> StrictnessInfo b Source # (<$) :: a -> StrictnessInfo b -> StrictnessInfo a Source #
Show (StrictnessInfo a) Source # |
Instance details Defined in Generics.SOP.Metadata Methods showsPrec :: Int -> StrictnessInfo a -> ShowS Source # show :: StrictnessInfo a -> String Source # showList :: [StrictnessInfo a] -> ShowS Source #
Eq (StrictnessInfo a) Source # |
Instance details Defined in Generics.SOP.Metadata Methods (==) :: StrictnessInfo a -> StrictnessInfo a -> Bool Source # (/=) :: StrictnessInfo a -> StrictnessInfo a -> Bool Source #
Ord (StrictnessInfo a) Source # |

Instance details

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

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]]

Methods

from :: Associativity -> Rep Associativity Source #

to :: Rep Associativity -> Associativity Source #

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]]

Methods

datatypeInfo :: proxy Associativity -> DatatypeInfo (Code Associativity) Source #

Data Associativity | Since: base-4.9.0.0

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 Source #

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

toConstr :: Associativity -> Constr Source #

dataTypeOf :: Associativity -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Bounded Associativity | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods minBound :: Associativity Source # maxBound :: Associativity Source #
Enum Associativity | Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

succ :: Associativity -> Associativity Source #

pred :: Associativity -> Associativity Source #

toEnum :: Int -> Associativity Source #

fromEnum :: Associativity -> Int Source #

enumFrom :: Associativity -> [Associativity] Source #

enumFromThen :: Associativity -> Associativity -> [Associativity] Source #

enumFromTo :: Associativity -> Associativity -> [Associativity] Source #

enumFromThenTo :: Associativity -> Associativity -> Associativity -> [Associativity] Source #

Generic Associativity |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep Associativity | Since: base-4.7.0.0
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)))

Methods

from :: Associativity -> Rep Associativity x Source #

to :: Rep Associativity x -> Associativity Source #

SingKind Associativity | Since: base-4.0.0.0

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 | Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

range :: (Associativity, Associativity) -> [Associativity] Source #

index :: (Associativity, Associativity) -> Associativity -> Int Source #

unsafeIndex :: (Associativity, Associativity) -> Associativity -> Int Source #

inRange :: (Associativity, Associativity) -> Associativity -> Bool Source #

rangeSize :: (Associativity, Associativity) -> Int Source #

unsafeRangeSize :: (Associativity, Associativity) -> Int Source #

Read Associativity | Since: base-4.6.0.0
Instance details Defined in GHC.Internal.Generics Methods readsPrec :: Int -> ReadS Associativity Source # readList :: ReadS [Associativity] Source # readPrec :: ReadPrec Associativity Source # readListPrec :: ReadPrec [Associativity] Source #
Show Associativity | Since: base-4.6.0.0
Instance details Defined in GHC.Internal.Generics Methods showsPrec :: Int -> Associativity -> ShowS Source # show :: Associativity -> String Source # showList :: [Associativity] -> ShowS Source #
Eq Associativity | Since: base-4.6.0.0
Instance details Defined in GHC.Internal.Generics Methods (==) :: Associativity -> Associativity -> Bool Source # (/=) :: Associativity -> Associativity -> Bool Source #
Ord Associativity | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

compare :: Associativity -> Associativity -> Ordering Source #

(<) :: Associativity -> Associativity -> Bool Source #

(<=) :: Associativity -> Associativity -> Bool Source #

(>) :: Associativity -> Associativity -> Bool Source #

(>=) :: Associativity -> Associativity -> Bool Source #

max :: Associativity -> Associativity -> Associativity Source #

min :: Associativity -> Associativity -> Associativity Source #

SingI 'LeftAssociative | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods sing :: Sing 'LeftAssociative
SingI 'NotAssociative | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods sing :: Sing 'NotAssociative
SingI 'RightAssociative | Since: base-4.9.0.0
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 | Since: base-4.7.0.0
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 Sing (a :: Associativity) where

- SLeftAssociative :: Sing 'LeftAssociative
- SRightAssociative :: Sing 'RightAssociative
- SNotAssociative :: Sing 'NotAssociative

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 `ExampleConstructor` will have `DecidedStrict`, `DecidedStrict`, and `DecidedLazy`, respectively.
- If compiled with `-XStrictData` enabled, then the fields will have `DecidedStrict`, `DecidedStrict`, and `DecidedStrict`, respectively.
- If compiled with `-O2` enabled, then the fields will have `DecidedUnpack`, `DecidedStrict`, and `DecidedLazy`, respectively.

Since: base-4.9.0.0

Constructors

DecidedLazy |
DecidedStrict |
DecidedUnpack |

#### 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]]

Methods

from :: DecidedStrictness -> Rep DecidedStrictness Source #

to :: Rep DecidedStrictness -> DecidedStrictness Source #

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]]

Methods

datatypeInfo :: proxy DecidedStrictness -> DatatypeInfo (Code DecidedStrictness) Source #

Data DecidedStrictness | Since: base-4.9.0.0

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 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
Instance details Defined in GHC.Internal.Generics Methods minBound :: DecidedStrictness Source # maxBound :: DecidedStrictness Source #
Enum DecidedStrictness | Since: base-4.9.0.0

Instance details

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 |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep DecidedStrictness | Since: base-4.9.0.0
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)))

Methods

from :: DecidedStrictness -> Rep DecidedStrictness x Source #

to :: Rep DecidedStrictness x -> DecidedStrictness Source #

SingKind DecidedStrictness | Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Associated Types

type DemoteRep DecidedStrictness |
Instance details Defined in GHC.Internal.Generics type DemoteRep DecidedStrictness = DecidedStrictness

Methods

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

Ix DecidedStrictness | Since: base-4.9.0.0

Instance details

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
Instance details Defined in GHC.Internal.Generics Methods readsPrec :: Int -> ReadS DecidedStrictness Source # readList :: ReadS [DecidedStrictness] Source # readPrec :: ReadPrec DecidedStrictness Source # readListPrec :: ReadPrec [DecidedStrictness] Source #
Show DecidedStrictness | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods showsPrec :: Int -> DecidedStrictness -> ShowS Source # show :: DecidedStrictness -> String Source # showList :: [DecidedStrictness] -> ShowS Source #
Eq DecidedStrictness | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods (==) :: DecidedStrictness -> DecidedStrictness -> Bool Source # (/=) :: DecidedStrictness -> DecidedStrictness -> Bool Source #
Ord DecidedStrictness | Since: base-4.9.0.0

Instance details

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
Instance details Defined in GHC.Internal.Generics Methods sing :: Sing 'DecidedLazy
SingI 'DecidedStrict | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods sing :: Sing 'DecidedStrict
SingI 'DecidedUnpack | Since: base-4.9.0.0
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 DemoteRep DecidedStrictness = DecidedStrictness
type Rep DecidedStrictness | Since: base-4.9.0.0
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 Sing (a :: DecidedStrictness) where

- SDecidedLazy :: Sing 'DecidedLazy
- SDecidedStrict :: Sing 'DecidedStrict
- SDecidedUnpack :: Sing 'DecidedUnpack

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

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]]

Methods

from :: SourceStrictness -> Rep SourceStrictness Source #

to :: Rep SourceStrictness -> SourceStrictness Source #

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]]

Methods

datatypeInfo :: proxy SourceStrictness -> DatatypeInfo (Code SourceStrictness) Source #

Data SourceStrictness | Since: base-4.9.0.0

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 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
Instance details Defined in GHC.Internal.Generics Methods minBound :: SourceStrictness Source # maxBound :: SourceStrictness Source #
Enum SourceStrictness | Since: base-4.9.0.0

Instance details

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 |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep SourceStrictness | Since: base-4.9.0.0
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)))

Methods

from :: SourceStrictness -> Rep SourceStrictness x Source #

to :: Rep SourceStrictness x -> SourceStrictness Source #

SingKind SourceStrictness | Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Associated Types

type DemoteRep SourceStrictness |
Instance details Defined in GHC.Internal.Generics type DemoteRep SourceStrictness = SourceStrictness

Methods

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

Ix SourceStrictness | Since: base-4.9.0.0

Instance details

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
Instance details Defined in GHC.Internal.Generics Methods readsPrec :: Int -> ReadS SourceStrictness Source # readList :: ReadS [SourceStrictness] Source # readPrec :: ReadPrec SourceStrictness Source # readListPrec :: ReadPrec [SourceStrictness] Source #
Show SourceStrictness | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods showsPrec :: Int -> SourceStrictness -> ShowS Source # show :: SourceStrictness -> String Source # showList :: [SourceStrictness] -> ShowS Source #
Eq SourceStrictness | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods (==) :: SourceStrictness -> SourceStrictness -> Bool Source # (/=) :: SourceStrictness -> SourceStrictness -> Bool Source #
Ord SourceStrictness | Since: base-4.9.0.0

Instance details

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
Instance details Defined in GHC.Internal.Generics Methods sing :: Sing 'NoSourceStrictness
SingI 'SourceLazy | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods sing :: Sing 'SourceLazy
SingI 'SourceStrict | Since: base-4.9.0.0
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 DemoteRep SourceStrictness = SourceStrictness
type Rep SourceStrictness | Since: base-4.9.0.0
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 Sing (a :: SourceStrictness) where

- SNoSourceStrictness :: Sing 'NoSourceStrictness
- SSourceLazy :: Sing 'SourceLazy
- SSourceStrict :: Sing 'SourceStrict

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

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]]

Methods

from :: SourceUnpackedness -> Rep SourceUnpackedness Source #

to :: Rep SourceUnpackedness -> SourceUnpackedness Source #

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]]

Methods

datatypeInfo :: proxy SourceUnpackedness -> DatatypeInfo (Code SourceUnpackedness) Source #

Data SourceUnpackedness | Since: base-4.9.0.0

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 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
Instance details Defined in GHC.Internal.Generics Methods minBound :: SourceUnpackedness Source # maxBound :: SourceUnpackedness Source #
Enum SourceUnpackedness | Since: base-4.9.0.0

Instance details

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 |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep SourceUnpackedness | Since: base-4.9.0.0
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)))

Methods

from :: SourceUnpackedness -> Rep SourceUnpackedness x Source #

to :: Rep SourceUnpackedness x -> SourceUnpackedness Source #

SingKind SourceUnpackedness | Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Associated Types

type DemoteRep SourceUnpackedness |
Instance details Defined in GHC.Internal.Generics type DemoteRep SourceUnpackedness = SourceUnpackedness

Methods

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

Ix SourceUnpackedness | Since: base-4.9.0.0

Instance details

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
Instance details Defined in GHC.Internal.Generics Methods readsPrec :: Int -> ReadS SourceUnpackedness Source # readList :: ReadS [SourceUnpackedness] Source # readPrec :: ReadPrec SourceUnpackedness Source # readListPrec :: ReadPrec [SourceUnpackedness] Source #
Show SourceUnpackedness | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods showsPrec :: Int -> SourceUnpackedness -> ShowS Source # show :: SourceUnpackedness -> String Source # showList :: [SourceUnpackedness] -> ShowS Source #
Eq SourceUnpackedness | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods (==) :: SourceUnpackedness -> SourceUnpackedness -> Bool Source # (/=) :: SourceUnpackedness -> SourceUnpackedness -> Bool Source #
Ord SourceUnpackedness | Since: base-4.9.0.0

Instance details

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
Instance details Defined in GHC.Internal.Generics Methods sing :: Sing 'NoSourceUnpackedness
SingI 'SourceNoUnpack | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods sing :: Sing 'SourceNoUnpack
SingI 'SourceUnpack | Since: base-4.9.0.0
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 DemoteRep SourceUnpackedness = SourceUnpackedness
type Rep SourceUnpackedness | Since: base-4.9.0.0
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

data Sing (a :: SourceUnpackedness) where

- SNoSourceUnpackedness :: Sing 'NoSourceUnpackedness
- SSourceNoUnpack :: Sing 'SourceNoUnpack
- SSourceUnpack :: Sing 'SourceUnpack