| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Generics.SOP.Universe
Description
Codes and interpretations
Synopsis
- type Rep a = SOP I (Code a)
- class All SListI (Code a) => Generic (a :: *) where
- class HasDatatypeInfo a where
- type DatatypeInfoOf a :: DatatypeInfo
- type IsProductType (a :: *) (xs :: [*]) = (Generic a, Code a ~ '[xs])
- type IsEnumType (a :: *) = (Generic a, All ((~) '[]) (Code a))
- type IsWrappedType (a :: *) (x :: *) = (Generic a, Code a ~ '['[x]])
- type IsNewtype (a :: *) (x :: *) = (IsWrappedType a x, Coercible a x)
Documentation
class All SListI (Code a) => Generic (a :: *) where #
The class of representable datatypes.
The SOP approach to generic programming is based on viewing
datatypes as a representation (Rep) built from the sum of
products of its components. The components of are datatype
are specified using the Code type family.
The isomorphism between the original Haskell datatype and its
representation is witnessed by the methods of this class,
from and to. So for instances of this class, the following
laws should (in general) hold:
to.from===id:: a -> afrom.to===id::Repa ->Repa
You typically don't define instances of this class by hand, but rather derive the class instance automatically.
Option 1: Derive via the built-in GHC-generics. For this, you
need to use the DeriveGeneric extension to first derive an
instance of the Generic class from module GHC.Generics.
With this, you can then give an empty instance for Generic, and
the default definitions will just work. The pattern looks as
follows:
import qualified GHC.Generics as GHC import Generics.SOP ... data T = ... deriving (GHC.Generic, ...) instanceGenericT -- empty instanceHasDatatypeInfoT -- empty, if you want/need metadata
Option 2: Derive via Template Haskell. For this, you need to
enable the TemplateHaskell extension. You can then use
deriveGeneric from module Generics.SOP.TH
to have the instance generated for you. The pattern looks as
follows:
import Generics.SOP import Generics.SOP.TH ... data T = ...deriveGeneric''T -- derivesHasDatatypeInfoas well
Tradeoffs: Whether to use Option 1 or 2 is mainly a matter of personal taste. The version based on Template Haskell probably has less run-time overhead.
Non-standard instances:
It is possible to give Generic instances manually that deviate
from the standard scheme, as long as at least
to.from===id:: a -> a
still holds.
Associated Types
The code of a datatype.
This is a list of lists of its components. The outer list contains one element per constructor. The inner list contains one element per constructor argument (field).
Example: The datatype
data Tree = Leaf Int | Node Tree Tree
is supposed to have the following code:
type instance Code (Tree a) = '[ '[ Int ] , '[ Tree, Tree ] ]
Methods
Converts from a value to its structural representation.
from :: (GFrom a, Generic a, Rep a ~ SOP I (GCode a)) => a -> Rep a #
Converts from a value to its structural representation.
Converts from a structural representation back to the original value.
to :: (GTo a, Generic a, Rep a ~ SOP I (GCode a)) => Rep a -> a #
Converts from a structural representation back to the original value.
Instances
| Generic Bool # | |
| Generic Ordering # | |
| Generic () # | |
| Generic DataRep # | |
| Generic ConstrRep # | |
| Generic Fixity # | |
| Generic FormatAdjustment # | |
Defined in Generics.SOP.Instances Associated Types type Code FormatAdjustment :: [[*]] # Methods from :: FormatAdjustment -> Rep FormatAdjustment # to :: Rep FormatAdjustment -> FormatAdjustment # | |
| Generic FormatSign # | |
Defined in Generics.SOP.Instances Associated Types type Code FormatSign :: [[*]] # | |
| Generic FieldFormat # | |
Defined in Generics.SOP.Instances Associated Types type Code FieldFormat :: [[*]] # | |
| Generic FormatParse # | |
Defined in Generics.SOP.Instances Associated Types type Code FormatParse :: [[*]] # | |
| Generic Version # | |
| Generic PatternMatchFail # | |
Defined in Generics.SOP.Instances Associated Types type Code PatternMatchFail :: [[*]] # Methods from :: PatternMatchFail -> Rep PatternMatchFail # to :: Rep PatternMatchFail -> PatternMatchFail # | |
| Generic RecSelError # | |
Defined in Generics.SOP.Instances Associated Types type Code RecSelError :: [[*]] # | |
| Generic RecConError # | |
Defined in Generics.SOP.Instances Associated Types type Code RecConError :: [[*]] # | |
| Generic RecUpdError # | |
Defined in Generics.SOP.Instances Associated Types type Code RecUpdError :: [[*]] # | |
| Generic NoMethodError # | |
Defined in Generics.SOP.Instances Associated Types type Code NoMethodError :: [[*]] # | |
| Generic NonTermination # | |
Defined in Generics.SOP.Instances Associated Types type Code NonTermination :: [[*]] # | |
| Generic NestedAtomically # | |
Defined in Generics.SOP.Instances Associated Types type Code NestedAtomically :: [[*]] # Methods from :: NestedAtomically -> Rep NestedAtomically # to :: Rep NestedAtomically -> NestedAtomically # | |
| Generic Errno # | |
| Generic BlockedIndefinitelyOnMVar # | |
Defined in Generics.SOP.Instances Associated Types type Code BlockedIndefinitelyOnMVar :: [[*]] # | |
| Generic BlockedIndefinitelyOnSTM # | |
Defined in Generics.SOP.Instances Associated Types type Code BlockedIndefinitelyOnSTM :: [[*]] # | |
| Generic Deadlock # | |
| Generic AssertionFailed # | |
Defined in Generics.SOP.Instances Associated Types type Code AssertionFailed :: [[*]] # Methods from :: AssertionFailed -> Rep AssertionFailed # to :: Rep AssertionFailed -> AssertionFailed # | |
| Generic AsyncException # | |
Defined in Generics.SOP.Instances Associated Types type Code AsyncException :: [[*]] # | |
| Generic ArrayException # | |
Defined in Generics.SOP.Instances Associated Types type Code ArrayException :: [[*]] # | |
| Generic ExitCode # | |
| Generic BufferMode # | |
Defined in Generics.SOP.Instances Associated Types type Code BufferMode :: [[*]] # | |
| Generic Newline # | |
| Generic NewlineMode # | |
Defined in Generics.SOP.Instances Associated Types type Code NewlineMode :: [[*]] # | |
| Generic SeekMode # | |
| Generic MaskingState # | |
Defined in Generics.SOP.Instances Associated Types type Code MaskingState :: [[*]] # | |
| Generic IOException # | |
Defined in Generics.SOP.Instances Associated Types type Code IOException :: [[*]] # | |
| Generic ErrorCall # | |
| Generic ArithException # | |
Defined in Generics.SOP.Instances Associated Types type Code ArithException :: [[*]] # | |
| Generic All # | |
| Generic Any # | |
| Generic CChar # | |
| Generic CSChar # | |
| Generic CUChar # | |
| Generic CShort # | |
| Generic CUShort # | |
| Generic CInt # | |
| Generic CUInt # | |
| Generic CLong # | |
| Generic CULong # | |
| Generic CLLong # | |
| Generic CULLong # | |
| Generic CFloat # | |
| Generic CDouble # | |
| Generic CPtrdiff # | |
| Generic CSize # | |
| Generic CWchar # | |
| Generic CSigAtomic # | |
Defined in Generics.SOP.Instances Associated Types type Code CSigAtomic :: [[*]] # | |
| Generic CClock # | |
| Generic CTime # | |
| Generic CUSeconds # | |
| Generic CSUSeconds # | |
Defined in Generics.SOP.Instances Associated Types type Code CSUSeconds :: [[*]] # | |
| Generic CIntPtr # | |
| Generic CUIntPtr # | |
| Generic CIntMax # | |
| Generic CUIntMax # | |
| Generic IOMode # | |
| Generic Lexeme # | |
| Generic Number # | |
| Generic GeneralCategory # | |
Defined in Generics.SOP.Instances Associated Types type Code GeneralCategory :: [[*]] # Methods from :: GeneralCategory -> Rep GeneralCategory # to :: Rep GeneralCategory -> GeneralCategory # | |
| Generic [a] # | |
| Generic (Maybe a) # | |
| Generic (Complex a) # | |
| Generic (Fixed a) # | |
| Generic (ArgOrder a) # | |
| Generic (OptDescr a) # | |
| Generic (ArgDescr a) # | |
| Generic (First a) # | |
| Generic (Last a) # | |
| Generic (Dual a) # | |
| Generic (Endo a) # | |
| Generic (Sum a) # | |
| Generic (Product a) # | |
| Generic (Down a) # | |
| Generic (I a) # | |
| Generic (Either a b) # | |
| Generic (a, b) # | |
| Generic (Proxy t) # | |
| Generic (a, b, c) # | |
| Generic (K a b) # | |
| Generic (a, b, c, d) # | |
| Generic (a, b, c, d, e) # | |
| Generic ((f :.: g) p) # | |
| Generic (a, b, c, d, e, f) # | |
| Generic (a, b, c, d, e, f, g) # | |
| Generic (a, b, c, d, e, f, g, h) # | |
| Generic (a, b, c, d, e, f, g, h, i) # | |
| Generic (a, b, c, d, e, f, g, h, i, j) # | |
| Generic (a, b, c, d, e, f, g, h, i, j, k) # | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l) # | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m) # | |
Defined in Generics.SOP.Instances | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n) # | |
Defined in Generics.SOP.Instances | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) # | |
Defined in Generics.SOP.Instances | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) # | |
Defined in Generics.SOP.Instances | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) # | |
Defined in Generics.SOP.Instances | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) # | |
Defined in Generics.SOP.Instances | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) # | |
Defined in Generics.SOP.Instances | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) # | |
Defined in Generics.SOP.Instances | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) # | |
Defined in Generics.SOP.Instances | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) # | |
Defined in Generics.SOP.Instances Associated Types type Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) :: [[*]] # Methods from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) # to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) # | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) # | |
Defined in Generics.SOP.Instances Associated Types type Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) :: [[*]] # Methods from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) # to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) # | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) # | |
Defined in Generics.SOP.Instances Associated Types type Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) :: [[*]] # Methods from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) # to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) # | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) # | |
Defined in Generics.SOP.Instances Associated Types type Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) :: [[*]] # Methods from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) # to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) # | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) # | |
Defined in Generics.SOP.Instances Associated Types type Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) :: [[*]] # Methods from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) # to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) # | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26) # | |
Defined in Generics.SOP.Instances Associated Types type Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26) :: [[*]] # Methods from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26) # to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26) # | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27) # | |
Defined in Generics.SOP.Instances Associated Types type Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27) :: [[*]] # Methods from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27) # to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27) # | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28) # | |
Defined in Generics.SOP.Instances Associated Types type Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28) :: [[*]] # Methods from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28) # to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28) # | |
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28, t29) # | |
Defined in Generics.SOP.Instances Associated Types type Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28, t29) :: [[*]] # Methods from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28, t29) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28, t29) # to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28, t29) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28, t29) # | |
class HasDatatypeInfo a where #
A class of datatypes that have associated metadata.
It is possible to use the sum-of-products approach to generic programming without metadata. If you need metadata in a function, an additional constraint on this class is in order.
You typically don't define instances of this class by hand, but
rather derive the class instance automatically. See the documentation
of Generic for the options.
Methods
datatypeInfo :: proxy a -> DatatypeInfo (Code a) #
Term-level datatype info; by default, the term-level datatype info is produced from the type-level info.
datatypeInfo :: (GDatatypeInfo a, GCode a ~ Code a) => proxy a -> DatatypeInfo (Code a) #
Term-level datatype info; by default, the term-level datatype info is produced from the type-level info.
Instances
| HasDatatypeInfo Bool # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf Bool :: DatatypeInfo # Methods datatypeInfo :: proxy Bool -> DatatypeInfo (Code Bool) # | |
| HasDatatypeInfo Ordering # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf Ordering :: DatatypeInfo # Methods datatypeInfo :: proxy Ordering -> DatatypeInfo (Code Ordering) # | |
| HasDatatypeInfo () # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf () :: DatatypeInfo # Methods datatypeInfo :: proxy () -> DatatypeInfo (Code ()) # | |
| HasDatatypeInfo DataRep # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf DataRep :: DatatypeInfo # Methods datatypeInfo :: proxy DataRep -> DatatypeInfo (Code DataRep) # | |
| HasDatatypeInfo ConstrRep # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf ConstrRep :: DatatypeInfo # Methods datatypeInfo :: proxy ConstrRep -> DatatypeInfo (Code ConstrRep) # | |
| HasDatatypeInfo Fixity # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf Fixity :: DatatypeInfo # Methods datatypeInfo :: proxy Fixity -> DatatypeInfo (Code Fixity) # | |
| HasDatatypeInfo FormatAdjustment # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf FormatAdjustment :: DatatypeInfo # Methods datatypeInfo :: proxy FormatAdjustment -> DatatypeInfo (Code FormatAdjustment) # | |
| HasDatatypeInfo FormatSign # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf FormatSign :: DatatypeInfo # Methods datatypeInfo :: proxy FormatSign -> DatatypeInfo (Code FormatSign) # | |
| HasDatatypeInfo FieldFormat # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf FieldFormat :: DatatypeInfo # Methods datatypeInfo :: proxy FieldFormat -> DatatypeInfo (Code FieldFormat) # | |
| HasDatatypeInfo FormatParse # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf FormatParse :: DatatypeInfo # Methods datatypeInfo :: proxy FormatParse -> DatatypeInfo (Code FormatParse) # | |
| HasDatatypeInfo Version # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf Version :: DatatypeInfo # Methods datatypeInfo :: proxy Version -> DatatypeInfo (Code Version) # | |
| HasDatatypeInfo PatternMatchFail # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf PatternMatchFail :: DatatypeInfo # Methods datatypeInfo :: proxy PatternMatchFail -> DatatypeInfo (Code PatternMatchFail) # | |
| HasDatatypeInfo RecSelError # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf RecSelError :: DatatypeInfo # Methods datatypeInfo :: proxy RecSelError -> DatatypeInfo (Code RecSelError) # | |
| HasDatatypeInfo RecConError # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf RecConError :: DatatypeInfo # Methods datatypeInfo :: proxy RecConError -> DatatypeInfo (Code RecConError) # | |
| HasDatatypeInfo RecUpdError # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf RecUpdError :: DatatypeInfo # Methods datatypeInfo :: proxy RecUpdError -> DatatypeInfo (Code RecUpdError) # | |
| HasDatatypeInfo NoMethodError # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf NoMethodError :: DatatypeInfo # Methods datatypeInfo :: proxy NoMethodError -> DatatypeInfo (Code NoMethodError) # | |
| HasDatatypeInfo NonTermination # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf NonTermination :: DatatypeInfo # Methods datatypeInfo :: proxy NonTermination -> DatatypeInfo (Code NonTermination) # | |
| HasDatatypeInfo NestedAtomically # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf NestedAtomically :: DatatypeInfo # Methods datatypeInfo :: proxy NestedAtomically -> DatatypeInfo (Code NestedAtomically) # | |
| HasDatatypeInfo Errno # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf Errno :: DatatypeInfo # Methods datatypeInfo :: proxy Errno -> DatatypeInfo (Code Errno) # | |
| HasDatatypeInfo BlockedIndefinitelyOnMVar # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf BlockedIndefinitelyOnMVar :: DatatypeInfo # Methods datatypeInfo :: proxy BlockedIndefinitelyOnMVar -> DatatypeInfo (Code BlockedIndefinitelyOnMVar) # | |
| HasDatatypeInfo BlockedIndefinitelyOnSTM # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf BlockedIndefinitelyOnSTM :: DatatypeInfo # Methods datatypeInfo :: proxy BlockedIndefinitelyOnSTM -> DatatypeInfo (Code BlockedIndefinitelyOnSTM) # | |
| HasDatatypeInfo Deadlock # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf Deadlock :: DatatypeInfo # Methods datatypeInfo :: proxy Deadlock -> DatatypeInfo (Code Deadlock) # | |
| HasDatatypeInfo AssertionFailed # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf AssertionFailed :: DatatypeInfo # Methods datatypeInfo :: proxy AssertionFailed -> DatatypeInfo (Code AssertionFailed) # | |
| HasDatatypeInfo AsyncException # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf AsyncException :: DatatypeInfo # Methods datatypeInfo :: proxy AsyncException -> DatatypeInfo (Code AsyncException) # | |
| HasDatatypeInfo ArrayException # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf ArrayException :: DatatypeInfo # Methods datatypeInfo :: proxy ArrayException -> DatatypeInfo (Code ArrayException) # | |
| HasDatatypeInfo ExitCode # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf ExitCode :: DatatypeInfo # Methods datatypeInfo :: proxy ExitCode -> DatatypeInfo (Code ExitCode) # | |
| HasDatatypeInfo BufferMode # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf BufferMode :: DatatypeInfo # Methods datatypeInfo :: proxy BufferMode -> DatatypeInfo (Code BufferMode) # | |
| HasDatatypeInfo Newline # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf Newline :: DatatypeInfo # Methods datatypeInfo :: proxy Newline -> DatatypeInfo (Code Newline) # | |
| HasDatatypeInfo NewlineMode # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf NewlineMode :: DatatypeInfo # Methods datatypeInfo :: proxy NewlineMode -> DatatypeInfo (Code NewlineMode) # | |
| HasDatatypeInfo SeekMode # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf SeekMode :: DatatypeInfo # Methods datatypeInfo :: proxy SeekMode -> DatatypeInfo (Code SeekMode) # | |
| HasDatatypeInfo MaskingState # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf MaskingState :: DatatypeInfo # Methods datatypeInfo :: proxy MaskingState -> DatatypeInfo (Code MaskingState) # | |
| HasDatatypeInfo IOException # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf IOException :: DatatypeInfo # Methods datatypeInfo :: proxy IOException -> DatatypeInfo (Code IOException) # | |
| HasDatatypeInfo ErrorCall # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf ErrorCall :: DatatypeInfo # Methods datatypeInfo :: proxy ErrorCall -> DatatypeInfo (Code ErrorCall) # | |
| HasDatatypeInfo ArithException # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf ArithException :: DatatypeInfo # Methods datatypeInfo :: proxy ArithException -> DatatypeInfo (Code ArithException) # | |
| HasDatatypeInfo All # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf All :: DatatypeInfo # Methods datatypeInfo :: proxy All -> DatatypeInfo (Code All) # | |
| HasDatatypeInfo Any # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf Any :: DatatypeInfo # Methods datatypeInfo :: proxy Any -> DatatypeInfo (Code Any) # | |
| HasDatatypeInfo CChar # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CChar :: DatatypeInfo # Methods datatypeInfo :: proxy CChar -> DatatypeInfo (Code CChar) # | |
| HasDatatypeInfo CSChar # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CSChar :: DatatypeInfo # Methods datatypeInfo :: proxy CSChar -> DatatypeInfo (Code CSChar) # | |
| HasDatatypeInfo CUChar # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CUChar :: DatatypeInfo # Methods datatypeInfo :: proxy CUChar -> DatatypeInfo (Code CUChar) # | |
| HasDatatypeInfo CShort # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CShort :: DatatypeInfo # Methods datatypeInfo :: proxy CShort -> DatatypeInfo (Code CShort) # | |
| HasDatatypeInfo CUShort # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CUShort :: DatatypeInfo # Methods datatypeInfo :: proxy CUShort -> DatatypeInfo (Code CUShort) # | |
| HasDatatypeInfo CInt # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CInt :: DatatypeInfo # Methods datatypeInfo :: proxy CInt -> DatatypeInfo (Code CInt) # | |
| HasDatatypeInfo CUInt # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CUInt :: DatatypeInfo # Methods datatypeInfo :: proxy CUInt -> DatatypeInfo (Code CUInt) # | |
| HasDatatypeInfo CLong # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CLong :: DatatypeInfo # Methods datatypeInfo :: proxy CLong -> DatatypeInfo (Code CLong) # | |
| HasDatatypeInfo CULong # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CULong :: DatatypeInfo # Methods datatypeInfo :: proxy CULong -> DatatypeInfo (Code CULong) # | |
| HasDatatypeInfo CLLong # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CLLong :: DatatypeInfo # Methods datatypeInfo :: proxy CLLong -> DatatypeInfo (Code CLLong) # | |
| HasDatatypeInfo CULLong # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CULLong :: DatatypeInfo # Methods datatypeInfo :: proxy CULLong -> DatatypeInfo (Code CULLong) # | |
| HasDatatypeInfo CFloat # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CFloat :: DatatypeInfo # Methods datatypeInfo :: proxy CFloat -> DatatypeInfo (Code CFloat) # | |
| HasDatatypeInfo CDouble # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CDouble :: DatatypeInfo # Methods datatypeInfo :: proxy CDouble -> DatatypeInfo (Code CDouble) # | |
| HasDatatypeInfo CPtrdiff # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CPtrdiff :: DatatypeInfo # Methods datatypeInfo :: proxy CPtrdiff -> DatatypeInfo (Code CPtrdiff) # | |
| HasDatatypeInfo CSize # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CSize :: DatatypeInfo # Methods datatypeInfo :: proxy CSize -> DatatypeInfo (Code CSize) # | |
| HasDatatypeInfo CWchar # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CWchar :: DatatypeInfo # Methods datatypeInfo :: proxy CWchar -> DatatypeInfo (Code CWchar) # | |
| HasDatatypeInfo CSigAtomic # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CSigAtomic :: DatatypeInfo # Methods datatypeInfo :: proxy CSigAtomic -> DatatypeInfo (Code CSigAtomic) # | |
| HasDatatypeInfo CClock # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CClock :: DatatypeInfo # Methods datatypeInfo :: proxy CClock -> DatatypeInfo (Code CClock) # | |
| HasDatatypeInfo CTime # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CTime :: DatatypeInfo # Methods datatypeInfo :: proxy CTime -> DatatypeInfo (Code CTime) # | |
| HasDatatypeInfo CUSeconds # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CUSeconds :: DatatypeInfo # Methods datatypeInfo :: proxy CUSeconds -> DatatypeInfo (Code CUSeconds) # | |
| HasDatatypeInfo CSUSeconds # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CSUSeconds :: DatatypeInfo # Methods datatypeInfo :: proxy CSUSeconds -> DatatypeInfo (Code CSUSeconds) # | |
| HasDatatypeInfo CIntPtr # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CIntPtr :: DatatypeInfo # Methods datatypeInfo :: proxy CIntPtr -> DatatypeInfo (Code CIntPtr) # | |
| HasDatatypeInfo CUIntPtr # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CUIntPtr :: DatatypeInfo # Methods datatypeInfo :: proxy CUIntPtr -> DatatypeInfo (Code CUIntPtr) # | |
| HasDatatypeInfo CIntMax # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CIntMax :: DatatypeInfo # Methods datatypeInfo :: proxy CIntMax -> DatatypeInfo (Code CIntMax) # | |
| HasDatatypeInfo CUIntMax # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf CUIntMax :: DatatypeInfo # Methods datatypeInfo :: proxy CUIntMax -> DatatypeInfo (Code CUIntMax) # | |
| HasDatatypeInfo IOMode # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf IOMode :: DatatypeInfo # Methods datatypeInfo :: proxy IOMode -> DatatypeInfo (Code IOMode) # | |
| HasDatatypeInfo Lexeme # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf Lexeme :: DatatypeInfo # Methods datatypeInfo :: proxy Lexeme -> DatatypeInfo (Code Lexeme) # | |
| HasDatatypeInfo Number # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf Number :: DatatypeInfo # Methods datatypeInfo :: proxy Number -> DatatypeInfo (Code Number) # | |
| HasDatatypeInfo GeneralCategory # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf GeneralCategory :: DatatypeInfo # Methods datatypeInfo :: proxy GeneralCategory -> DatatypeInfo (Code GeneralCategory) # | |
| HasDatatypeInfo [a] # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf [a] :: DatatypeInfo # Methods datatypeInfo :: proxy [a] -> DatatypeInfo (Code [a]) # | |
| HasDatatypeInfo (Maybe a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (Maybe a) :: DatatypeInfo # Methods datatypeInfo :: proxy (Maybe a) -> DatatypeInfo (Code (Maybe a)) # | |
| HasDatatypeInfo (Complex a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (Complex a) :: DatatypeInfo # Methods datatypeInfo :: proxy (Complex a) -> DatatypeInfo (Code (Complex a)) # | |
| HasDatatypeInfo (Fixed a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (Fixed a) :: DatatypeInfo # Methods datatypeInfo :: proxy (Fixed a) -> DatatypeInfo (Code (Fixed a)) # | |
| HasDatatypeInfo (ArgOrder a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (ArgOrder a) :: DatatypeInfo # Methods datatypeInfo :: proxy (ArgOrder a) -> DatatypeInfo (Code (ArgOrder a)) # | |
| HasDatatypeInfo (OptDescr a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (OptDescr a) :: DatatypeInfo # Methods datatypeInfo :: proxy (OptDescr a) -> DatatypeInfo (Code (OptDescr a)) # | |
| HasDatatypeInfo (ArgDescr a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (ArgDescr a) :: DatatypeInfo # Methods datatypeInfo :: proxy (ArgDescr a) -> DatatypeInfo (Code (ArgDescr a)) # | |
| HasDatatypeInfo (First a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (First a) :: DatatypeInfo # Methods datatypeInfo :: proxy (First a) -> DatatypeInfo (Code (First a)) # | |
| HasDatatypeInfo (Last a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (Last a) :: DatatypeInfo # Methods datatypeInfo :: proxy (Last a) -> DatatypeInfo (Code (Last a)) # | |
| HasDatatypeInfo (Dual a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (Dual a) :: DatatypeInfo # Methods datatypeInfo :: proxy (Dual a) -> DatatypeInfo (Code (Dual a)) # | |
| HasDatatypeInfo (Endo a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (Endo a) :: DatatypeInfo # Methods datatypeInfo :: proxy (Endo a) -> DatatypeInfo (Code (Endo a)) # | |
| HasDatatypeInfo (Sum a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (Sum a) :: DatatypeInfo # Methods datatypeInfo :: proxy (Sum a) -> DatatypeInfo (Code (Sum a)) # | |
| HasDatatypeInfo (Product a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (Product a) :: DatatypeInfo # Methods datatypeInfo :: proxy (Product a) -> DatatypeInfo (Code (Product a)) # | |
| HasDatatypeInfo (Down a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (Down a) :: DatatypeInfo # Methods datatypeInfo :: proxy (Down a) -> DatatypeInfo (Code (Down a)) # | |
| HasDatatypeInfo (I a) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (I a) :: DatatypeInfo # Methods datatypeInfo :: proxy (I a) -> DatatypeInfo (Code (I a)) # | |
| HasDatatypeInfo (Either a b) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (Either a b) :: DatatypeInfo # Methods datatypeInfo :: proxy (Either a b) -> DatatypeInfo (Code (Either a b)) # | |
| HasDatatypeInfo (a, b) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b) -> DatatypeInfo (Code (a, b)) # | |
| HasDatatypeInfo (Proxy t) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (Proxy t) :: DatatypeInfo # Methods datatypeInfo :: proxy (Proxy t) -> DatatypeInfo (Code (Proxy t)) # | |
| HasDatatypeInfo (a, b, c) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c) -> DatatypeInfo (Code (a, b, c)) # | |
| HasDatatypeInfo (K a b) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (K a b) :: DatatypeInfo # Methods datatypeInfo :: proxy (K a b) -> DatatypeInfo (Code (K a b)) # | |
| HasDatatypeInfo (a, b, c, d) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d) -> DatatypeInfo (Code (a, b, c, d)) # | |
| HasDatatypeInfo (a, b, c, d, e) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e) -> DatatypeInfo (Code (a, b, c, d, e)) # | |
| HasDatatypeInfo ((f :.: g) p) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf ((f :.: g) p) :: DatatypeInfo # Methods datatypeInfo :: proxy ((f :.: g) p) -> DatatypeInfo (Code ((f :.: g) p)) # | |
| HasDatatypeInfo (a, b, c, d, e, f) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f) -> DatatypeInfo (Code (a, b, c, d, e, f)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g) -> DatatypeInfo (Code (a, b, c, d, e, f, g)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28)) # | |
| HasDatatypeInfo (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28, t29) # | |
Defined in Generics.SOP.Instances Associated Types type DatatypeInfoOf (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28, t29) :: DatatypeInfo # Methods datatypeInfo :: proxy (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28, t29) -> DatatypeInfo (Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t26, t27, t28, t29)) # | |
type IsProductType (a :: *) (xs :: [*]) = (Generic a, Code a ~ '[xs]) #
Constraint that captures that a datatype is a product type, i.e., a type with a single constructor.
It also gives access to the code for the arguments of that constructor.
Since: generics-sop-0.3.1.0
type IsEnumType (a :: *) = (Generic a, All ((~) '[]) (Code a)) #
Constraint that captures that a datatype is an enumeration type, i.e., none of the constructors have any arguments.
Since: generics-sop-0.3.1.0
type IsWrappedType (a :: *) (x :: *) = (Generic a, Code a ~ '['[x]]) #
Constraint that captures that a datatype is a single-constructor, single-field datatype. This always holds for newtype-defined types, but it can also be true for data-defined types.
The constraint also gives access to the type that is wrapped.
Since: generics-sop-0.3.1.0