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

Safe HaskellNone
LanguageHaskell2010

Generics.SOP.Universe

Description

Codes and interpretations

Synopsis

Documentation

type Rep a = SOP I (Code a) #

The (generic) representation of a datatype.

A datatype is isomorphic to the sum-of-products of its code. The isomorphism is witnessed by from and to from the Generic class.

class All SListI (Code a) => Generic (a :: Type) 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 -> a
from . to === id :: Rep a -> Rep a

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, ...)

instance Generic T -- empty
instance HasDatatypeInfo T -- 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 -- derives HasDatatypeInfo as 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.

Minimal complete definition

Nothing

Associated Types

type Code a :: [[Type]] #

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

from :: a -> Rep a #

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.

to :: Rep a -> a #

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 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Bool :: [[Type]] #

Methods

from :: Bool -> Rep Bool #

to :: Rep Bool -> Bool #

Generic Ordering # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Ordering :: [[Type]] #

Generic RuntimeRep # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code RuntimeRep :: [[Type]] #

Generic VecCount # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code VecCount :: [[Type]] #

Generic VecElem # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code VecElem :: [[Type]] #

Generic R # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code R :: [[Type]] #

Methods

from :: R -> Rep R #

to :: Rep R -> R #

Generic D # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code D :: [[Type]] #

Methods

from :: D -> Rep D #

to :: Rep D -> D #

Generic C # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code C :: [[Type]] #

Methods

from :: C -> Rep C #

to :: Rep C -> C #

Generic S # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code S :: [[Type]] #

Methods

from :: S -> Rep S #

to :: Rep S -> S #

Generic CallStack # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CallStack :: [[Type]] #

Generic () # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code () :: [[Type]] #

Methods

from :: () -> Rep () #

to :: Rep () -> () #

Generic FFFormat # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code FFFormat :: [[Type]] #

Methods

from :: FFFormat -> Rep FFFormat #

to :: Rep FFFormat -> FFFormat #

Generic E0 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code E0 :: [[Type]] #

Methods

from :: E0 -> Rep E0 #

to :: Rep E0 -> E0 #

Generic E1 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code E1 :: [[Type]] #

Methods

from :: E1 -> Rep E1 #

to :: Rep E1 -> E1 #

Generic E2 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code E2 :: [[Type]] #

Methods

from :: E2 -> Rep E2 #

to :: Rep E2 -> E2 #

Generic E3 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code E3 :: [[Type]] #

Methods

from :: E3 -> Rep E3 #

to :: Rep E3 -> E3 #

Generic E6 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code E6 :: [[Type]] #

Methods

from :: E6 -> Rep E6 #

to :: Rep E6 -> E6 #

Generic E9 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code E9 :: [[Type]] #

Methods

from :: E9 -> Rep E9 #

to :: Rep E9 -> E9 #

Generic E12 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code E12 :: [[Type]] #

Methods

from :: E12 -> Rep E12 #

to :: Rep E12 -> E12 #

Generic Void # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Void :: [[Type]] #

Methods

from :: Void -> Rep Void #

to :: Rep Void -> Void #

Generic StaticPtrInfo # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code StaticPtrInfo :: [[Type]] #

Generic SpecConstrAnnotation # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code SpecConstrAnnotation :: [[Type]] #

Generic DataRep # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code DataRep :: [[Type]] #

Generic ConstrRep # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ConstrRep :: [[Type]] #

Generic Fixity # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Fixity :: [[Type]] #

Methods

from :: Fixity -> Rep Fixity #

to :: Rep Fixity -> Fixity #

Generic SrcLoc # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code SrcLoc :: [[Type]] #

Methods

from :: SrcLoc -> Rep SrcLoc #

to :: Rep SrcLoc -> SrcLoc #

Generic Location # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Location :: [[Type]] #

Generic GiveGCStats # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code GiveGCStats :: [[Type]] #

Generic GCFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code GCFlags :: [[Type]] #

Generic ConcFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ConcFlags :: [[Type]] #

Generic MiscFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code MiscFlags :: [[Type]] #

Generic DebugFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code DebugFlags :: [[Type]] #

Generic DoCostCentres # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code DoCostCentres :: [[Type]] #

Generic CCFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CCFlags :: [[Type]] #

Generic DoHeapProfile # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code DoHeapProfile :: [[Type]] #

Generic ProfFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ProfFlags :: [[Type]] #

Generic DoTrace # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code DoTrace :: [[Type]] #

Generic TraceFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code TraceFlags :: [[Type]] #

Generic TickyFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code TickyFlags :: [[Type]] #

Generic ParFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ParFlags :: [[Type]] #

Generic RTSFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code RTSFlags :: [[Type]] #

Generic RTSStats # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code RTSStats :: [[Type]] #

Generic GCDetails # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code GCDetails :: [[Type]] #

Generic ByteOrder # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ByteOrder :: [[Type]] #

Generic FormatAdjustment # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code FormatAdjustment :: [[Type]] #

Generic FormatSign # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code FormatSign :: [[Type]] #

Generic FieldFormat # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code FieldFormat :: [[Type]] #

Generic FormatParse # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code FormatParse :: [[Type]] #

Generic Version # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Version :: [[Type]] #

Generic HandlePosn # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code HandlePosn :: [[Type]] #

Generic LockMode # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code LockMode :: [[Type]] #

Generic PatternMatchFail # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code PatternMatchFail :: [[Type]] #

Generic RecSelError # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code RecSelError :: [[Type]] #

Generic RecConError # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code RecConError :: [[Type]] #

Generic RecUpdError # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code RecUpdError :: [[Type]] #

Generic NoMethodError # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code NoMethodError :: [[Type]] #

Generic TypeError # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code TypeError :: [[Type]] #

Generic NonTermination # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code NonTermination :: [[Type]] #

Generic NestedAtomically # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code NestedAtomically :: [[Type]] #

Generic BlockReason # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code BlockReason :: [[Type]] #

Generic ThreadStatus # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ThreadStatus :: [[Type]] #

Generic Errno # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Errno :: [[Type]] #

Methods

from :: Errno -> Rep Errno #

to :: Rep Errno -> Errno #

Generic CodingFailureMode # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CodingFailureMode :: [[Type]] #

Generic BlockedIndefinitelyOnMVar # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code BlockedIndefinitelyOnMVar :: [[Type]] #

Generic BlockedIndefinitelyOnSTM # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code BlockedIndefinitelyOnSTM :: [[Type]] #

Generic Deadlock # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Deadlock :: [[Type]] #

Generic AllocationLimitExceeded # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code AllocationLimitExceeded :: [[Type]] #

Generic AssertionFailed # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code AssertionFailed :: [[Type]] #

Generic AsyncException # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code AsyncException :: [[Type]] #

Generic ArrayException # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ArrayException :: [[Type]] #

Generic FixIOException # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code FixIOException :: [[Type]] #

Generic ExitCode # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ExitCode :: [[Type]] #

Generic IOErrorType # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code IOErrorType :: [[Type]] #

Generic BufferMode # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code BufferMode :: [[Type]] #

Generic Newline # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Newline :: [[Type]] #

Generic NewlineMode # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code NewlineMode :: [[Type]] #

Generic IODeviceType # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code IODeviceType :: [[Type]] #

Generic SeekMode # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code SeekMode :: [[Type]] #

Generic CodingProgress # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CodingProgress :: [[Type]] #

Generic BufferState # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code BufferState :: [[Type]] #

Generic MaskingState # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code MaskingState :: [[Type]] #

Generic IOException # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code IOException :: [[Type]] #

Generic ErrorCall # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ErrorCall :: [[Type]] #

Generic ArithException # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ArithException :: [[Type]] #

Generic All # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code All :: [[Type]] #

Methods

from :: All -> Rep All #

to :: Rep All -> All #

Generic Any # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Any :: [[Type]] #

Methods

from :: Any -> Rep Any #

to :: Rep Any -> Any #

Generic Fixity # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Fixity :: [[Type]] #

Methods

from :: Fixity -> Rep Fixity #

to :: Rep Fixity -> Fixity #

Generic Associativity # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Associativity :: [[Type]] #

Generic SourceUnpackedness # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code SourceUnpackedness :: [[Type]] #

Generic SourceStrictness # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code SourceStrictness :: [[Type]] #

Generic DecidedStrictness # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code DecidedStrictness :: [[Type]] #

Generic CChar # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CChar :: [[Type]] #

Methods

from :: CChar -> Rep CChar #

to :: Rep CChar -> CChar #

Generic CSChar # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CSChar :: [[Type]] #

Methods

from :: CSChar -> Rep CSChar #

to :: Rep CSChar -> CSChar #

Generic CUChar # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CUChar :: [[Type]] #

Methods

from :: CUChar -> Rep CUChar #

to :: Rep CUChar -> CUChar #

Generic CShort # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CShort :: [[Type]] #

Methods

from :: CShort -> Rep CShort #

to :: Rep CShort -> CShort #

Generic CUShort # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CUShort :: [[Type]] #

Generic CInt # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CInt :: [[Type]] #

Methods

from :: CInt -> Rep CInt #

to :: Rep CInt -> CInt #

Generic CUInt # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CUInt :: [[Type]] #

Methods

from :: CUInt -> Rep CUInt #

to :: Rep CUInt -> CUInt #

Generic CLong # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CLong :: [[Type]] #

Methods

from :: CLong -> Rep CLong #

to :: Rep CLong -> CLong #

Generic CULong # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CULong :: [[Type]] #

Methods

from :: CULong -> Rep CULong #

to :: Rep CULong -> CULong #

Generic CLLong # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CLLong :: [[Type]] #

Methods

from :: CLLong -> Rep CLLong #

to :: Rep CLLong -> CLLong #

Generic CULLong # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CULLong :: [[Type]] #

Generic CFloat # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CFloat :: [[Type]] #

Methods

from :: CFloat -> Rep CFloat #

to :: Rep CFloat -> CFloat #

Generic CDouble # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CDouble :: [[Type]] #

Generic CPtrdiff # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CPtrdiff :: [[Type]] #

Generic CSize # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CSize :: [[Type]] #

Methods

from :: CSize -> Rep CSize #

to :: Rep CSize -> CSize #

Generic CWchar # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CWchar :: [[Type]] #

Methods

from :: CWchar -> Rep CWchar #

to :: Rep CWchar -> CWchar #

Generic CSigAtomic # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CSigAtomic :: [[Type]] #

Generic CClock # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CClock :: [[Type]] #

Methods

from :: CClock -> Rep CClock #

to :: Rep CClock -> CClock #

Generic CTime # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CTime :: [[Type]] #

Methods

from :: CTime -> Rep CTime #

to :: Rep CTime -> CTime #

Generic CUSeconds # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CUSeconds :: [[Type]] #

Generic CSUSeconds # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CSUSeconds :: [[Type]] #

Generic CIntPtr # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CIntPtr :: [[Type]] #

Generic CUIntPtr # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CUIntPtr :: [[Type]] #

Generic CIntMax # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CIntMax :: [[Type]] #

Generic CUIntMax # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code CUIntMax :: [[Type]] #

Generic IOMode # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code IOMode :: [[Type]] #

Methods

from :: IOMode -> Rep IOMode #

to :: Rep IOMode -> IOMode #

Generic Fingerprint # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Fingerprint :: [[Type]] #

Generic Lexeme # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Lexeme :: [[Type]] #

Methods

from :: Lexeme -> Rep Lexeme #

to :: Rep Lexeme -> Lexeme #

Generic Number # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code Number :: [[Type]] #

Methods

from :: Number -> Rep Number #

to :: Rep Number -> Number #

Generic GeneralCategory # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code GeneralCategory :: [[Type]] #

Generic SrcLoc # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code SrcLoc :: [[Type]] #

Methods

from :: SrcLoc -> Rep SrcLoc #

to :: Rep SrcLoc -> SrcLoc #

Generic [a] # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code [a] :: [[Type]] #

Methods

from :: [a] -> Rep [a] #

to :: Rep [a] -> [a] #

Generic (Maybe a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Maybe a) :: [[Type]] #

Methods

from :: Maybe a -> Rep (Maybe a) #

to :: Rep (Maybe a) -> Maybe a #

Generic (Par1 p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Par1 p) :: [[Type]] #

Methods

from :: Par1 p -> Rep (Par1 p) #

to :: Rep (Par1 p) -> Par1 p #

Generic (Complex a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Complex a) :: [[Type]] #

Methods

from :: Complex a -> Rep (Complex a) #

to :: Rep (Complex a) -> Complex a #

Generic (Fixed a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Fixed a) :: [[Type]] #

Methods

from :: Fixed a -> Rep (Fixed a) #

to :: Rep (Fixed a) -> Fixed a #

Generic (Min a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Min a) :: [[Type]] #

Methods

from :: Min a -> Rep (Min a) #

to :: Rep (Min a) -> Min a #

Generic (Max a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Max a) :: [[Type]] #

Methods

from :: Max a -> Rep (Max a) #

to :: Rep (Max a) -> Max a #

Generic (First a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (First a) :: [[Type]] #

Methods

from :: First a -> Rep (First a) #

to :: Rep (First a) -> First a #

Generic (Last a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Last a) :: [[Type]] #

Methods

from :: Last a -> Rep (Last a) #

to :: Rep (Last a) -> Last a #

Generic (WrappedMonoid m) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (WrappedMonoid m) :: [[Type]] #

Generic (Option a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Option a) :: [[Type]] #

Methods

from :: Option a -> Rep (Option a) #

to :: Rep (Option a) -> Option a #

Generic (ArgOrder a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (ArgOrder a) :: [[Type]] #

Methods

from :: ArgOrder a -> Rep (ArgOrder a) #

to :: Rep (ArgOrder a) -> ArgOrder a #

Generic (OptDescr a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (OptDescr a) :: [[Type]] #

Methods

from :: OptDescr a -> Rep (OptDescr a) #

to :: Rep (OptDescr a) -> OptDescr a #

Generic (ArgDescr a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (ArgDescr a) :: [[Type]] #

Methods

from :: ArgDescr a -> Rep (ArgDescr a) #

to :: Rep (ArgDescr a) -> ArgDescr a #

Generic (Identity a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Identity a) :: [[Type]] #

Methods

from :: Identity a -> Rep (Identity a) #

to :: Rep (Identity a) -> Identity a #

Generic (Buffer e) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Buffer e) :: [[Type]] #

Methods

from :: Buffer e -> Rep (Buffer e) #

to :: Rep (Buffer e) -> Buffer e #

Generic (First a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (First a) :: [[Type]] #

Methods

from :: First a -> Rep (First a) #

to :: Rep (First a) -> First a #

Generic (Last a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Last a) :: [[Type]] #

Methods

from :: Last a -> Rep (Last a) #

to :: Rep (Last a) -> Last a #

Generic (Dual a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Dual a) :: [[Type]] #

Methods

from :: Dual a -> Rep (Dual a) #

to :: Rep (Dual a) -> Dual a #

Generic (Endo a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Endo a) :: [[Type]] #

Methods

from :: Endo a -> Rep (Endo a) #

to :: Rep (Endo a) -> Endo a #

Generic (Sum a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Sum a) :: [[Type]] #

Methods

from :: Sum a -> Rep (Sum a) #

to :: Rep (Sum a) -> Sum a #

Generic (Product a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Product a) :: [[Type]] #

Methods

from :: Product a -> Rep (Product a) #

to :: Rep (Product a) -> Product a #

Generic (Down a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Down a) :: [[Type]] #

Methods

from :: Down a -> Rep (Down a) #

to :: Rep (Down a) -> Down a #

Generic (NonEmpty a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (NonEmpty a) :: [[Type]] #

Methods

from :: NonEmpty a -> Rep (NonEmpty a) #

to :: Rep (NonEmpty a) -> NonEmpty a #

Generic (I a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (I a) :: [[Type]] #

Methods

from :: I a -> Rep (I a) #

to :: Rep (I a) -> I a #

Generic (Either a b) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Either a b) :: [[Type]] #

Methods

from :: Either a b -> Rep (Either a b) #

to :: Rep (Either a b) -> Either a b #

Generic (V1 p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (V1 p) :: [[Type]] #

Methods

from :: V1 p -> Rep (V1 p) #

to :: Rep (V1 p) -> V1 p #

Generic (U1 p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (U1 p) :: [[Type]] #

Methods

from :: U1 p -> Rep (U1 p) #

to :: Rep (U1 p) -> U1 p #

Generic (a, b) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b) :: [[Type]] #

Methods

from :: (a, b) -> Rep (a, b) #

to :: Rep (a, b) -> (a, b) #

Generic (Arg a b) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Arg a b) :: [[Type]] #

Methods

from :: Arg a b -> Rep (Arg a b) #

to :: Rep (Arg a b) -> Arg a b #

Generic (Proxy t) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Proxy t) :: [[Type]] #

Methods

from :: Proxy t -> Rep (Proxy t) #

to :: Rep (Proxy t) -> Proxy t #

Generic (a, b, c) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b, c) :: [[Type]] #

Methods

from :: (a, b, c) -> Rep (a, b, c) #

to :: Rep (a, b, c) -> (a, b, c) #

Generic (BufferCodec from to state) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (BufferCodec from to state) :: [[Type]] #

Methods

from :: BufferCodec from to state -> Rep (BufferCodec from to state) #

to :: Rep (BufferCodec from to state) -> BufferCodec from to state #

Generic (Const a b) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Const a b) :: [[Type]] #

Methods

from :: Const a b -> Rep (Const a b) #

to :: Rep (Const a b) -> Const a b #

Generic (Alt f a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Alt f a) :: [[Type]] #

Methods

from :: Alt f a -> Rep (Alt f a) #

to :: Rep (Alt f a) -> Alt f a #

Generic (K a b) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (K a b) :: [[Type]] #

Methods

from :: K a b -> Rep (K a b) #

to :: Rep (K a b) -> K a b #

Generic (K1 i c p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (K1 i c p) :: [[Type]] #

Methods

from :: K1 i c p -> Rep (K1 i c p) #

to :: Rep (K1 i c p) -> K1 i c p #

Generic ((f :+: g) p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ((f :+: g) p) :: [[Type]] #

Methods

from :: (f :+: g) p -> Rep ((f :+: g) p) #

to :: Rep ((f :+: g) p) -> (f :+: g) p #

Generic ((f :*: g) p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ((f :*: g) p) :: [[Type]] #

Methods

from :: (f :*: g) p -> Rep ((f :*: g) p) #

to :: Rep ((f :*: g) p) -> (f :*: g) p #

Generic (a, b, c, d) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b, c, d) :: [[Type]] #

Methods

from :: (a, b, c, d) -> Rep (a, b, c, d) #

to :: Rep (a, b, c, d) -> (a, b, c, d) #

Generic (Product f g a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Product f g a) :: [[Type]] #

Methods

from :: Product f g a -> Rep (Product f g a) #

to :: Rep (Product f g a) -> Product f g a #

Generic (Sum f g a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Sum f g a) :: [[Type]] #

Methods

from :: Sum f g a -> Rep (Sum f g a) #

to :: Rep (Sum f g a) -> Sum f g a #

Generic ((f -.-> g) a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ((f -.-> g) a) :: [[Type]] #

Methods

from :: (f -.-> g) a -> Rep ((f -.-> g) a) #

to :: Rep ((f -.-> g) a) -> (f -.-> g) a #

Generic (M1 i c f p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (M1 i c f p) :: [[Type]] #

Methods

from :: M1 i c f p -> Rep (M1 i c f p) #

to :: Rep (M1 i c f p) -> M1 i c f p #

Generic ((f :.: g) p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ((f :.: g) p) :: [[Type]] #

Methods

from :: (f :.: g) p -> Rep ((f :.: g) p) #

to :: Rep ((f :.: g) p) -> (f :.: g) p #

Generic (a, b, c, d, e) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b, c, d, e) :: [[Type]] #

Methods

from :: (a, b, c, d, e) -> Rep (a, b, c, d, e) #

to :: Rep (a, b, c, d, e) -> (a, b, c, d, e) #

Generic (Compose f g a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (Compose f g a) :: [[Type]] #

Methods

from :: Compose f g a -> Rep (Compose f g a) #

to :: Rep (Compose f g a) -> Compose f g a #

Generic ((f :.: g) p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code ((f :.: g) p) :: [[Type]] #

Methods

from :: (f :.: g) p -> Rep ((f :.: g) p) #

to :: Rep ((f :.: g) p) -> (f :.: g) p #

Generic (a, b, c, d, e, f) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b, c, d, e, f) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f) -> Rep (a, b, c, d, e, f) #

to :: Rep (a, b, c, d, e, f) -> (a, b, c, d, e, f) #

Generic (a, b, c, d, e, f, g) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b, c, d, e, f, g) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g) -> Rep (a, b, c, d, e, f, g) #

to :: Rep (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) #

Generic (a, b, c, d, e, f, g, h) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b, c, d, e, f, g, h) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h) -> Rep (a, b, c, d, e, f, g, h) #

to :: Rep (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) #

Generic (a, b, c, d, e, f, g, h, i) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b, c, d, e, f, g, h, i) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h, i) -> Rep (a, b, c, d, e, f, g, h, i) #

to :: Rep (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) #

Generic (a, b, c, d, e, f, g, h, i, j) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b, c, d, e, f, g, h, i, j) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h, i, j) -> Rep (a, b, c, d, e, f, g, h, i, j) #

to :: Rep (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) #

Generic (a, b, c, d, e, f, g, h, i, j, k) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b, c, d, e, f, g, h, i, j, k) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k) -> Rep (a, b, c, d, e, f, g, h, i, j, k) #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) #

Generic (a, b, c, d, e, f, g, h, i, j, k, l) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b, c, d, e, f, g, h, i, j, k, l) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l) #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l) -> (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) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b, c, d, e, f, g, h, i, j, k, l, m) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m) #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n) #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type Code (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) # 
Instance details

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) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) # 
Instance details

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) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) # 
Instance details

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) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) # 
Instance details

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) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) # 
Instance details

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) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) # 
Instance details

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) :: [[Type]] #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) # 
Instance details

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) :: [[Type]] #

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) # 
Instance details

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) :: [[Type]] #

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) # 
Instance details

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) :: [[Type]] #

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) # 
Instance details

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) :: [[Type]] #

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) # 
Instance details

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) :: [[Type]] #

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) # 
Instance details

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) :: [[Type]] #

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) # 
Instance details

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) :: [[Type]] #

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) # 
Instance details

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) :: [[Type]] #

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) # 
Instance details

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) :: [[Type]] #

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 Generic a => 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.

Minimal complete definition

Nothing

Associated Types

type DatatypeInfoOf a :: DatatypeInfo #

Type-level datatype info

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 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Bool :: DatatypeInfo #

Methods

datatypeInfo :: proxy Bool -> DatatypeInfo (Code Bool) #

HasDatatypeInfo Ordering # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Ordering :: DatatypeInfo #

HasDatatypeInfo RuntimeRep # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf RuntimeRep :: DatatypeInfo #

HasDatatypeInfo VecCount # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf VecCount :: DatatypeInfo #

HasDatatypeInfo VecElem # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf VecElem :: DatatypeInfo #

HasDatatypeInfo R # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf R :: DatatypeInfo #

Methods

datatypeInfo :: proxy R -> DatatypeInfo (Code R) #

HasDatatypeInfo D # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf D :: DatatypeInfo #

Methods

datatypeInfo :: proxy D -> DatatypeInfo (Code D) #

HasDatatypeInfo C # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf C :: DatatypeInfo #

Methods

datatypeInfo :: proxy C -> DatatypeInfo (Code C) #

HasDatatypeInfo S # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf S :: DatatypeInfo #

Methods

datatypeInfo :: proxy S -> DatatypeInfo (Code S) #

HasDatatypeInfo CallStack # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CallStack :: DatatypeInfo #

HasDatatypeInfo () # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf () :: DatatypeInfo #

Methods

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

HasDatatypeInfo FFFormat # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf FFFormat :: DatatypeInfo #

Methods

datatypeInfo :: proxy FFFormat -> DatatypeInfo (Code FFFormat) #

HasDatatypeInfo E0 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf E0 :: DatatypeInfo #

Methods

datatypeInfo :: proxy E0 -> DatatypeInfo (Code E0) #

HasDatatypeInfo E1 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf E1 :: DatatypeInfo #

Methods

datatypeInfo :: proxy E1 -> DatatypeInfo (Code E1) #

HasDatatypeInfo E2 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf E2 :: DatatypeInfo #

Methods

datatypeInfo :: proxy E2 -> DatatypeInfo (Code E2) #

HasDatatypeInfo E3 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf E3 :: DatatypeInfo #

Methods

datatypeInfo :: proxy E3 -> DatatypeInfo (Code E3) #

HasDatatypeInfo E6 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf E6 :: DatatypeInfo #

Methods

datatypeInfo :: proxy E6 -> DatatypeInfo (Code E6) #

HasDatatypeInfo E9 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf E9 :: DatatypeInfo #

Methods

datatypeInfo :: proxy E9 -> DatatypeInfo (Code E9) #

HasDatatypeInfo E12 # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf E12 :: DatatypeInfo #

Methods

datatypeInfo :: proxy E12 -> DatatypeInfo (Code E12) #

HasDatatypeInfo Void # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Void :: DatatypeInfo #

Methods

datatypeInfo :: proxy Void -> DatatypeInfo (Code Void) #

HasDatatypeInfo StaticPtrInfo # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf StaticPtrInfo :: DatatypeInfo #

HasDatatypeInfo SpecConstrAnnotation # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo DataRep # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf DataRep :: DatatypeInfo #

HasDatatypeInfo ConstrRep # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf ConstrRep :: DatatypeInfo #

HasDatatypeInfo Fixity # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Fixity :: DatatypeInfo #

HasDatatypeInfo SrcLoc # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf SrcLoc :: DatatypeInfo #

HasDatatypeInfo Location # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Location :: DatatypeInfo #

HasDatatypeInfo GiveGCStats # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf GiveGCStats :: DatatypeInfo #

HasDatatypeInfo GCFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf GCFlags :: DatatypeInfo #

HasDatatypeInfo ConcFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf ConcFlags :: DatatypeInfo #

HasDatatypeInfo MiscFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf MiscFlags :: DatatypeInfo #

HasDatatypeInfo DebugFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf DebugFlags :: DatatypeInfo #

HasDatatypeInfo DoCostCentres # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf DoCostCentres :: DatatypeInfo #

HasDatatypeInfo CCFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CCFlags :: DatatypeInfo #

HasDatatypeInfo DoHeapProfile # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf DoHeapProfile :: DatatypeInfo #

HasDatatypeInfo ProfFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf ProfFlags :: DatatypeInfo #

HasDatatypeInfo DoTrace # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf DoTrace :: DatatypeInfo #

HasDatatypeInfo TraceFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf TraceFlags :: DatatypeInfo #

HasDatatypeInfo TickyFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf TickyFlags :: DatatypeInfo #

HasDatatypeInfo ParFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf ParFlags :: DatatypeInfo #

HasDatatypeInfo RTSFlags # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf RTSFlags :: DatatypeInfo #

HasDatatypeInfo RTSStats # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf RTSStats :: DatatypeInfo #

HasDatatypeInfo GCDetails # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf GCDetails :: DatatypeInfo #

HasDatatypeInfo ByteOrder # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf ByteOrder :: DatatypeInfo #

HasDatatypeInfo FormatAdjustment # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo FormatSign # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf FormatSign :: DatatypeInfo #

HasDatatypeInfo FieldFormat # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf FieldFormat :: DatatypeInfo #

HasDatatypeInfo FormatParse # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf FormatParse :: DatatypeInfo #

HasDatatypeInfo Version # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Version :: DatatypeInfo #

HasDatatypeInfo HandlePosn # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf HandlePosn :: DatatypeInfo #

HasDatatypeInfo LockMode # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf LockMode :: DatatypeInfo #

HasDatatypeInfo PatternMatchFail # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo RecSelError # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf RecSelError :: DatatypeInfo #

HasDatatypeInfo RecConError # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf RecConError :: DatatypeInfo #

HasDatatypeInfo RecUpdError # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf RecUpdError :: DatatypeInfo #

HasDatatypeInfo NoMethodError # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf NoMethodError :: DatatypeInfo #

HasDatatypeInfo TypeError # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf TypeError :: DatatypeInfo #

HasDatatypeInfo NonTermination # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo NestedAtomically # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo BlockReason # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf BlockReason :: DatatypeInfo #

HasDatatypeInfo ThreadStatus # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf ThreadStatus :: DatatypeInfo #

HasDatatypeInfo Errno # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Errno :: DatatypeInfo #

Methods

datatypeInfo :: proxy Errno -> DatatypeInfo (Code Errno) #

HasDatatypeInfo CodingFailureMode # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo BlockedIndefinitelyOnMVar # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo BlockedIndefinitelyOnSTM # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo Deadlock # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Deadlock :: DatatypeInfo #

HasDatatypeInfo AllocationLimitExceeded # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo AssertionFailed # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo AsyncException # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo ArrayException # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo FixIOException # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo ExitCode # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf ExitCode :: DatatypeInfo #

HasDatatypeInfo IOErrorType # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf IOErrorType :: DatatypeInfo #

HasDatatypeInfo BufferMode # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf BufferMode :: DatatypeInfo #

HasDatatypeInfo Newline # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Newline :: DatatypeInfo #

HasDatatypeInfo NewlineMode # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf NewlineMode :: DatatypeInfo #

HasDatatypeInfo IODeviceType # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf IODeviceType :: DatatypeInfo #

HasDatatypeInfo SeekMode # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf SeekMode :: DatatypeInfo #

HasDatatypeInfo CodingProgress # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo BufferState # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf BufferState :: DatatypeInfo #

HasDatatypeInfo MaskingState # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf MaskingState :: DatatypeInfo #

HasDatatypeInfo IOException # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf IOException :: DatatypeInfo #

HasDatatypeInfo ErrorCall # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf ErrorCall :: DatatypeInfo #

HasDatatypeInfo ArithException # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo All # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf All :: DatatypeInfo #

Methods

datatypeInfo :: proxy All -> DatatypeInfo (Code All) #

HasDatatypeInfo Any # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Any :: DatatypeInfo #

Methods

datatypeInfo :: proxy Any -> DatatypeInfo (Code Any) #

HasDatatypeInfo Fixity # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Fixity :: DatatypeInfo #

HasDatatypeInfo Associativity # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Associativity :: DatatypeInfo #

HasDatatypeInfo SourceUnpackedness # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo SourceStrictness # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo DecidedStrictness # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo CChar # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CChar :: DatatypeInfo #

Methods

datatypeInfo :: proxy CChar -> DatatypeInfo (Code CChar) #

HasDatatypeInfo CSChar # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CSChar :: DatatypeInfo #

HasDatatypeInfo CUChar # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CUChar :: DatatypeInfo #

HasDatatypeInfo CShort # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CShort :: DatatypeInfo #

HasDatatypeInfo CUShort # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CUShort :: DatatypeInfo #

HasDatatypeInfo CInt # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CInt :: DatatypeInfo #

Methods

datatypeInfo :: proxy CInt -> DatatypeInfo (Code CInt) #

HasDatatypeInfo CUInt # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CUInt :: DatatypeInfo #

Methods

datatypeInfo :: proxy CUInt -> DatatypeInfo (Code CUInt) #

HasDatatypeInfo CLong # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CLong :: DatatypeInfo #

Methods

datatypeInfo :: proxy CLong -> DatatypeInfo (Code CLong) #

HasDatatypeInfo CULong # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CULong :: DatatypeInfo #

HasDatatypeInfo CLLong # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CLLong :: DatatypeInfo #

HasDatatypeInfo CULLong # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CULLong :: DatatypeInfo #

HasDatatypeInfo CFloat # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CFloat :: DatatypeInfo #

HasDatatypeInfo CDouble # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CDouble :: DatatypeInfo #

HasDatatypeInfo CPtrdiff # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CPtrdiff :: DatatypeInfo #

HasDatatypeInfo CSize # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CSize :: DatatypeInfo #

Methods

datatypeInfo :: proxy CSize -> DatatypeInfo (Code CSize) #

HasDatatypeInfo CWchar # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CWchar :: DatatypeInfo #

HasDatatypeInfo CSigAtomic # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CSigAtomic :: DatatypeInfo #

HasDatatypeInfo CClock # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CClock :: DatatypeInfo #

HasDatatypeInfo CTime # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CTime :: DatatypeInfo #

Methods

datatypeInfo :: proxy CTime -> DatatypeInfo (Code CTime) #

HasDatatypeInfo CUSeconds # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CUSeconds :: DatatypeInfo #

HasDatatypeInfo CSUSeconds # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CSUSeconds :: DatatypeInfo #

HasDatatypeInfo CIntPtr # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CIntPtr :: DatatypeInfo #

HasDatatypeInfo CUIntPtr # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CUIntPtr :: DatatypeInfo #

HasDatatypeInfo CIntMax # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CIntMax :: DatatypeInfo #

HasDatatypeInfo CUIntMax # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf CUIntMax :: DatatypeInfo #

HasDatatypeInfo IOMode # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf IOMode :: DatatypeInfo #

HasDatatypeInfo Fingerprint # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Fingerprint :: DatatypeInfo #

HasDatatypeInfo Lexeme # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Lexeme :: DatatypeInfo #

HasDatatypeInfo Number # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf Number :: DatatypeInfo #

HasDatatypeInfo GeneralCategory # 
Instance details

Defined in Generics.SOP.Instances

HasDatatypeInfo SrcLoc # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf SrcLoc :: DatatypeInfo #

HasDatatypeInfo [a] # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf [a] :: DatatypeInfo #

Methods

datatypeInfo :: proxy [a] -> DatatypeInfo (Code [a]) #

HasDatatypeInfo (Maybe a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Maybe a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Maybe a) -> DatatypeInfo (Code (Maybe a)) #

HasDatatypeInfo (Par1 p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Par1 p) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Par1 p) -> DatatypeInfo (Code (Par1 p)) #

HasDatatypeInfo (Complex a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Complex a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Complex a) -> DatatypeInfo (Code (Complex a)) #

HasDatatypeInfo (Fixed a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Fixed a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Fixed a) -> DatatypeInfo (Code (Fixed a)) #

HasDatatypeInfo (Min a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Min a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Min a) -> DatatypeInfo (Code (Min a)) #

HasDatatypeInfo (Max a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Max a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Max a) -> DatatypeInfo (Code (Max a)) #

HasDatatypeInfo (First a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (First a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (First a) -> DatatypeInfo (Code (First a)) #

HasDatatypeInfo (Last a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Last a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Last a) -> DatatypeInfo (Code (Last a)) #

HasDatatypeInfo (WrappedMonoid m) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (WrappedMonoid m) :: DatatypeInfo #

HasDatatypeInfo (Option a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Option a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Option a) -> DatatypeInfo (Code (Option a)) #

HasDatatypeInfo (ArgOrder a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (ArgOrder a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (ArgOrder a) -> DatatypeInfo (Code (ArgOrder a)) #

HasDatatypeInfo (OptDescr a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (OptDescr a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (OptDescr a) -> DatatypeInfo (Code (OptDescr a)) #

HasDatatypeInfo (ArgDescr a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (ArgDescr a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (ArgDescr a) -> DatatypeInfo (Code (ArgDescr a)) #

HasDatatypeInfo (Identity a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Identity a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Identity a) -> DatatypeInfo (Code (Identity a)) #

HasDatatypeInfo (Buffer e) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Buffer e) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Buffer e) -> DatatypeInfo (Code (Buffer e)) #

HasDatatypeInfo (First a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (First a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (First a) -> DatatypeInfo (Code (First a)) #

HasDatatypeInfo (Last a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Last a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Last a) -> DatatypeInfo (Code (Last a)) #

HasDatatypeInfo (Dual a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Dual a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Dual a) -> DatatypeInfo (Code (Dual a)) #

HasDatatypeInfo (Endo a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Endo a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Endo a) -> DatatypeInfo (Code (Endo a)) #

HasDatatypeInfo (Sum a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Sum a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Sum a) -> DatatypeInfo (Code (Sum a)) #

HasDatatypeInfo (Product a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Product a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Product a) -> DatatypeInfo (Code (Product a)) #

HasDatatypeInfo (Down a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Down a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Down a) -> DatatypeInfo (Code (Down a)) #

HasDatatypeInfo (NonEmpty a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (NonEmpty a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (NonEmpty a) -> DatatypeInfo (Code (NonEmpty a)) #

HasDatatypeInfo (I a) # 
Instance details

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) # 
Instance details

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 (V1 p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (V1 p) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (V1 p) -> DatatypeInfo (Code (V1 p)) #

HasDatatypeInfo (U1 p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (U1 p) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (U1 p) -> DatatypeInfo (Code (U1 p)) #

HasDatatypeInfo (a, b) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (a, b) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (a, b) -> DatatypeInfo (Code (a, b)) #

HasDatatypeInfo (Arg a b) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Arg a b) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Arg a b) -> DatatypeInfo (Code (Arg a b)) #

HasDatatypeInfo (Proxy t) # 
Instance details

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) # 
Instance details

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 (BufferCodec from to state) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (BufferCodec from to state) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (BufferCodec from to state) -> DatatypeInfo (Code (BufferCodec from to state)) #

HasDatatypeInfo (Const a b) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Const a b) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Const a b) -> DatatypeInfo (Code (Const a b)) #

HasDatatypeInfo (Alt f a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Alt f a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Alt f a) -> DatatypeInfo (Code (Alt f a)) #

HasDatatypeInfo (K a b) # 
Instance details

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 (K1 i c p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (K1 i c p) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (K1 i c p) -> DatatypeInfo (Code (K1 i c p)) #

HasDatatypeInfo ((f :+: g) p) # 
Instance details

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 ((f :*: g) p) # 
Instance details

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) # 
Instance details

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 (Product f g a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Product f g a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Product f g a) -> DatatypeInfo (Code (Product f g a)) #

HasDatatypeInfo (Sum f g a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Sum f g a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Sum f g a) -> DatatypeInfo (Code (Sum f g a)) #

HasDatatypeInfo ((f -.-> g) a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf ((f -.-> g) a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy ((f -.-> g) a) -> DatatypeInfo (Code ((f -.-> g) a)) #

HasDatatypeInfo (M1 i c f p) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (M1 i c f p) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (M1 i c f p) -> DatatypeInfo (Code (M1 i c f p)) #

HasDatatypeInfo ((f :.: g) p) # 
Instance details

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) # 
Instance details

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 (Compose f g a) # 
Instance details

Defined in Generics.SOP.Instances

Associated Types

type DatatypeInfoOf (Compose f g a) :: DatatypeInfo #

Methods

datatypeInfo :: proxy (Compose f g a) -> DatatypeInfo (Code (Compose f g a)) #

HasDatatypeInfo ((f :.: g) p) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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) # 
Instance details

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 :: Type) (xs :: [Type]) = (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: 0.3.1.0

type ProductCode (a :: Type) = Head (Code a) #

Direct access to the part of the code that is relevant for a product type.

Since: 0.4.0.0

productTypeFrom :: IsProductType a xs => a -> NP I xs #

Convert from a product type to its product representation.

Since: 0.4.0.0

productTypeTo :: IsProductType a xs => NP I xs -> a #

Convert a product representation to the original type.

Since: 0.4.0.0

type IsEnumType (a :: Type) = (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: 0.3.1.0

enumTypeFrom :: IsEnumType a => a -> NS (K ()) (Code a) #

Convert from an enum type to its sum representation.

Since: 0.4.0.0

enumTypeTo :: IsEnumType a => NS (K ()) (Code a) -> a #

Convert a sum representation to ihe original type.

type IsWrappedType (a :: Type) (x :: Type) = (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: 0.3.1.0

type WrappedCode (a :: Type) = Head (Head (Code a)) #

Direct access to the part of the code that is relevant for wrapped types and newtypes.

Since: 0.4.0.0

wrappedTypeFrom :: IsWrappedType a x => a -> x #

Convert from a wrapped type to its inner type.

Since: 0.4.0.0

wrappedTypeTo :: IsWrappedType a x => x -> a #

Convert a type to a wrapped type.

Since: 0.4.0.0

type IsNewtype (a :: Type) (x :: Type) = (IsWrappedType a x, Coercible a x) #

Constraint that captures that a datatype is a newtype. This makes use of the fact that newtypes are always coercible to the type they wrap, whereas datatypes are not.

Since: 0.3.1.0

newtypeFrom :: IsNewtype a x => a -> x #

Convert a newtype to its inner type.

This is a specialised synonym for coerce.

Since: 0.4.0.0

newtypeTo :: IsNewtype a x => x -> a #

Convert a type to a newtype.

This is a specialised synonym for coerce.

Since: 0.4.0.0