HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulererebase-1.21.2Haskell2010

GHC.Generics

  • 32 types
  • 5 classes
  • 7 values
  • Packagererebase-1.21.2
  • Exports53
  • LanguageHaskell2010
  • LicenceMIT
  • SourceGenerics.hs
classclass Generic a where
#

Representable types of kind *. This class is derivable in GHC with the DeriveGeneric flag on.

A Generic instance must satisfy the following laws:

from . to ≡ id
to . from ≡ id

Associated types

  • type family Rep a :: Type -> Type

    Generic representation type

Methods

  • from :: a -> Rep a x

    Convert from the datatype to its representation

  • to :: Rep a x -> a

    Convert from the representation to the datatype

Instances227Generic, …
  • Generic ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • Generic ForeignSrcLangDefined in ghc-boot-th-9.10.3 · GHC.ForeignSrcLang.Type
  • Generic ExtensionDefined in ghc-boot-th-9.10.3 · GHC.LanguageExtensions.Type
  • Generic VoidDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic ByteOrderDefined in ghc-internal-9.1003.0 · GHC.Internal.ByteOrder
  • Generic ClosureTypeDefined in ghc-internal-9.1003.0 · GHC.Internal.ClosureTypes
  • Generic AllDefined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.Internal
  • Generic AnyDefined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.Internal
  • Generic VersionDefined in ghc-internal-9.1003.0 · GHC.Internal.Data.Version
  • Generic FingerprintDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic AssociativityDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic DecidedStrictnessDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic FixityDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic SourceStrictnessDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic SourceUnpackednessDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic ExitCodeDefined in ghc-internal-9.1003.0 · GHC.Internal.IO.Exception
  • Generic CCFlagsDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic ConcFlagsDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic DebugFlagsDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic DoCostCentresDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic DoHeapProfileDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic DoTraceDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic GCFlagsDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic GiveGCStatsDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic HpcFlagsDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic MiscFlagsDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic ParFlagsDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic ProfFlagsDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic RTSFlagsDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic TickyFlagsDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic TraceFlagsDefined in ghc-internal-9.1003.0 · GHC.Internal.RTS.Flags
  • Generic SrcLocDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic GCDetailsDefined in ghc-internal-9.1003.0 · GHC.Internal.Stats
  • Generic RTSStatsDefined in ghc-internal-9.1003.0 · GHC.Internal.Stats
  • Generic GeneralCategoryDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic BoolDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic OrderingDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic OsCharDefined in os-string-2.0.7 · System.OsString.Internal.Types
  • Generic OsStringDefined in os-string-2.0.7 · System.OsString.Internal.Types
  • Generic PosixCharDefined in os-string-2.0.7 · System.OsString.Internal.Types
  • Generic PosixStringDefined in os-string-2.0.7 · System.OsString.Internal.Types
  • Generic WindowsCharDefined in os-string-2.0.7 · System.OsString.Internal.Types
  • Generic WindowsStringDefined in os-string-2.0.7 · System.OsString.Internal.Types
  • Generic ModeDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Generic StyleDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Generic TextDetailsDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Generic DocDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJ
  • Generic AnnLookupDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic AnnTargetDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic BangDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic BndrVisDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic BodyDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic BytesDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic CallconvDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic ClauseDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic ConDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic DecDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic DecidedStrictnessDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic DerivClauseDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic DerivStrategyDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic DocLocDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic ExpDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic FamilyResultSigDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic FixityDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic FixityDirectionDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic ForeignDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic FunDepDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic GuardDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic InfoDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic InjectivityAnnDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic InlineDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic LitDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic LocDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic MatchDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic ModNameDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic ModuleDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic ModuleInfoDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic NameDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic NameFlavourDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic NameSpaceDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic NamespaceSpecifierDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic OccNameDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic OverlapDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic PatDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic PatSynArgsDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic PatSynDirDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic PhasesDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic PkgNameDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic PragmaDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic RangeDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic RoleDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic RuleBndrDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic RuleMatchDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic SafetyDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic SourceStrictnessDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic SourceUnpackednessDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic SpecificityDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic StmtDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic TyLitDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic TySynEqnDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic TypeDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic TypeFamilyHeadDefined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic ConstructorInfoDefined in th-abstraction-0.7.1.0 · Language.Haskell.TH.Datatype
  • Generic ConstructorVariantDefined in th-abstraction-0.7.1.0 · Language.Haskell.TH.Datatype
  • Generic DatatypeInfoDefined in th-abstraction-0.7.1.0 · Language.Haskell.TH.Datatype
  • Generic DatatypeVariantDefined in th-abstraction-0.7.1.0 · Language.Haskell.TH.Datatype
  • Generic FieldStrictnessDefined in th-abstraction-0.7.1.0 · Language.Haskell.TH.Datatype
  • Generic StrictnessDefined in th-abstraction-0.7.1.0 · Language.Haskell.TH.Datatype
  • Generic UnpackednessDefined in th-abstraction-0.7.1.0 · Language.Haskell.TH.Datatype
  • Generic CalendarDiffDaysDefined in time-compat-1.9.8 · Data.Time.Orphans · orphan
  • Generic DayDefined in time-compat-1.9.8 · Data.Time.Orphans · orphan
  • Generic QuarterDefined in time-compat-1.9.8 · Data.Time.Orphans · orphan
  • Generic UTCTimeDefined in time-compat-1.9.8 · Data.Time.Orphans · orphan
  • Generic UniversalTimeDefined in time-compat-1.9.8 · Data.Time.Orphans · orphan
  • Generic CalendarDiffTimeDefined in time-compat-1.9.8 · Data.Time.Orphans · orphan
  • Generic LocalTimeDefined in time-compat-1.9.8 · Data.Time.Orphans · orphan
  • Generic TimeOfDayDefined in time-compat-1.9.8 · Data.Time.Orphans · orphan
  • Generic TimeZoneDefined in time-compat-1.9.8 · Data.Time.Orphans · orphan
  • Generic ZonedTimeDefined in time-compat-1.9.8 · Data.Time.Orphans · orphan
  • Generic ()Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Complex a)Defined in base-4.20.2.0 · Data.Complex
  • Generic (First a)Defined in base-4.20.2.0 · Data.Semigroup
  • Generic (Last a)Defined in base-4.20.2.0 · Data.Semigroup
  • Generic (Max a)Defined in base-4.20.2.0 · Data.Semigroup
  • Generic (Min a)Defined in base-4.20.2.0 · Data.Semigroup
  • Generic (WrappedMonoid m)Defined in base-4.20.2.0 · Data.Semigroup
  • Generic (SCC vertex)Defined in containers-0.7 · Data.Graph
  • Generic (Digit a)Defined in containers-0.7 · Data.Sequence.Internal
  • Generic (Elem a)Defined in containers-0.7 · Data.Sequence.Internal
  • Generic (FingerTree a)Defined in containers-0.7 · Data.Sequence.Internal
  • Generic (Node a)Defined in containers-0.7 · Data.Sequence.Internal
  • Generic (ViewL a)Defined in containers-0.7 · Data.Sequence.Internal
  • Generic (ViewR a)Defined in containers-0.7 · Data.Sequence.Internal
  • Generic (Tree a)Defined in containers-0.7 · Data.Tree
  • Generic (NonEmpty a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Identity a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Functor.Identity
  • Generic (First a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Monoid
  • Generic (Last a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Monoid
  • Generic (Down a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Dual a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.Internal
  • Generic (Endo a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.Internal
  • Generic (Product a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.Internal
  • Generic (Sum a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.Internal
  • Generic (ZipList a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Functor.ZipList
  • Generic (Par1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Maybe a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Doc a)Defined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Generic (TyVarBndr flag)Defined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • Generic (a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic [a]Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (WrappedMonad m a)Defined in base-4.20.2.0 · Control.Applicative
  • Generic (Arg a b)Defined in base-4.20.2.0 · Data.Semigroup
  • Generic (Cofree f a)Defined in free-5.2 · Control.Comonad.Cofree
  • Generic (Free f a)Defined in free-5.2 · Control.Monad.Free
  • Generic (Free f a)Defined in free-5.2 · Control.Monad.Free.Ap
  • Generic (Either a b)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Proxy t)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (U1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (V1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Lift f a)Defined in transformers-0.6.1.1 · Control.Applicative.Lift
  • Generic (MaybeT m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Maybe
  • Generic (a, b)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (WrappedArrow a b c)Defined in base-4.20.2.0 · Control.Applicative
  • Generic (Biap bi a b)Defined in bifunctors-5.6.2 · Data.Bifunctor.Biap
  • Generic (Fix p a)Defined in bifunctors-5.6.2 · Data.Bifunctor.Fix
  • Generic (Join p a)Defined in bifunctors-5.6.2 · Data.Bifunctor.Join
  • Generic (CofreeF f a b)Defined in free-5.2 · Control.Comonad.Trans.Cofree
  • Generic (FreeF f a b)Defined in free-5.2 · Control.Monad.Trans.Free
  • Generic (FreeF f a b)Defined in free-5.2 · Control.Monad.Trans.Free.Ap
  • Generic (Kleisli m a b)Defined in ghc-internal-9.1003.0 · GHC.Internal.Control.Arrow
  • Generic (Const a b)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Functor.Const
  • Generic (Ap f a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Monoid
  • Generic (Alt f a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.Internal
  • Generic (Rec1 f p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (URec Char p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (URec Double p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (URec Float p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (URec Int p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (URec Word p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (URec (Ptr ()) p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Tagged s b)Defined in tagged-0.8.9 · Data.Tagged
  • Generic (Backwards f a)Defined in transformers-0.6.1.1 · Control.Applicative.Backwards
  • Generic (AccumT w m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Accum
  • Generic (ExceptT e m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Except
  • Generic (IdentityT f a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Identity
  • Generic (ReaderT r m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Reader
  • Generic (SelectT r m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Select
  • Generic (StateT s m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.State.Lazy
  • Generic (StateT s m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.State.Strict
  • Generic (WriterT w m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Writer.CPS
  • Generic (WriterT w m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Writer.Lazy
  • Generic (WriterT w m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Writer.Strict
  • Generic (Constant a b)Defined in transformers-0.6.1.1 · Data.Functor.Constant
  • Generic (Reverse f a)Defined in transformers-0.6.1.1 · Data.Functor.Reverse
  • Generic (a, b, c)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Product f g a)Defined in base-4.20.2.0 · Data.Functor.Product
  • Generic (Sum f g a)Defined in base-4.20.2.0 · Data.Functor.Sum
  • Generic (K1 i c p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (ContT r m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Cont
  • Generic ((:*:) f g p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic ((:+:) f g p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (a, b, c, d)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Compose f g a)Defined in base-4.20.2.0 · Data.Functor.Compose
  • Generic (Clown f a b)Defined in bifunctors-5.6.2 · Data.Bifunctor.Clown
  • Generic (Flip p a b)Defined in bifunctors-5.6.2 · Data.Bifunctor.Flip
  • Generic (Joker g a b)Defined in bifunctors-5.6.2 · Data.Bifunctor.Joker
  • Generic (WrappedBifunctor p a b)Defined in bifunctors-5.6.2 · Data.Bifunctor.Wrapped
  • Generic (M1 i c f p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (RWST r w s m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.RWS.CPS
  • Generic (RWST r w s m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.RWS.Lazy
  • Generic (RWST r w s m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.RWS.Strict
  • Generic ((:.:) f g p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Product f g a b)Defined in bifunctors-5.6.2 · Data.Bifunctor.Product
  • Generic (Sum p q a b)Defined in bifunctors-5.6.2 · Data.Bifunctor.Sum
  • Generic (a, b, c, d, e, f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Tannen f p a b)Defined in bifunctors-5.6.2 · Data.Bifunctor.Tannen
  • Generic (a, b, c, d, e, f, g)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Biff p f g a b)Defined in bifunctors-5.6.2 · Data.Bifunctor.Biff
  • Generic (a, b, c, d, e, f, g, h, i)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h, i, j)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h, i, j, k)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h, i, j, k, l)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h, i, j, k, l, m)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
familytype family Rep a :: Type -> Type
#

Generic representation type

Instances227Rep, …
datadata C
#

Tag for M1: constructor

datadata Fixity
#

Datatype to represent the fixity of a constructor. An infix | declaration directly corresponds to an application of Infix.

Instances7Eq, Data, Ord, Read, Show, Generic, …
datadata (:*:) (f :: k -> Type) (g :: k -> Type) (p :: k)
#

Products: encode multiple arguments to constructors

Constructors

  • f p :*: g pinfixr 6
Instances84Generic1, GNFData, GBinaryGet, GBinaryPut, GHashable, GEq1, …
datadata (:+:) (f :: k -> Type) (g :: k -> Type) (p :: k)
#

Sums: encode choice between constructors

Constructors

Instances56Generic1, GNFData, GBinaryGet, GBinaryPut, GHashable, GSum, …
datadata Meta
#

Datatype to represent metadata associated with a datatype (MetaData), constructor (MetaCons), or field selector (MetaSel).

  • In MetaData n m p nt, n is the datatype's name, m is the module in which the datatype is defined, p is the package in which the datatype is defined, and nt is 'True if the datatype is a newtype.

  • In MetaCons n f s, n is the constructor's name, f is its fixity, and s is 'True if the constructor contains record selectors.

  • In MetaSel mn su ss ds, if the field uses record syntax, then mn is Just the record name. Otherwise, mn is Nothing. su and ss are the field's unpackedness and strictness annotations, and ds is the strictness that GHC infers for the field.

Instances3Constructor, Datatype, Selector
typetype UInt = URec Int
#

Type synonym for URec Int#

Instances11GEq1, GOrd1, GShow1Con, Eq1, Ord1, Show1, …
  • GEq1 v UIntDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd1 v UIntDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShow1Con v UIntDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Eq1 UIntDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Ord1 UIntDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Show1 UIntDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • IsNullaryCon UIntDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Invariant UIntDefined in invariant-0.6.4 · Data.Functor.Invariant
  • GEq (UInt p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd (UInt p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShowCon (UInt p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
data familydata family URec a (p :: k)
#

Constants of unlifted kinds

Instances66Generic1, GNFData, Foldable, Traversable, Functor, Eq, …
typetype UFloat = URec Float
#

Type synonym for URec Float#

Instances11GEq1, GOrd1, GShow1Con, Eq1, Ord1, Show1, …
  • GEq1 v UFloatDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd1 v UFloatDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShow1Con v UFloatDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Eq1 UFloatDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Ord1 UFloatDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Show1 UFloatDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • IsNullaryCon UFloatDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Invariant UFloatDefined in invariant-0.6.4 · Data.Functor.Invariant
  • GEq (UFloat p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd (UFloat p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShowCon (UFloat p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
typetype UDouble = URec Double
#

Type synonym for URec Double#

Instances11GEq1, GOrd1, GShow1Con, Eq1, Ord1, Show1, …
  • GEq1 v UDoubleDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd1 v UDoubleDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShow1Con v UDoubleDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Eq1 UDoubleDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Ord1 UDoubleDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Show1 UDoubleDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • IsNullaryCon UDoubleDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Invariant UDoubleDefined in invariant-0.6.4 · Data.Functor.Invariant
  • GEq (UDouble p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd (UDouble p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShowCon (UDouble p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
typetype UChar = URec Char
#

Type synonym for URec Char#

Instances11GEq1, GOrd1, GShow1Con, Eq1, Ord1, Show1, …
  • GEq1 v UCharDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd1 v UCharDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShow1Con v UCharDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Eq1 UCharDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Ord1 UCharDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Show1 UCharDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • IsNullaryCon UCharDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Invariant UCharDefined in invariant-0.6.4 · Data.Functor.Invariant
  • GEq (UChar p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd (UChar p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShowCon (UChar p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
typetype UAddr = URec (Ptr ())
#

Type synonym for URec Addr#

Instances9GEq1, GOrd1, Eq1, Ord1, Show1, Invariant, …
  • GEq1 v UAddrDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd1 v UAddrDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Eq1 UAddrDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Ord1 UAddrDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Show1 UAddrDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Invariant UAddrDefined in invariant-0.6.4 · Data.Functor.Invariant
  • Show (UAddr p)Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • GEq (UAddr p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd (UAddr p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
typetype UWord = URec Word
#

Type synonym for URec Word#

Instances11GEq1, GOrd1, GShow1Con, Eq1, Ord1, Show1, …
  • GEq1 v UWordDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd1 v UWordDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShow1Con v UWordDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Eq1 UWordDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Ord1 UWordDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Show1 UWordDefined in base-orphans-0.9.3 · Data.Orphans · orphan
  • IsNullaryCon UWordDefined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Invariant UWordDefined in invariant-0.6.4 · Data.Functor.Invariant
  • GEq (UWord p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd (UWord p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShowCon (UWord p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
datadata U1 (p :: k)
#

Unit: used for constructors without arguments

Instances77GDeciding, Generic1, GNFData, GBinaryGet, GBinaryPut, GHashable, …
  • GDeciding q U1Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Generic1 U1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • GNFData arity U1Defined in deepseq-1.5.0.0 · Control.DeepSeq
  • GBinaryGet U1Defined in binary-0.8.9.3 · Data.Binary.Generic · orphan
  • GBinaryPut U1Defined in binary-0.8.9.3 · Data.Binary.Generic · orphan
  • GHashable arity U1Defined in hashable-1.4.7.0 · Data.Hashable.Generic.Instances · orphan
  • FoldableWithIndex Void U1Defined in indexed-traversable-0.1.4 · WithIndex
  • FunctorWithIndex Void U1Defined in indexed-traversable-0.1.4 · WithIndex
  • TraversableWithIndex Void U1Defined in indexed-traversable-0.1.4 · WithIndex
  • GEq1 v U1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd1 v U1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GRead1Con v U1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShow1Con v U1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GDeciding1 q U1Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Monad U1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Functor U1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Applicative U1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Foldable U1Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Foldable
  • Traversable U1Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Traversable
  • Alternative U1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • MonadPlus U1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • MonadZip U1Defined in base-4.20.2.0 · Control.Monad.Zip
  • Eq1 U1Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Ord1 U1Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Read1 U1Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Show1 U1Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Contravariant U1Defined in base-4.20.2.0 · Data.Functor.Contravariant
  • GUniform U1Defined in random-1.2.1.3 · System.Random.Internal
  • GFinite U1Defined in random-1.2.1.3 · System.Random.GFinite
  • Distributive U1Defined in distributive-0.6.2.1 · Data.Distributive
  • GDistributive U1Defined in distributive-0.6.2.1 · Data.Distributive.Generic
  • IsNullaryCon U1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Decidable U1Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Divisible
  • Divisible U1Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Divisible
  • GG U1Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Alt U1Defined in semigroupoids-6.0.1 · Data.Functor.Alt
  • Apply U1Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class
  • Bind U1Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class
  • Extend U1Defined in semigroupoids-6.0.1 · Data.Functor.Extend
  • Conclude U1Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.Conclude
  • Decide U1Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.Decide
  • Divise U1Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.Divise
  • Plus U1Defined in semigroupoids-6.0.1 · Data.Functor.Plus
  • GDefault U1Defined in data-default-0.8.0.1 · Data.Default.Internal

    A nullary constructor is its own default.

  • GMonoid U1Defined in semigroups-0.20 · Data.Semigroup.Generic
  • GSemigroup U1Defined in semigroups-0.20 · Data.Semigroup.Generic
  • Representable U1Defined in adjunctions-4.4.3 · Data.Functor.Rep
  • Representable U1Defined in adjunctions-4.4.3 · Data.Functor.Contravariant.Rep
  • Invariant U1Defined in invariant-0.6.4 · Data.Functor.Invariant
  • Adjustable U1Defined in keys-3.12.3 · Data.Key
  • FoldableWithKey U1Defined in keys-3.12.3 · Data.Key
  • Indexable U1Defined in keys-3.12.3 · Data.Key
  • Keyed U1Defined in keys-3.12.3 · Data.Key
  • Lookup U1Defined in keys-3.12.3 · Data.Key
  • TraversableWithKey U1Defined in keys-3.12.3 · Data.Key
  • Zip U1Defined in keys-3.12.3 · Data.Key
  • ZipWithKey U1Defined in keys-3.12.3 · Data.Key
  • Pointed U1Defined in pointed-5.0.4 · Data.Pointed
  • Adjunction V1 U1Defined in adjunctions-4.4.3 · Data.Functor.Adjunction
  • Eq (U1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Data p => Data (U1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Data
  • Ord (U1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Read (U1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Show (U1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (U1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Semigroup (U1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Monoid (U1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • GEq (U1 p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd (U1 p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GReadCon (U1 p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShowCon (U1 p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • type Rep (U1 p) = D1 ('MetaData "U1" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "U1" 'PrefixI 'False) U1)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • type Rep1 U1 = D1 ('MetaData "U1" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "U1" 'PrefixI 'False) U1)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • type Swizzle U1 = U1Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • type Rep U1 = VoidDefined in adjunctions-4.4.3 · Data.Functor.Rep
  • type Rep U1 = ()Defined in adjunctions-4.4.3 · Data.Functor.Contravariant.Rep
  • type Key U1 = VoidDefined in keys-3.12.3 · Data.Key
classclass Selector (s :: k) where
#

Class for datatypes that represent records

Methods

Instances1Selector
  • (SingI mn, SingI su, SingI ss, SingI ds) => Selector ('MetaSel mn su ss ds)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
classclass Constructor (c :: k) where
#

Class for datatypes that represent data constructors

Methods

Instances1Constructor
classclass Datatype (d :: k) where
#

Class for datatypes that represent datatypes

Methods

  • datatypeName :: t d f a -> [Char]

    The name of the datatype (unqualified)

  • moduleName :: t d f a -> [Char]

    The fully-qualified name of the module where the type is declared

  • packageName :: t d f a -> [Char]

    The package name of the module where the type is declared

  • isNewtype :: t d f a -> Bool

    Marks if the datatype is actually a newtype

Instances1Datatype
classclass Generic1 (f :: k -> Type) where
#

Representable types of kind * -> * (or kind k -> *, when PolyKinds is enabled). This class is derivable in GHC with the DeriveGeneric flag on.

A Generic1 instance must satisfy the following laws:

from1 . to1 ≡ id
to1 . from1 ≡ id

Associated types

  • type family Rep1 (f :: k -> Type) :: k -> Type

    Generic representation type

Methods

  • from1 :: f a -> Rep1 f a

    Convert from the datatype to its representation

  • to1 :: Rep1 f a -> f a

    Convert from the representation to the datatype

Instances90Generic1, …
  • Generic1 ComplexDefined in base-4.20.2.0 · Data.Complex
  • Generic1 FirstDefined in base-4.20.2.0 · Data.Semigroup
  • Generic1 LastDefined in base-4.20.2.0 · Data.Semigroup
  • Generic1 MaxDefined in base-4.20.2.0 · Data.Semigroup
  • Generic1 MinDefined in base-4.20.2.0 · Data.Semigroup
  • Generic1 WrappedMonoidDefined in base-4.20.2.0 · Data.Semigroup
  • Generic1 SCCDefined in containers-0.7 · Data.Graph
  • Generic1 DigitDefined in containers-0.7 · Data.Sequence.Internal
  • Generic1 ElemDefined in containers-0.7 · Data.Sequence.Internal
  • Generic1 FingerTreeDefined in containers-0.7 · Data.Sequence.Internal
  • Generic1 NodeDefined in containers-0.7 · Data.Sequence.Internal
  • Generic1 ViewLDefined in containers-0.7 · Data.Sequence.Internal
  • Generic1 ViewRDefined in containers-0.7 · Data.Sequence.Internal
  • Generic1 TreeDefined in containers-0.7 · Data.Tree
  • Generic1 NonEmptyDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 IdentityDefined in ghc-internal-9.1003.0 · GHC.Internal.Data.Functor.Identity
  • Generic1 FirstDefined in ghc-internal-9.1003.0 · GHC.Internal.Data.Monoid
  • Generic1 LastDefined in ghc-internal-9.1003.0 · GHC.Internal.Data.Monoid
  • Generic1 DownDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 DualDefined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.Internal
  • Generic1 ProductDefined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.Internal
  • Generic1 SumDefined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.Internal
  • Generic1 ZipListDefined in ghc-internal-9.1003.0 · GHC.Internal.Functor.ZipList
  • Generic1 Par1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 MaybeDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 SoloDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 []Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Functor f => Generic1 (Cofree f)Defined in free-5.2 · Control.Comonad.Cofree
  • Functor f => Generic1 (Free f)Defined in free-5.2 · Control.Monad.Free
  • Functor f => Generic1 (Free f)Defined in free-5.2 · Control.Monad.Free.Ap
  • Functor m => Generic1 (MaybeT m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Maybe
  • Generic1 ProxyDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 U1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 V1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (WrappedMonad m)Defined in base-4.20.2.0 · Control.Applicative
  • Generic1 (Arg a)Defined in base-4.20.2.0 · Data.Semigroup
  • Generic1 (Either a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Tuple2 a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Lift f)Defined in transformers-0.6.1.1 · Control.Applicative.Lift
  • Functor m => Generic1 (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Except
  • Generic1 (WrappedArrow a b)Defined in base-4.20.2.0 · Control.Applicative
  • Generic1 (Biap bi a)Defined in bifunctors-5.6.2 · Data.Bifunctor.Biap
  • Generic1 (CofreeF f a)Defined in free-5.2 · Control.Comonad.Trans.Cofree
  • Generic1 (FreeF f a)Defined in free-5.2 · Control.Monad.Trans.Free
  • Generic1 (FreeF f a)Defined in free-5.2 · Control.Monad.Trans.Free.Ap
  • Generic1 (Kleisli m a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Control.Arrow
  • Generic1 (Const a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Functor.Const
  • Generic1 (Ap f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Monoid
  • Generic1 (Alt f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.Internal
  • Generic1 (Rec1 f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (URec Char)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (URec Double)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (URec Float)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (URec Int)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (URec Word)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (URec (Ptr ()))Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Tuple3 a b)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Tagged s)Defined in tagged-0.8.9 · Data.Tagged
  • Generic1 (Backwards f)Defined in transformers-0.6.1.1 · Control.Applicative.Backwards
  • Generic1 (IdentityT f)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Identity
  • Generic1 (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Reader
  • Generic1 (Constant a)Defined in transformers-0.6.1.1 · Data.Functor.Constant
  • Generic1 (Reverse f)Defined in transformers-0.6.1.1 · Data.Functor.Reverse
  • Generic1 (Product f g)Defined in base-4.20.2.0 · Data.Functor.Product
  • Generic1 (Sum f g)Defined in base-4.20.2.0 · Data.Functor.Sum
  • Generic1 (K1 i c)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Tuple4 a b c)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (f :*: g)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (f :+: g)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Functor f => Generic1 (Compose f g)Defined in base-4.20.2.0 · Data.Functor.Compose
  • Functor f => Generic1 (f :.: g)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Clown f a)Defined in bifunctors-5.6.2 · Data.Bifunctor.Clown
  • Generic1 (Joker g a)Defined in bifunctors-5.6.2 · Data.Bifunctor.Joker
  • Generic1 (WrappedBifunctor p a)Defined in bifunctors-5.6.2 · Data.Bifunctor.Wrapped
  • Generic1 (M1 i c f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Tuple5 a b c d)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Product f g a)Defined in bifunctors-5.6.2 · Data.Bifunctor.Product
  • Generic1 (Sum p q a)Defined in bifunctors-5.6.2 · Data.Bifunctor.Sum
  • Generic1 (Tuple6 a b c d e)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Functor f => Generic1 (Tannen f p a)Defined in bifunctors-5.6.2 · Data.Bifunctor.Tannen
  • Generic1 (Tuple7 a b c d e f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Tuple8 a b c d e f g)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Functor (p (f a)) => Generic1 (Biff p f g a)Defined in bifunctors-5.6.2 · Data.Bifunctor.Biff
  • Generic1 (Tuple9 a b c d e f g h)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Tuple10 a b c d e f g h i)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Tuple11 a b c d e f g h i j)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Tuple12 a b c d e f g h i j k)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Tuple13 a b c d e f g h i j k l)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Tuple14 a b c d e f g h i j k l m)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic1 (Tuple15 a b c d e f g h i j k l m n)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
datadata DecidedStrictness
#

The strictness that GHC infers for a field during compilation. Whereas there are nine different combinations of SourceUnpackedness and SourceStrictness, the strictness that GHC decides will ultimately be one of lazy, strict, or unpacked. What GHC decides is affected both by what the user writes in the source code and by GHC flags. As an example, consider this data type:

data E = ExampleConstructor {-# UNPACK #-} !Int !Int Int
Instances16Bounded, Enum, Eq, Data, Ord, Read, …
datadata SourceStrictness
#

The strictness of a field as the user wrote it in the source code. For example, in the following data type:

data E = ExampleConstructor Int ~Int !Int

The fields of ExampleConstructor have NoSourceStrictness, SourceLazy, and SourceStrict, respectively.

Instances16Bounded, Enum, Eq, Data, Ord, Read, …
datadata SourceUnpackedness
#

The unpackedness of a field as the user wrote it in the source code. For example, in the following data type:

data E = ExampleConstructor     Int
           {-# NOUNPACK #-} Int
           {-#   UNPACK #-} Int

The fields of ExampleConstructor have NoSourceUnpackedness, SourceNoUnpack, and SourceUnpack, respectively.

Instances16Bounded, Enum, Eq, Data, Ord, Read, …
datadata Associativity
#

Datatype to represent the associativity of a constructor

Instances16Bounded, Enum, Eq, Data, Ord, Read, …
datadata FixityI
#

This variant of Fixity appears at the type level.

Instances5SingKind, SingI, DemoteRep, Sing
  • SingKind FixityIDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • SingI 'PrefixIDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • (SingI a, KnownNat n) => SingI ('InfixI a n)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • type DemoteRep FixityI = FixityDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • data SingDefined in ghc-internal-9.1003.0 · GHC.Internal.Generics
familytype family Rep1 (f :: k -> Type) :: k -> Type
#

Generic representation type

Instances90Rep1, …
typetype S1 = M1 S
#

Type synonym for encoding meta-information for record selectors

Instances5GRead1Con, GShow1Con, IsNullaryCon, GReadCon, GShowCon
  • (Selector s, GRead1Con v f) => GRead1Con v (S1 s f)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • (Selector s, GShow1Con v f) => GShow1Con v (S1 s f)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • IsNullaryCon f => IsNullaryCon (S1 s f)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • (Selector s, GReadCon (f p)) => GReadCon (S1 s f p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • (Selector s, GShowCon (f p)) => GShowCon (S1 s f p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
typetype C1 = M1 C
#

Type synonym for encoding meta-information for constructors

Instances10GSum, GRead1, GShow1, GSumGet, GSumPut, SumSize, …
  • GHashable arity a => GSum arity (C1 c a)Defined in hashable-1.4.7.0 · Data.Hashable.Generic.Instances
  • (Constructor c, GRead1Con v f, IsNullaryCon f) => GRead1 v (C1 c f)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • (Constructor c, GShow1Con v f, IsNullaryCon f) => GShow1 v (C1 c f)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GBinaryGet a => GSumGet (C1 c a)Defined in binary-0.8.9.3 · Data.Binary.Generic
  • SumSize (C1 c a)Defined in binary-0.8.9.3 · Data.Binary.Generic
  • GBinaryPut a => GSumPut (C1 c a)Defined in binary-0.8.9.3 · Data.Binary.Generic
  • SumSize (C1 c a)Defined in hashable-1.4.7.0 · Data.Hashable.Generic.Instances
  • IsNullaryDataType (C1 c f)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • (Constructor c, GReadCon (f p), IsNullaryCon f) => GRead (C1 c f p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • (Constructor c, GShowCon (f p), IsNullaryCon f) => GShow (C1 c f p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
typetype D1 = M1 D
#

Type synonym for encoding meta-information for datatypes

Instances4GRead1, GShow1, GRead, GShow
  • (GRead1 v f, IsNullaryDataType f) => GRead1 v (D1 d f)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShow1 v f => GShow1 v (D1 d f)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • (GRead (f p), IsNullaryDataType f) => GRead (D1 d f p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShow (f p) => GShow (D1 d f p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
typetype Rec0 = K1 R
#

Type synonym for encoding recursion (of kind Type)

datadata S
#

Tag for M1: record selector

datadata D
#

Tag for M1: datatype

datadata R
#

Tag for K1: recursion (of kind Type)

newtypenewtype (:.:) (f :: k2 -> Type) (g :: k1 -> k2) (p :: k1)
#

Composition of functors

Constructors

Instances66Generic1, GNFData, GHashable, GEq1, GOrd1, GRead1Con, …
newtypenewtype M1 i (c :: Meta) (f :: k -> Type) (p :: k)
#

Meta-information (constructor names, etc.)

Constructors

Instances75GDeciding, Generic1, GNFData, GBinaryGet, GBinaryPut, GHashable, …
  • GDeciding q f => GDeciding q (M1 i c f)Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Generic1 (M1 i c f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • GNFData arity a => GNFData arity (M1 i c a)Defined in deepseq-1.5.0.0 · Control.DeepSeq
  • GBinaryGet a => GBinaryGet (M1 i c a)Defined in binary-0.8.9.3 · Data.Binary.Generic · orphan
  • GBinaryPut a => GBinaryPut (M1 i c a)Defined in binary-0.8.9.3 · Data.Binary.Generic · orphan
  • GHashable arity a => GHashable arity (M1 i c a)Defined in hashable-1.4.7.0 · Data.Hashable.Generic.Instances · orphan
  • GEq1 v f => GEq1 v (M1 i c f)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd1 v f => GOrd1 v (M1 i c f)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GDeciding1 q f => GDeciding1 q (M1 i c f)Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Monad f => Monad (M1 i c f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Functor f => Functor (M1 i c f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • MonadFix f => MonadFix (M1 i c f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Control.Monad.Fix
  • Applicative f => Applicative (M1 i c f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Foldable f => Foldable (M1 i c f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Foldable
  • Traversable f => Traversable (M1 i c f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Traversable
  • Alternative f => Alternative (M1 i c f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • MonadPlus f => MonadPlus (M1 i c f)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • MonadZip f => MonadZip (M1 i c f)Defined in base-4.20.2.0 · Control.Monad.Zip
  • Foldable1 f => Foldable1 (M1 i c f)Defined in base-4.20.2.0 · Data.Foldable1
  • Eq1 f => Eq1 (M1 i c f)Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Ord1 f => Ord1 (M1 i c f)Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Read1 f => Read1 (M1 i c f)Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Show1 f => Show1 (M1 i c f)Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Contravariant f => Contravariant (M1 i c f)Defined in base-4.20.2.0 · Data.Functor.Contravariant
  • GUniform f => GUniform (M1 i c f)Defined in random-1.2.1.3 · System.Random.Internal
  • GFinite a => GFinite (M1 _x _y a)Defined in random-1.2.1.3 · System.Random.GFinite
  • Distributive f => Distributive (M1 i c f)Defined in distributive-0.6.2.1 · Data.Distributive
  • GDistributive f => GDistributive (M1 i c f)Defined in distributive-0.6.2.1 · Data.Distributive.Generic
  • Decidable f => Decidable (M1 i c f)Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Divisible
  • Divisible f => Divisible (M1 i c f)Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Divisible
  • GG f => GG (M1 i c f)Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Alt f => Alt (M1 i c f)Defined in semigroupoids-6.0.1 · Data.Functor.Alt
  • Apply f => Apply (M1 i t f)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class
  • Bind f => Bind (M1 i c f)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class
  • Extend f => Extend (M1 i t f)Defined in semigroupoids-6.0.1 · Data.Functor.Extend
  • Conclude f => Conclude (M1 i c f)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.Conclude
  • Decide f => Decide (M1 i c f)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.Decide
  • Divise f => Divise (M1 i c f)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.Divise
  • Plus f => Plus (M1 i c f)Defined in semigroupoids-6.0.1 · Data.Functor.Plus
  • Traversable1 f => Traversable1 (M1 i c f)Defined in semigroupoids-6.0.1 · Data.Semigroup.Traversable.Class
  • GDefault a => GDefault (M1 i c a)Defined in data-default-0.8.0.1 · Data.Default.Internal

    Default of wrapper = wrapper of default.

  • GMonoid f => GMonoid (M1 i c f)Defined in semigroups-0.20 · Data.Semigroup.Generic
  • GSemigroup f => GSemigroup (M1 i c f)Defined in semigroups-0.20 · Data.Semigroup.Generic
  • Representable f => Representable (M1 i c f)Defined in adjunctions-4.4.3 · Data.Functor.Rep
  • GIndex f => GIndex (M1 i c f)Defined in adjunctions-4.4.3 · Data.Functor.Rep
  • GTabulate f => GTabulate (M1 i c f)Defined in adjunctions-4.4.3 · Data.Functor.Rep
  • Invariant f => Invariant (M1 i t f)Defined in invariant-0.6.4 · Data.Functor.Invariant
  • Adjustable f => Adjustable (M1 i c f)Defined in keys-3.12.3 · Data.Key
  • FoldableWithKey f => FoldableWithKey (M1 i c f)Defined in keys-3.12.3 · Data.Key
  • FoldableWithKey1 f => FoldableWithKey1 (M1 i c f)Defined in keys-3.12.3 · Data.Key
  • Indexable f => Indexable (M1 i c f)Defined in keys-3.12.3 · Data.Key
  • Keyed f => Keyed (M1 i c f)Defined in keys-3.12.3 · Data.Key
  • Lookup f => Lookup (M1 i c f)Defined in keys-3.12.3 · Data.Key
  • TraversableWithKey f => TraversableWithKey (M1 i c f)Defined in keys-3.12.3 · Data.Key
  • TraversableWithKey1 f => TraversableWithKey1 (M1 i c f)Defined in keys-3.12.3 · Data.Key
  • Zip f => Zip (M1 i c f)Defined in keys-3.12.3 · Data.Key
  • ZipWithKey f => ZipWithKey (M1 i c f)Defined in keys-3.12.3 · Data.Key
  • Copointed f => Copointed (M1 i c f)Defined in pointed-5.0.4 · Data.Copointed
  • Pointed f => Pointed (M1 i c f)Defined in pointed-5.0.4 · Data.Pointed
  • Eq (f p) => Eq (M1 i c f p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • (Data p, Data (f p), Typeable c, Typeable i, Typeable f) => Data (M1 i c f p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Data
  • Ord (f p) => Ord (M1 i c f p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Read (f p) => Read (M1 i c f p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Show (f p) => Show (M1 i c f p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (M1 i c f p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Semigroup (f p) => Semigroup (M1 i c f p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Monoid (f p) => Monoid (M1 i c f p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • GEq (f p) => GEq (M1 i c f p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd (f p) => GOrd (M1 i c f p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • type Rep (M1 i c f p) = D1 ('MetaData "M1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "M1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unM1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f p))))Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • type Rep1 (M1 i c f) = D1 ('MetaData "M1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "M1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unM1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • type Swizzle (M1 i c f) = M1 i c (Swizzle f)Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • type Rep (M1 i c f) = Rep fDefined in adjunctions-4.4.3 · Data.Functor.Rep
  • type GRep' (M1 i c f) = GRep' fDefined in adjunctions-4.4.3 · Data.Functor.Rep
  • type Key (M1 i c f) = Key fDefined in keys-3.12.3 · Data.Key
newtypenewtype K1 i c (p :: k)
#

Constants, additional parameters and recursion of kind *

Constructors

Instances61GDeciding, Generic1, GNFData, GBinaryGet, GBinaryPut, GHashable, …
  • q p => GDeciding q (K1 i p)Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Generic1 (K1 i c)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • NFData a => GNFData arity (K1 i a)Defined in deepseq-1.5.0.0 · Control.DeepSeq
  • Binary a => GBinaryGet (K1 i a)Defined in binary-0.8.9.3 · Data.Binary.Generic · orphan
  • Binary a => GBinaryPut (K1 i a)Defined in binary-0.8.9.3 · Data.Binary.Generic · orphan
  • Hashable a => GHashable arity (K1 i a)Defined in hashable-1.4.7.0 · Data.Hashable.Generic.Instances · orphan
  • FoldableWithIndex Void (K1 i c)Defined in indexed-traversable-0.1.4 · WithIndex
  • FunctorWithIndex Void (K1 i c)Defined in indexed-traversable-0.1.4 · WithIndex
  • TraversableWithIndex Void (K1 i c)Defined in indexed-traversable-0.1.4 · WithIndex
  • Eq c => GEq1 v (K1 i c)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Ord c => GOrd1 v (K1 i c)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Read c => GRead1Con v (K1 i c)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Show c => GShow1Con v (K1 i c)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • q p => GDeciding1 q (K1 i p)Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Bifoldable (K1 i)Defined in base-4.20.2.0 · Data.Bifoldable
  • Bifunctor (K1 i)Defined in base-4.20.2.0 · Data.Bifunctor
  • Bitraversable (K1 i)Defined in base-4.20.2.0 · Data.Bitraversable
  • Invariant2 (K1 i)Defined in invariant-0.6.4 · Data.Functor.Invariant
  • Functor (K1 i c)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Monoid c => Applicative (K1 i c)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Foldable (K1 i c)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Foldable
  • Traversable (K1 i c)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Traversable
  • Eq c => Eq1 (K1 i c)Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Ord c => Ord1 (K1 i c)Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Read c => Read1 (K1 i c)Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Show c => Show1 (K1 i c)Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Contravariant (K1 i c)Defined in base-4.20.2.0 · Data.Functor.Contravariant
  • Uniform a => GUniform (K1 i a)Defined in random-1.2.1.3 · System.Random.Internal
  • Finite a => GFinite (K1 _x a)Defined in random-1.2.1.3 · System.Random.GFinite
  • IsNullaryCon (K1 i c)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GG (K1 i c)Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Semigroup c => Alt (K1 i c)Defined in semigroupoids-6.0.1 · Data.Functor.Alt
    since 5.3.8
  • Semigroup c => Apply (K1 i c)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class

    A K1 i c is not Applicative unless its c is a Monoid, but it is an instance of Apply

  • Extend (K1 i c)Defined in semigroupoids-6.0.1 · Data.Functor.Extend
  • Monoid c => Plus (K1 i c)Defined in semigroupoids-6.0.1 · Data.Functor.Plus
  • Default a => GDefault (K1 i a)Defined in data-default-0.8.0.1 · Data.Default.Internal

    A unary constructor wraps the default value of the argument type.

  • (Semigroup a, Monoid a) => GMonoid (K1 i a)Defined in semigroups-0.20 · Data.Semigroup.Generic
  • Semigroup a => GSemigroup (K1 i a)Defined in semigroups-0.20 · Data.Semigroup.Generic
  • Invariant (K1 i c)Defined in invariant-0.6.4 · Data.Functor.Invariant
  • Adjustable (K1 i c)Defined in keys-3.12.3 · Data.Key
  • FoldableWithKey (K1 i c)Defined in keys-3.12.3 · Data.Key
  • Indexable (K1 i c)Defined in keys-3.12.3 · Data.Key
  • Keyed (K1 i c)Defined in keys-3.12.3 · Data.Key
  • Lookup (K1 i c)Defined in keys-3.12.3 · Data.Key
  • TraversableWithKey (K1 i c)Defined in keys-3.12.3 · Data.Key
  • Eq c => Eq (K1 i c p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • (Typeable i, Data p, Data c) => Data (K1 i c p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Data
  • Ord c => Ord (K1 i c p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Read c => Read (K1 i c p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Show c => Show (K1 i c p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (K1 i c p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Semigroup c => Semigroup (K1 i c p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Monoid c => Monoid (K1 i c p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Eq c => GEq (K1 i c p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Ord c => GOrd (K1 i c p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Read c => GReadCon (K1 i c p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Show c => GShowCon (K1 i c p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • type Rep (K1 i c p) = D1 ('MetaData "K1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "K1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unK1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c)))Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • type Rep1 (K1 i c) = D1 ('MetaData "K1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "K1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unK1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c)))Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • type Swizzle (K1 i c) = K1 i cDefined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • type Key (K1 i c) = VoidDefined in keys-3.12.3 · Data.Key
newtypenewtype Rec1 (f :: k -> Type) (p :: k)
#

Recursive calls of kind * -> * (or kind k -> *, when PolyKinds is enabled)

Constructors

Instances76Generic1, GNFData, GHashable, FoldableWithIndex, FunctorWithIndex, TraversableWithIndex, …
newtypenewtype Par1 p
#

Used for marking occurrences of the parameter

Constructors

Instances66Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
  • Monad Par1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Functor Par1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • MonadFix Par1Defined in ghc-internal-9.1003.0 · GHC.Internal.Control.Monad.Fix
  • Applicative Par1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Foldable Par1Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Foldable
  • Traversable Par1Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Traversable
  • MonadZip Par1Defined in base-4.20.2.0 · Control.Monad.Zip
  • Foldable1 Par1Defined in base-4.20.2.0 · Data.Foldable1
  • Eq1 Par1Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Ord1 Par1Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Read1 Par1Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Show1 Par1Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Distributive Par1Defined in distributive-0.6.2.1 · Data.Distributive
  • GDistributive Par1Defined in distributive-0.6.2.1 · Data.Distributive.Generic
  • IsNullaryCon Par1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GG Par1Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Apply Par1Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class
  • Bind Par1Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class
  • Extend Par1Defined in semigroupoids-6.0.1 · Data.Functor.Extend
  • Traversable1 Par1Defined in semigroupoids-6.0.1 · Data.Semigroup.Traversable.Class
  • Representable Par1Defined in adjunctions-4.4.3 · Data.Functor.Rep
  • GIndex Par1Defined in adjunctions-4.4.3 · Data.Functor.Rep
  • GTabulate Par1Defined in adjunctions-4.4.3 · Data.Functor.Rep
  • Invariant Par1Defined in invariant-0.6.4 · Data.Functor.Invariant
  • Adjustable Par1Defined in keys-3.12.3 · Data.Key
  • FoldableWithKey Par1Defined in keys-3.12.3 · Data.Key
  • FoldableWithKey1 Par1Defined in keys-3.12.3 · Data.Key
  • Indexable Par1Defined in keys-3.12.3 · Data.Key
  • Keyed Par1Defined in keys-3.12.3 · Data.Key
  • Lookup Par1Defined in keys-3.12.3 · Data.Key
  • TraversableWithKey Par1Defined in keys-3.12.3 · Data.Key
  • TraversableWithKey1 Par1Defined in keys-3.12.3 · Data.Key
  • Zip Par1Defined in keys-3.12.3 · Data.Key
  • ZipWithKey Par1Defined in keys-3.12.3 · Data.Key
  • Copointed Par1Defined in pointed-5.0.4 · Data.Copointed
  • Pointed Par1Defined in pointed-5.0.4 · Data.Pointed
  • Generic1 Par1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • GNFData One Par1Defined in deepseq-1.5.0.0 · Control.DeepSeq
  • GHashable One Par1Defined in hashable-1.4.7.0 · Data.Hashable.Generic.Instances · orphan
  • FoldableWithIndex () Par1Defined in indexed-traversable-0.1.4 · WithIndex
  • FunctorWithIndex () Par1Defined in indexed-traversable-0.1.4 · WithIndex
  • TraversableWithIndex () Par1Defined in indexed-traversable-0.1.4 · WithIndex
  • GEq1 NonV4 Par1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd1 NonV4 Par1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GRead1Con NonV4 Par1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShow1Con NonV4 Par1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GDeciding1 q Par1Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Adjunction Par1 Par1Defined in adjunctions-4.4.3 · Data.Functor.Adjunction
  • Eq p => Eq (Par1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Data p => Data (Par1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Data
  • Ord p => Ord (Par1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Read p => Read (Par1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Show p => Show (Par1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (Par1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Semigroup p => Semigroup (Par1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Monoid p => Monoid (Par1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Eq p => GEq (Par1 p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Ord p => GOrd (Par1 p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Read p => GReadCon (Par1 p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • Show p => GShowCon (Par1 p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • type Rep (Par1 p) = D1 ('MetaData "Par1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "Par1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPar1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 p)))Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • type Rep1 Par1 = D1 ('MetaData "Par1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "Par1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPar1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • type Swizzle Par1 = Par1Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • type Rep Par1 = ()Defined in adjunctions-4.4.3 · Data.Functor.Rep
  • type GRep' Par1 = ()Defined in adjunctions-4.4.3 · Data.Functor.Rep
  • type Key Par1 = ()Defined in keys-3.12.3 · Data.Key
datadata V1 (p :: k)
#

Void: used for datatypes without constructors

Instances58GDeciding, Generic1, GNFData, GBinaryGet, GBinaryPut, GHashable, …
  • GDeciding q V1Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Generic1 V1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • GNFData arity V1Defined in deepseq-1.5.0.0 · Control.DeepSeq
  • GBinaryGet V1Defined in binary-0.8.9.3 · Data.Binary.Generic · orphan
  • GBinaryPut V1Defined in binary-0.8.9.3 · Data.Binary.Generic · orphan
  • GHashable arity V1Defined in hashable-1.4.7.0 · Data.Hashable.Generic.Instances · orphan
  • FoldableWithIndex Void V1Defined in indexed-traversable-0.1.4 · WithIndex
  • FunctorWithIndex Void V1Defined in indexed-traversable-0.1.4 · WithIndex
  • TraversableWithIndex Void V1Defined in indexed-traversable-0.1.4 · WithIndex
  • GEq1 v V1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd1 v V1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GRead1 v V1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShow1 v V1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GDeciding1 q V1Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Functor V1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Foldable V1Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Foldable
  • Traversable V1Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Traversable
  • Foldable1 V1Defined in base-4.20.2.0 · Data.Foldable1
  • Eq1 V1Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Ord1 V1Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Read1 V1Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Show1 V1Defined in base-orphans-0.9.3 · Data.Orphans · orphan
  • Contravariant V1Defined in base-4.20.2.0 · Data.Functor.Contravariant
  • GFinite V1Defined in random-1.2.1.3 · System.Random.GFinite
  • IsNullaryDataType V1Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GG V1Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • Alt V1Defined in semigroupoids-6.0.1 · Data.Functor.Alt
  • Apply V1Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class

    A V1 is not Applicative, but it is an instance of Apply

  • Bind V1Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class

    A V1 is not a Monad, but it is an instance of Bind

  • Extend V1Defined in semigroupoids-6.0.1 · Data.Functor.Extend
  • Decide V1Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.Decide

    Has no Decidable or Conclude instance.

  • Divise V1Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.Divise

    Has no Divisible instance.

  • Traversable1 V1Defined in semigroupoids-6.0.1 · Data.Semigroup.Traversable.Class
  • GSemigroup V1Defined in semigroups-0.20 · Data.Semigroup.Generic
  • Invariant V1Defined in invariant-0.6.4 · Data.Functor.Invariant
  • FoldableWithKey V1Defined in keys-3.12.3 · Data.Key
  • FoldableWithKey1 V1Defined in keys-3.12.3 · Data.Key
  • Keyed V1Defined in keys-3.12.3 · Data.Key
  • TraversableWithKey V1Defined in keys-3.12.3 · Data.Key
  • TraversableWithKey1 V1Defined in keys-3.12.3 · Data.Key
  • Zip V1Defined in keys-3.12.3 · Data.Key
  • ZipWithKey V1Defined in keys-3.12.3 · Data.Key
  • Adjunction V1 U1Defined in adjunctions-4.4.3 · Data.Functor.Adjunction
  • Eq (V1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Data p => Data (V1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Data
  • Ord (V1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Read (V1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Show (V1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Generic (V1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • Semigroup (V1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • GEq (V1 p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GOrd (V1 p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GRead (V1 p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • GShow (V1 p)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • type Rep (V1 p) = D1 ('MetaData "V1" "GHC.Internal.Generics" "ghc-internal" 'False) V1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • type Rep1 V1 = D1 ('MetaData "V1" "GHC.Internal.Generics" "ghc-internal" 'False) V1Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics
  • type Swizzle V1 = V1Defined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
  • type Key V1 = VoidDefined in keys-3.12.3 · Data.Key
newtypenewtype Generically1 (f :: k -> Type) (a :: k) where
#

A type whose instances are defined generically, using the Generic1 representation. Generically1 is a higher-kinded version of Generically that uses Generic.

Generic instances can be derived for type constructors via Generically1 F using -XDerivingVia.

{-# LANGUAGE DeriveGeneric      #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DerivingVia        #-}

import GHC.Generics (Generic)

data V4 a = V4 a a a a
  deriving stock (Functor, Generic1)

  deriving Applicative
  via Generically1 V4

This corresponds to Applicative instances defined by pointwise lifting:

instance Applicative V4 where
  pure :: a -> V4 a
  pure a = V4 a a a a

  liftA2 :: (a -> b -> c) -> (V4 a -> V4 b -> V4 c)
  liftA2 (·) (V4 a1 b1 c1 d1) (V4 a2 b2 c2 d2) =
    V4 (a1 · a2) (b1 · b2) (c1 · c2) (d1 · d2)

Historically this required modifying the type class to include generic method definitions (-XDefaultSignatures) and deriving it with the anyclass strategy (-XDeriveAnyClass). Having a /via type/ like Generically1 decouples the instance from the type class.

Constructors

Instances7Functor, Applicative, Alternative, Eq1, Ord1, Eq, …
newtypenewtype Generically a
#

A datatype whose instances are defined generically, using the Generic representation. Generically1 is a higher-kinded version of Generically that uses Generic1.

Generic instances can be derived via Generically A using -XDerivingVia.

{-# LANGUAGE DeriveGeneric      #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DerivingVia        #-}

import GHC.Generics (Generic)

data V4 a = V4 a a a a
  deriving stock Generic

  deriving (Semigroup, Monoid)
  via Generically (V4 a)

This corresponds to Semigroup and Monoid instances defined by pointwise lifting:

instance Semigroup a => Semigroup (V4 a) where
  (<>) :: V4 a -> V4 a -> V4 a
  V4 a1 b1 c1 d1 <> V4 a2 b2 c2 d2 =
    V4 (a1 <> a2) (b1 <> b2) (c1 <> c2) (d1 <> d2)

instance Monoid a => Monoid (V4 a) where
  mempty :: V4 a
  mempty = V4 mempty mempty mempty mempty

Historically this required modifying the type class to include generic method definitions (-XDefaultSignatures) and deriving it with the anyclass strategy (-XDeriveAnyClass). Having a /via type/ like Generically decouples the instance from the type class.

Constructors

Instances2Semigroup, Monoid