linear-generics-0.1.0.1: Generic programming library for generalised deriving.
Safe HaskellSafe
LanguageHaskell2010

Generics.Linear

Description

Multiplicity polymorphic versions of GHC.Generics.Generic and GHC.Generics.Generic1. Generic is otherwise identical to the standard version. Generic1 is similar, but with modifications that make it more efficient, as well as supporting linearity.

This module re-exports everything in GHC.Generics except Generic, Generic1, Rec1, and :.:. The Generic1 representations here don't need Rec1. We expose our own, identical, :.:. This allows users to instantiate their Generic1-based generic-deriving classes so they can be used with both GHC.Generics and this package.

In addition to the usual generic types, we export one called MP1 for use with nonlinear and multiplicity polymorphic fields. Nonlinear generic-deriving classes should almost always handle MP1 without restriction. Some linear generic-deriving classes will need to constrain its m parameter to be 'One.

Synopsis

Documentation

class Generic a where Source #

Generic is exactly the same as GHC.Generics.Generic except that to and from are multiplicity polymorphic. This means they will work equally well in traditional Haskell code and in linearly typed code.

Associated Types

type Rep a :: Type -> Type Source #

Methods

to :: forall p m. Rep a p -> a Source #

from :: forall p m. a -> Rep a p Source #

Instances

Instances details
Generic Bool Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep Bool :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Bool p -> Bool Source #

from :: forall p (m :: Multiplicity). Bool -> Rep Bool p Source #

Generic Char Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep Char :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Char p -> Char Source #

from :: forall p (m :: Multiplicity). Char -> Rep Char p Source #

Generic Double Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep Double :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Double p -> Double Source #

from :: forall p (m :: Multiplicity). Double -> Rep Double p Source #

Generic Float Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep Float :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Float p -> Float Source #

from :: forall p (m :: Multiplicity). Float -> Rep Float p Source #

Generic Int Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep Int :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Int p -> Int Source #

from :: forall p (m :: Multiplicity). Int -> Rep Int p Source #

Generic Ordering Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep Ordering :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Ordering p -> Ordering Source #

from :: forall p (m :: Multiplicity). Ordering -> Rep Ordering p Source #

Generic Word Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep Word :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Word p -> Word Source #

from :: forall p (m :: Multiplicity). Word -> Rep Word p Source #

Generic Exp Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Exp :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Exp p -> Exp Source #

from :: forall p (m :: Multiplicity). Exp -> Rep Exp p Source #

Generic Match Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Match :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Match p -> Match Source #

from :: forall p (m :: Multiplicity). Match -> Rep Match p Source #

Generic Clause Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Clause :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Clause p -> Clause Source #

from :: forall p (m :: Multiplicity). Clause -> Rep Clause p Source #

Generic Pat Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Pat :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Pat p -> Pat Source #

from :: forall p (m :: Multiplicity). Pat -> Rep Pat p Source #

Generic Stmt Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Stmt :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Stmt p -> Stmt Source #

from :: forall p (m :: Multiplicity). Stmt -> Rep Stmt p Source #

Generic Con Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Con :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Con p -> Con Source #

from :: forall p (m :: Multiplicity). Con -> Rep Con p Source #

Generic Type Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Type :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Type p -> Type Source #

from :: forall p (m :: Multiplicity). Type -> Rep Type p Source #

Generic Dec Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Dec :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Dec p -> Dec Source #

from :: forall p (m :: Multiplicity). Dec -> Rep Dec p Source #

Generic Name Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Name :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Name p -> Name Source #

from :: forall p (m :: Multiplicity). Name -> Rep Name p Source #

Generic FunDep Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep FunDep :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep FunDep p -> FunDep Source #

from :: forall p (m :: Multiplicity). FunDep -> Rep FunDep p Source #

Generic RuleBndr Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep RuleBndr :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep RuleBndr p -> RuleBndr Source #

from :: forall p (m :: Multiplicity). RuleBndr -> Rep RuleBndr p Source #

Generic TySynEqn Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep TySynEqn :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep TySynEqn p -> TySynEqn Source #

from :: forall p (m :: Multiplicity). TySynEqn -> Rep TySynEqn p Source #

Generic InjectivityAnn Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep InjectivityAnn :: Type -> Type Source #

Generic () Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep () :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep () p -> () Source #

from :: forall p (m :: Multiplicity). () -> Rep () p Source #

Generic ExitCode Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep ExitCode :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep ExitCode p -> ExitCode Source #

from :: forall p (m :: Multiplicity). ExitCode -> Rep ExitCode p Source #

Generic All Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep All :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep All p -> All Source #

from :: forall p (m :: Multiplicity). All -> Rep All p Source #

Generic Any Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep Any :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Any p -> Any Source #

from :: forall p (m :: Multiplicity). Any -> Rep Any p Source #

Generic Fixity Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep Fixity :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Fixity p -> Fixity Source #

from :: forall p (m :: Multiplicity). Fixity -> Rep Fixity p Source #

Generic Associativity Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep Associativity :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Associativity p -> Associativity Source #

from :: forall p (m :: Multiplicity). Associativity -> Rep Associativity p Source #

Generic SourceUnpackedness Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep SourceUnpackedness :: Type -> Type Source #

Generic SourceStrictness Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep SourceStrictness :: Type -> Type Source #

Generic DecidedStrictness Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep DecidedStrictness :: Type -> Type Source #

Generic Version Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep Version :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Version p -> Version Source #

from :: forall p (m :: Multiplicity). Version -> Rep Version p Source #

Generic Extension Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Extension :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Extension p -> Extension Source #

from :: forall p (m :: Multiplicity). Extension -> Rep Extension p Source #

Generic ForeignSrcLang Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep ForeignSrcLang :: Type -> Type Source #

Generic PkgName Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep PkgName :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep PkgName p -> PkgName Source #

from :: forall p (m :: Multiplicity). PkgName -> Rep PkgName p Source #

Generic Module Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Module :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Module p -> Module Source #

from :: forall p (m :: Multiplicity). Module -> Rep Module p Source #

Generic OccName Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep OccName :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep OccName p -> OccName Source #

from :: forall p (m :: Multiplicity). OccName -> Rep OccName p Source #

Generic NameFlavour Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep NameFlavour :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep NameFlavour p -> NameFlavour Source #

from :: forall p (m :: Multiplicity). NameFlavour -> Rep NameFlavour p Source #

Generic NameSpace Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep NameSpace :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep NameSpace p -> NameSpace Source #

from :: forall p (m :: Multiplicity). NameSpace -> Rep NameSpace p Source #

Generic Loc Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Loc :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Loc p -> Loc Source #

from :: forall p (m :: Multiplicity). Loc -> Rep Loc p Source #

Generic Info Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Info :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Info p -> Info Source #

from :: forall p (m :: Multiplicity). Info -> Rep Info p Source #

Generic ModuleInfo Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep ModuleInfo :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep ModuleInfo p -> ModuleInfo Source #

from :: forall p (m :: Multiplicity). ModuleInfo -> Rep ModuleInfo p Source #

Generic Fixity Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Fixity :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Fixity p -> Fixity Source #

from :: forall p (m :: Multiplicity). Fixity -> Rep Fixity p Source #

Generic FixityDirection Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep FixityDirection :: Type -> Type Source #

Generic Lit Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Lit :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Lit p -> Lit Source #

from :: forall p (m :: Multiplicity). Lit -> Rep Lit p Source #

Generic Body Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Body :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Body p -> Body Source #

from :: forall p (m :: Multiplicity). Body -> Rep Body p Source #

Generic Guard Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Guard :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Guard p -> Guard Source #

from :: forall p (m :: Multiplicity). Guard -> Rep Guard p Source #

Generic Range Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Range :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Range p -> Range Source #

from :: forall p (m :: Multiplicity). Range -> Rep Range p Source #

Generic TypeFamilyHead Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep TypeFamilyHead :: Type -> Type Source #

Generic Foreign Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Foreign :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Foreign p -> Foreign Source #

from :: forall p (m :: Multiplicity). Foreign -> Rep Foreign p Source #

Generic Callconv Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Callconv :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Callconv p -> Callconv Source #

from :: forall p (m :: Multiplicity). Callconv -> Rep Callconv p Source #

Generic Safety Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Safety :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Safety p -> Safety Source #

from :: forall p (m :: Multiplicity). Safety -> Rep Safety p Source #

Generic Pragma Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Pragma :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Pragma p -> Pragma Source #

from :: forall p (m :: Multiplicity). Pragma -> Rep Pragma p Source #

Generic Inline Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Inline :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Inline p -> Inline Source #

from :: forall p (m :: Multiplicity). Inline -> Rep Inline p Source #

Generic RuleMatch Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep RuleMatch :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep RuleMatch p -> RuleMatch Source #

from :: forall p (m :: Multiplicity). RuleMatch -> Rep RuleMatch p Source #

Generic Phases Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Phases :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Phases p -> Phases Source #

from :: forall p (m :: Multiplicity). Phases -> Rep Phases p Source #

Generic AnnTarget Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep AnnTarget :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep AnnTarget p -> AnnTarget Source #

from :: forall p (m :: Multiplicity). AnnTarget -> Rep AnnTarget p Source #

Generic SourceUnpackedness Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep SourceUnpackedness :: Type -> Type Source #

Generic SourceStrictness Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep SourceStrictness :: Type -> Type Source #

Generic DecidedStrictness Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep DecidedStrictness :: Type -> Type Source #

Generic Bang Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Bang :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Bang p -> Bang Source #

from :: forall p (m :: Multiplicity). Bang -> Rep Bang p Source #

Generic PatSynDir Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep PatSynDir :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep PatSynDir p -> PatSynDir Source #

from :: forall p (m :: Multiplicity). PatSynDir -> Rep PatSynDir p Source #

Generic PatSynArgs Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep PatSynArgs :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep PatSynArgs p -> PatSynArgs Source #

from :: forall p (m :: Multiplicity). PatSynArgs -> Rep PatSynArgs p Source #

Generic Specificity Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Specificity :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Specificity p -> Specificity Source #

from :: forall p (m :: Multiplicity). Specificity -> Rep Specificity p Source #

Generic FamilyResultSig Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep FamilyResultSig :: Type -> Type Source #

Generic TyLit Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep TyLit :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep TyLit p -> TyLit Source #

from :: forall p (m :: Multiplicity). TyLit -> Rep TyLit p Source #

Generic Role Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep Role :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Role p -> Role Source #

from :: forall p (m :: Multiplicity). Role -> Rep Role p Source #

Generic AnnLookup Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep AnnLookup :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep AnnLookup p -> AnnLookup Source #

from :: forall p (m :: Multiplicity). AnnLookup -> Rep AnnLookup p Source #

Generic [a] Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep [a] :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep [a] p -> [a] Source #

from :: forall p (m :: Multiplicity). [a] -> Rep [a] p Source #

Generic (Maybe a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Maybe a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Maybe a) p -> Maybe a Source #

from :: forall p (m :: Multiplicity). Maybe a -> Rep (Maybe a) p Source #

Generic (Ptr a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Ptr a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Ptr a) p -> Ptr a Source #

from :: forall p (m :: Multiplicity). Ptr a -> Rep (Ptr a) p Source #

Generic (Par1 p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Par1 p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (Par1 p) p0 -> Par1 p Source #

from :: forall p0 (m :: Multiplicity). Par1 p -> Rep (Par1 p) p0 Source #

Generic (a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (a) p -> (a) Source #

from :: forall p (m :: Multiplicity). (a) -> Rep (a) p Source #

Generic (Complex a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Complex a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Complex a) p -> Complex a Source #

from :: forall p (m :: Multiplicity). Complex a -> Rep (Complex a) p Source #

Generic (Min a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Min a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Min a) p -> Min a Source #

from :: forall p (m :: Multiplicity). Min a -> Rep (Min a) p Source #

Generic (Max a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Max a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Max a) p -> Max a Source #

from :: forall p (m :: Multiplicity). Max a -> Rep (Max a) p Source #

Generic (First a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (First a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (First a) p -> First a Source #

from :: forall p (m :: Multiplicity). First a -> Rep (First a) p Source #

Generic (Last a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Last a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Last a) p -> Last a Source #

from :: forall p (m :: Multiplicity). Last a -> Rep (Last a) p Source #

Generic (WrappedMonoid m) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (WrappedMonoid m) :: Type -> Type Source #

Methods

to :: forall p (m0 :: Multiplicity). Rep (WrappedMonoid m) p -> WrappedMonoid m Source #

from :: forall p (m0 :: Multiplicity). WrappedMonoid m -> Rep (WrappedMonoid m) p Source #

Generic (ZipList a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (ZipList a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (ZipList a) p -> ZipList a Source #

from :: forall p (m :: Multiplicity). ZipList a -> Rep (ZipList a) p Source #

Generic (Identity a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Identity a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Identity a) p -> Identity a Source #

from :: forall p (m :: Multiplicity). Identity a -> Rep (Identity a) p Source #

Generic (First a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (First a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (First a) p -> First a Source #

from :: forall p (m :: Multiplicity). First a -> Rep (First a) p Source #

Generic (Last a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Last a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Last a) p -> Last a Source #

from :: forall p (m :: Multiplicity). Last a -> Rep (Last a) p Source #

Generic (Dual a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Dual a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Dual a) p -> Dual a Source #

from :: forall p (m :: Multiplicity). Dual a -> Rep (Dual a) p Source #

Generic (Endo a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Endo a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Endo a) p -> Endo a Source #

from :: forall p (m :: Multiplicity). Endo a -> Rep (Endo a) p Source #

Generic (Sum a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Sum a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Sum a) p -> Sum a Source #

from :: forall p (m :: Multiplicity). Sum a -> Rep (Sum a) p Source #

Generic (Product a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Product a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Product a) p -> Product a Source #

from :: forall p (m :: Multiplicity). Product a -> Rep (Product a) p Source #

Generic (Down a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Down a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Down a) p -> Down a Source #

from :: forall p (m :: Multiplicity). Down a -> Rep (Down a) p Source #

Generic (NonEmpty a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (NonEmpty a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (NonEmpty a) p -> NonEmpty a Source #

from :: forall p (m :: Multiplicity). NonEmpty a -> Rep (NonEmpty a) p Source #

Generic (Tree a) Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep (Tree a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Tree a) p -> Tree a Source #

from :: forall p (m :: Multiplicity). Tree a -> Rep (Tree a) p Source #

Generic (FingerTree a) Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep (FingerTree a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (FingerTree a) p -> FingerTree a Source #

from :: forall p (m :: Multiplicity). FingerTree a -> Rep (FingerTree a) p Source #

Generic (Digit a) Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep (Digit a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Digit a) p -> Digit a Source #

from :: forall p (m :: Multiplicity). Digit a -> Rep (Digit a) p Source #

Generic (Node a) Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep (Node a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Node a) p -> Node a Source #

from :: forall p (m :: Multiplicity). Node a -> Rep (Node a) p Source #

Generic (Elem a) Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep (Elem a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Elem a) p -> Elem a Source #

from :: forall p (m :: Multiplicity). Elem a -> Rep (Elem a) p Source #

Generic (ViewL a) Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep (ViewL a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (ViewL a) p -> ViewL a Source #

from :: forall p (m :: Multiplicity). ViewL a -> Rep (ViewL a) p Source #

Generic (ViewR a) Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep (ViewR a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (ViewR a) p -> ViewR a Source #

from :: forall p (m :: Multiplicity). ViewR a -> Rep (ViewR a) p Source #

Generic (TyVarBndr flag) Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep (TyVarBndr flag) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (TyVarBndr flag) p -> TyVarBndr flag Source #

from :: forall p (m :: Multiplicity). TyVarBndr flag -> Rep (TyVarBndr flag) p Source #

Generic a => Generic (GHCGenerically a) Source # 
Instance details

Defined in Generics.Linear.Unsafe.ViaGHCGenerics

Associated Types

type Rep (GHCGenerically a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (GHCGenerically a) p -> GHCGenerically a Source #

from :: forall p (m :: Multiplicity). GHCGenerically a -> Rep (GHCGenerically a) p Source #

Generic (Either a b) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Either a b) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Either a b) p -> Either a b Source #

from :: forall p (m :: Multiplicity). Either a b -> Rep (Either a b) p Source #

Generic (V1 p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (V1 p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (V1 p) p0 -> V1 p Source #

from :: forall p0 (m :: Multiplicity). V1 p -> Rep (V1 p) p0 Source #

Generic (U1 p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (U1 p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (U1 p) p0 -> U1 p Source #

from :: forall p0 (m :: Multiplicity). U1 p -> Rep (U1 p) p0 Source #

Generic (a, b) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (a, b) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (a, b) p -> (a, b) Source #

from :: forall p (m :: Multiplicity). (a, b) -> Rep (a, b) p Source #

Generic (Arg a b) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Arg a b) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Arg a b) p -> Arg a b Source #

from :: forall p (m :: Multiplicity). Arg a b -> Rep (Arg a b) p Source #

Generic (WrappedMonad m a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (WrappedMonad m a) :: Type -> Type Source #

Methods

to :: forall p (m0 :: Multiplicity). Rep (WrappedMonad m a) p -> WrappedMonad m a Source #

from :: forall p (m0 :: Multiplicity). WrappedMonad m a -> Rep (WrappedMonad m a) p Source #

Generic (Proxy t) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Proxy t) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Proxy t) p -> Proxy t Source #

from :: forall p (m :: Multiplicity). Proxy t -> Rep (Proxy t) p Source #

Generic (Rec1 f p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Rec1 f p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (Rec1 f p) p0 -> Rec1 f p Source #

from :: forall p0 (m :: Multiplicity). Rec1 f p -> Rep (Rec1 f p) p0 Source #

Generic (URec Word p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (URec Word p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (URec Word p) p0 -> URec Word p Source #

from :: forall p0 (m :: Multiplicity). URec Word p -> Rep (URec Word p) p0 Source #

Generic (URec Float p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (URec Float p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (URec Float p) p0 -> URec Float p Source #

from :: forall p0 (m :: Multiplicity). URec Float p -> Rep (URec Float p) p0 Source #

Generic (URec Int p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (URec Int p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (URec Int p) p0 -> URec Int p Source #

from :: forall p0 (m :: Multiplicity). URec Int p -> Rep (URec Int p) p0 Source #

Generic (URec Double p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (URec Double p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (URec Double p) p0 -> URec Double p Source #

from :: forall p0 (m :: Multiplicity). URec Double p -> Rep (URec Double p) p0 Source #

Generic (URec Char p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (URec Char p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (URec Char p) p0 -> URec Char p Source #

from :: forall p0 (m :: Multiplicity). URec Char p -> Rep (URec Char p) p0 Source #

Generic (URec (Ptr ()) p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (URec (Ptr ()) p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (URec (Ptr ()) p) p0 -> URec (Ptr ()) p Source #

from :: forall p0 (m :: Multiplicity). URec (Ptr ()) p -> Rep (URec (Ptr ()) p) p0 Source #

Generic (Code m a) Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep (Code m a) :: Type -> Type Source #

Methods

to :: forall p (m0 :: Multiplicity). Rep (Code m a) p -> Code m a Source #

from :: forall p (m0 :: Multiplicity). Code m a -> Rep (Code m a) p Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (a, b, c) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (a, b, c) p -> (a, b, c) Source #

from :: forall p (m :: Multiplicity). (a, b, c) -> Rep (a, b, c) p Source #

Generic (WrappedArrow a b c) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (WrappedArrow a b c) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (WrappedArrow a b c) p -> WrappedArrow a b c Source #

from :: forall p (m :: Multiplicity). WrappedArrow a b c -> Rep (WrappedArrow a b c) p Source #

Generic (Kleisli m a b) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Kleisli m a b) :: Type -> Type Source #

Methods

to :: forall p (m0 :: Multiplicity). Rep (Kleisli m a b) p -> Kleisli m a b Source #

from :: forall p (m0 :: Multiplicity). Kleisli m a b -> Rep (Kleisli m a b) p Source #

Generic (Const a b) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Const a b) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Const a b) p -> Const a b Source #

from :: forall p (m :: Multiplicity). Const a b -> Rep (Const a b) p Source #

Generic (Ap f a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Ap f a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Ap f a) p -> Ap f a Source #

from :: forall p (m :: Multiplicity). Ap f a -> Rep (Ap f a) p Source #

Generic (Alt f a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Alt f a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Alt f a) p -> Alt f a Source #

from :: forall p (m :: Multiplicity). Alt f a -> Rep (Alt f a) p Source #

Generic (K1 i c p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (K1 i c p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (K1 i c p) p0 -> K1 i c p Source #

from :: forall p0 (m :: Multiplicity). K1 i c p -> Rep (K1 i c p) p0 Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep ((f :+: g) p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep ((f :+: g) p) p0 -> (f :+: g) p Source #

from :: forall p0 (m :: Multiplicity). (f :+: g) p -> Rep ((f :+: g) p) p0 Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep ((f :*: g) p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep ((f :*: g) p) p0 -> (f :*: g) p Source #

from :: forall p0 (m :: Multiplicity). (f :*: g) p -> Rep ((f :*: g) p) p0 Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (a, b, c, d) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (a, b, c, d) p -> (a, b, c, d) Source #

from :: forall p (m :: Multiplicity). (a, b, c, d) -> Rep (a, b, c, d) p Source #

Generic (Product f g a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Product f g a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Product f g a) p -> Product f g a Source #

from :: forall p (m :: Multiplicity). Product f g a -> Rep (Product f g a) p Source #

Generic (Sum f g a) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Sum f g a) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (Sum f g a) p -> Sum f g a Source #

from :: forall p (m :: Multiplicity). Sum f g a -> Rep (Sum f g a) p Source #

Generic (MP1 m f a) Source # 
Instance details

Defined in Generics.Linear.Class

Associated Types

type Rep (MP1 m f a) :: Type -> Type Source #

Methods

to :: forall p (m0 :: Multiplicity). Rep (MP1 m f a) p -> MP1 m f a Source #

from :: forall p (m0 :: Multiplicity). MP1 m f a -> Rep (MP1 m f a) p Source #

Generic (M1 i c f p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (M1 i c f p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (M1 i c f p) p0 -> M1 i c f p Source #

from :: forall p0 (m :: Multiplicity). M1 i c f p -> Rep (M1 i c f p) p0 Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep ((f :.: g) p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep ((f :.: g) p) p0 -> (f :.: g) p Source #

from :: forall p0 (m :: Multiplicity). (f :.: g) p -> Rep ((f :.: g) p) p0 Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (a, b, c, d, e) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (a, b, c, d, e) p -> (a, b, c, d, e) Source #

from :: forall p (m :: Multiplicity). (a, b, c, d, e) -> Rep (a, b, c, d, e) p Source #

Generic ((f :.: g) x) Source # 
Instance details

Defined in Generics.Linear.Instances.Linear_generics

Associated Types

type Rep ((f :.: g) x) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep ((f :.: g) x) p -> (f :.: g) x Source #

from :: forall p (m :: Multiplicity). (f :.: g) x -> Rep ((f :.: g) x) p Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (a, b, c, d, e, f) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (a, b, c, d, e, f) p -> (a, b, c, d, e, f) Source #

from :: forall p (m :: Multiplicity). (a, b, c, d, e, f) -> Rep (a, b, c, d, e, f) p Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (a, b, c, d, e, f, g) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep (a, b, c, d, e, f, g) p -> (a, b, c, d, e, f, g) Source #

from :: forall p (m :: Multiplicity). (a, b, c, d, e, f, g) -> Rep (a, b, c, d, e, f, g) p Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

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

Methods

to :: forall p (m :: Multiplicity). Rep (a, b, c, d, e, f, g, h) p -> (a, b, c, d, e, f, g, h) Source #

from :: forall p (m :: Multiplicity). (a, b, c, d, e, f, g, h) -> Rep (a, b, c, d, e, f, g, h) p Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

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

Methods

to :: forall p (m :: Multiplicity). Rep (a, b, c, d, e, f, g, h, i) p -> (a, b, c, d, e, f, g, h, i) Source #

from :: forall p (m :: Multiplicity). (a, b, c, d, e, f, g, h, i) -> Rep (a, b, c, d, e, f, g, h, i) p Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

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

Methods

to :: forall p (m :: Multiplicity). Rep (a, b, c, d, e, f, g, h, i, j) p -> (a, b, c, d, e, f, g, h, i, j) Source #

from :: forall p (m :: Multiplicity). (a, b, c, d, e, f, g, h, i, j) -> Rep (a, b, c, d, e, f, g, h, i, j) p Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

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

Methods

to :: forall p (m :: Multiplicity). Rep (a, b, c, d, e, f, g, h, i, j, k) p -> (a, b, c, d, e, f, g, h, i, j, k) Source #

from :: forall p (m :: Multiplicity). (a, b, c, d, e, f, g, h, i, j, k) -> Rep (a, b, c, d, e, f, g, h, i, j, k) p Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

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

Methods

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

from :: forall p (m :: Multiplicity). (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) p Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

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

Methods

to :: forall p (m0 :: Multiplicity). Rep (a, b, c, d, e, f, g, h, i, j, k, l, m) p -> (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

from :: forall p (m0 :: Multiplicity). (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) p Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

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

Methods

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

from :: forall p (m0 :: Multiplicity). (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) p Source #

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

Defined in Generics.Linear.Instances.Base

Associated Types

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

Methods

to :: forall p (m0 :: Multiplicity). 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) Source #

from :: forall p (m0 :: Multiplicity). (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) p Source #

class Generic1 (f :: k -> Type) where Source #

Generic1 is similar to GHC.Generics.Generic1, but has a few differences.

Multiplicity polymorphism

As with Generic, the to1 and from1 methods are multiplicity polymorphic.

Differences in Rep1 representation

Rec1 is not used

Given a type like

newtype Foo a = Foo (Maybe a)

where a single type constructor (here Maybe) is applied to the parameter, GHC.Generics represents the field as Rec1 Maybe. We instead represent it using Par1 :.: Maybe. It is expected that very few real-life uses of GHC.Generics will break as a result, and this simplification means that users don't have to write Rec1 instances for their generic-deriving classes.

Compositions associate in the opposite order

Given a type like

newtype Bar a = Bar (Maybe [Either e a])

where multiple type constructors are layered around the parameter, "GHC.Generics@ represents the field as

Maybe :.: ([] :.: Rec1 (Either e))

We instead represent it as

((Par1 :.: Maybe) :.: []) :.: Either e

Doing it this way prevents to1 and from1 from having to fmap newtype constructors through the composed types, which can be a considerable performance improvement and enables multiplicity polymorphism.

In most cases, modifying generic-deriving classes to accommodate this change is simple: just swap which side of the composition is treated as a generic representation and which as a base type. In a few cases, more restructuring will be needed, which will require using different generic-deriving classes than for GHC.Generics.

Difference in specificity

Users of type application will need to be aware that the kind parameter for Generic1 is marked as inferred, whereas for GHC.Generics.Generic1 it is marked as specified. So you should use, for example, to1 @Maybe rather than to1 @_ @Maybe.

Associated Types

type Rep1 f :: k -> Type Source #

Methods

to1 :: forall p m. Rep1 f p -> f p Source #

from1 :: forall p m. f p -> Rep1 f p Source #

Instances

Instances details
Generic1 [] Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 [] :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 [] p -> [p] Source #

from1 :: forall (p :: k) (m :: Multiplicity). [p] -> Rep1 [] p Source #

Generic1 Maybe Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Maybe :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Maybe p -> Maybe p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Maybe p -> Rep1 Maybe p Source #

Generic1 Par1 Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Par1 :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Par1 p -> Par1 p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Par1 p -> Rep1 Par1 p Source #

Generic1 Solo Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Solo :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Solo p -> Solo p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Solo p -> Rep1 Solo p Source #

Generic1 Complex Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Complex :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Complex p -> Complex p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Complex p -> Rep1 Complex p Source #

Generic1 Min Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Min :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Min p -> Min p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Min p -> Rep1 Min p Source #

Generic1 Max Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Max :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Max p -> Max p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Max p -> Rep1 Max p Source #

Generic1 First Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 First :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 First p -> First p Source #

from1 :: forall (p :: k) (m :: Multiplicity). First p -> Rep1 First p Source #

Generic1 Last Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Last :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Last p -> Last p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Last p -> Rep1 Last p Source #

Generic1 WrappedMonoid Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 WrappedMonoid :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 WrappedMonoid p -> WrappedMonoid p Source #

from1 :: forall (p :: k) (m :: Multiplicity). WrappedMonoid p -> Rep1 WrappedMonoid p Source #

Generic1 ZipList Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ZipList :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 ZipList p -> ZipList p Source #

from1 :: forall (p :: k) (m :: Multiplicity). ZipList p -> Rep1 ZipList p Source #

Generic1 Identity Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Identity :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Identity p -> Identity p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Identity p -> Rep1 Identity p Source #

Generic1 First Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 First :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 First p -> First p Source #

from1 :: forall (p :: k) (m :: Multiplicity). First p -> Rep1 First p Source #

Generic1 Last Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Last :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Last p -> Last p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Last p -> Rep1 Last p Source #

Generic1 Dual Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Dual :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Dual p -> Dual p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Dual p -> Rep1 Dual p Source #

Generic1 Sum Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Sum :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Sum p -> Sum p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Sum p -> Rep1 Sum p Source #

Generic1 Product Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Product :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Product p -> Product p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Product p -> Rep1 Product p Source #

Generic1 Down Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Down :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Down p -> Down p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Down p -> Rep1 Down p Source #

Generic1 NonEmpty Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 NonEmpty :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 NonEmpty p -> NonEmpty p Source #

from1 :: forall (p :: k) (m :: Multiplicity). NonEmpty p -> Rep1 NonEmpty p Source #

Generic1 Tree Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep1 Tree :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Tree p -> Tree p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Tree p -> Rep1 Tree p Source #

Generic1 FingerTree Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep1 FingerTree :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 FingerTree p -> FingerTree p Source #

from1 :: forall (p :: k) (m :: Multiplicity). FingerTree p -> Rep1 FingerTree p Source #

Generic1 Digit Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep1 Digit :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Digit p -> Digit p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Digit p -> Rep1 Digit p Source #

Generic1 Node Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep1 Node :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Node p -> Node p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Node p -> Rep1 Node p Source #

Generic1 Elem Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep1 Elem :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Elem p -> Elem p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Elem p -> Rep1 Elem p Source #

Generic1 ViewL Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep1 ViewL :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 ViewL p -> ViewL p Source #

from1 :: forall (p :: k) (m :: Multiplicity). ViewL p -> Rep1 ViewL p Source #

Generic1 ViewR Source # 
Instance details

Defined in Generics.Linear.Instances.Containers

Associated Types

type Rep1 ViewR :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 ViewR p -> ViewR p Source #

from1 :: forall (p :: k) (m :: Multiplicity). ViewR p -> Rep1 ViewR p Source #

Generic1 TyVarBndr Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep1 TyVarBndr :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 TyVarBndr p -> TyVarBndr p Source #

from1 :: forall (p :: k) (m :: Multiplicity). TyVarBndr p -> Rep1 TyVarBndr p Source #

Generic1 (Either a :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (Either a) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 (Either a) p -> Either a p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Either a p -> Rep1 (Either a) p Source #

Generic1 ((,) a :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,) a) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 ((,) a) p -> (a, p) Source #

from1 :: forall (p :: k) (m :: Multiplicity). (a, p) -> Rep1 ((,) a) p Source #

Generic1 (Arg a :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (Arg a) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 (Arg a) p -> Arg a p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Arg a p -> Rep1 (Arg a) p Source #

Generic1 (WrappedMonad m :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (WrappedMonad m) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m0 :: Multiplicity). Rep1 (WrappedMonad m) p -> WrappedMonad m p Source #

from1 :: forall (p :: k) (m0 :: Multiplicity). WrappedMonad m p -> Rep1 (WrappedMonad m) p Source #

Generic1 (U1 :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 U1 :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 U1 p -> U1 p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). U1 p -> Rep1 U1 p Source #

Generic1 (V1 :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 V1 :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 V1 p -> V1 p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). V1 p -> Rep1 V1 p Source #

Generic1 (Proxy :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Proxy :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 Proxy p -> Proxy p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). Proxy p -> Rep1 Proxy p Source #

Generic1 ((,,) a b :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,,) a b) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 ((,,) a b) p -> (a, b, p) Source #

from1 :: forall (p :: k) (m :: Multiplicity). (a, b, p) -> Rep1 ((,,) a b) p Source #

Generic1 (WrappedArrow a b :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (WrappedArrow a b) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 (WrappedArrow a b) p -> WrappedArrow a b p Source #

from1 :: forall (p :: k) (m :: Multiplicity). WrappedArrow a b p -> Rep1 (WrappedArrow a b) p Source #

Generic1 (Kleisli m a :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (Kleisli m a) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m0 :: Multiplicity). Rep1 (Kleisli m a) p -> Kleisli m a p Source #

from1 :: forall (p :: k) (m0 :: Multiplicity). Kleisli m a p -> Rep1 (Kleisli m a) p Source #

Generic1 (Rec1 f :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (Rec1 f) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (Rec1 f) p -> Rec1 f p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). Rec1 f p -> Rep1 (Rec1 f) p Source #

Generic1 (Alt f :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (Alt f) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (Alt f) p -> Alt f p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). Alt f p -> Rep1 (Alt f) p Source #

Generic1 (Ap f :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (Ap f) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (Ap f) p -> Ap f p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). Ap f p -> Rep1 (Ap f) p Source #

Generic1 (Const a :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (Const a) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (Const a) p -> Const a p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). Const a p -> Rep1 (Const a) p Source #

Generic1 (URec Word :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (URec Word) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (URec Word) p -> URec Word p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). URec Word p -> Rep1 (URec Word) p Source #

Generic1 (URec Float :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (URec Float) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (URec Float) p -> URec Float p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). URec Float p -> Rep1 (URec Float) p Source #

Generic1 (URec Int :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (URec Int) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (URec Int) p -> URec Int p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). URec Int p -> Rep1 (URec Int) p Source #

Generic1 (URec Double :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (URec Double) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (URec Double) p -> URec Double p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). URec Double p -> Rep1 (URec Double) p Source #

Generic1 (URec Char :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (URec Char) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (URec Char) p -> URec Char p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). URec Char p -> Rep1 (URec Char) p Source #

Generic1 (URec (Ptr ()) :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (URec (Ptr ())) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (URec (Ptr ())) p -> URec (Ptr ()) p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). URec (Ptr ()) p -> Rep1 (URec (Ptr ())) p Source #

(Generic1 f, Repairable ('ShowType f) (Rep1 f)) => Generic1 (GHCGenerically1 f :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Unsafe.ViaGHCGenerics

Associated Types

type Rep1 (GHCGenerically1 f) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (GHCGenerically1 f) p -> GHCGenerically1 f p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). GHCGenerically1 f p -> Rep1 (GHCGenerically1 f) p Source #

Generic1 ((,,,) a b c :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,,,) a b c) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 ((,,,) a b c) p -> (a, b, c, p) Source #

from1 :: forall (p :: k) (m :: Multiplicity). (a, b, c, p) -> Rep1 ((,,,) a b c) p Source #

Generic1 (Product f g :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (Product f g) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (Product f g) p -> Product f g p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). Product f g p -> Rep1 (Product f g) p Source #

Generic1 (Sum f g :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (Sum f g) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (Sum f g) p -> Sum f g p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). Sum f g p -> Rep1 (Sum f g) p Source #

Generic1 (MP1 m f :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Class

Associated Types

type Rep1 (MP1 m f) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m0 :: Multiplicity). Rep1 (MP1 m f) p -> MP1 m f p Source #

from1 :: forall (p :: k0) (m0 :: Multiplicity). MP1 m f p -> Rep1 (MP1 m f) p Source #

Generic1 (K1 i c :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (K1 i c) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (K1 i c) p -> K1 i c p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). K1 i c p -> Rep1 (K1 i c) p Source #

Generic1 (f :+: g :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (f :+: g) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (f :+: g) p -> (f :+: g) p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). (f :+: g) p -> Rep1 (f :+: g) p Source #

Generic1 (f :*: g :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (f :*: g) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (f :*: g) p -> (f :*: g) p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). (f :*: g) p -> Rep1 (f :*: g) p Source #

Generic1 ((,,,,) a b c d :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,,,,) a b c d) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 ((,,,,) a b c d) p -> (a, b, c, d, p) Source #

from1 :: forall (p :: k) (m :: Multiplicity). (a, b, c, d, p) -> Rep1 ((,,,,) a b c d) p Source #

Generic1 (Compose f g :: k1 -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (Compose f g) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 (Compose f g) p -> Compose f g p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Compose f g p -> Rep1 (Compose f g) p Source #

Generic1 (f :.: g :: k1 -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Linear_generics

Associated Types

type Rep1 (f :.: g) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 (f :.: g) p -> (f :.: g) p Source #

from1 :: forall (p :: k) (m :: Multiplicity). (f :.: g) p -> Rep1 (f :.: g) p Source #

Generic1 (M1 i c f :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (M1 i c f) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (M1 i c f) p -> M1 i c f p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). M1 i c f p -> Rep1 (M1 i c f) p Source #

Generic1 (f :.: g :: k1 -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (f :.: g) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 (f :.: g) p -> (f :.: g) p Source #

from1 :: forall (p :: k) (m :: Multiplicity). (f :.: g) p -> Rep1 (f :.: g) p Source #

Generic1 ((,,,,,) a b c d e :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,,,,,) a b c d e) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 ((,,,,,) a b c d e) p -> (a, b, c, d, e, p) Source #

from1 :: forall (p :: k) (m :: Multiplicity). (a, b, c, d, e, p) -> Rep1 ((,,,,,) a b c d e) p Source #

Generic1 ((,,,,,,) a b c d e f :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,,,,,,) a b c d e f) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 ((,,,,,,) a b c d e f) p -> (a, b, c, d, e, f, p) Source #

from1 :: forall (p :: k) (m :: Multiplicity). (a, b, c, d, e, f, p) -> Rep1 ((,,,,,,) a b c d e f) p Source #

Generic1 ((,,,,,,,) a b c d e f g :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,,,,,,,) a b c d e f g) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 ((,,,,,,,) a b c d e f g) p -> (a, b, c, d, e, f, g, p) Source #

from1 :: forall (p :: k) (m :: Multiplicity). (a, b, c, d, e, f, g, p) -> Rep1 ((,,,,,,,) a b c d e f g) p Source #

Generic1 ((,,,,,,,,) a b c d e f g h :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,,,,,,,,) a b c d e f g h) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 ((,,,,,,,,) a b c d e f g h) p -> (a, b, c, d, e, f, g, h, p) Source #

from1 :: forall (p :: k) (m :: Multiplicity). (a, b, c, d, e, f, g, h, p) -> Rep1 ((,,,,,,,,) a b c d e f g h) p Source #

Generic1 ((,,,,,,,,,) a b c d e f g h i :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,,,,,,,,,) a b c d e f g h i) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 ((,,,,,,,,,) a b c d e f g h i) p -> (a, b, c, d, e, f, g, h, i, p) Source #

from1 :: forall (p :: k) (m :: Multiplicity). (a, b, c, d, e, f, g, h, i, p) -> Rep1 ((,,,,,,,,,) a b c d e f g h i) p Source #

Generic1 ((,,,,,,,,,,) a b c d e f g h i j :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,,,,,,,,,,) a b c d e f g h i j) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 ((,,,,,,,,,,) a b c d e f g h i j) p -> (a, b, c, d, e, f, g, h, i, j, p) Source #

from1 :: forall (p :: k) (m :: Multiplicity). (a, b, c, d, e, f, g, h, i, j, p) -> Rep1 ((,,,,,,,,,,) a b c d e f g h i j) p Source #

Generic1 ((,,,,,,,,,,,) a b c d e f g h i j k :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k) p -> (a, b, c, d, e, f, g, h, i, j, k, p) Source #

from1 :: forall (p :: k0) (m :: Multiplicity). (a, b, c, d, e, f, g, h, i, j, k, p) -> Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k) p Source #

Generic1 ((,,,,,,,,,,,,) a b c d e f g h i j k l :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l) p -> (a, b, c, d, e, f, g, h, i, j, k, l, p) Source #

from1 :: forall (p :: k0) (m :: Multiplicity). (a, b, c, d, e, f, g, h, i, j, k, l, p) -> Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l) p Source #

Generic1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m0 :: Multiplicity). Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m) p -> (a, b, c, d, e, f, g, h, i, j, k, l, m, p) Source #

from1 :: forall (p :: k0) (m0 :: Multiplicity). (a, b, c, d, e, f, g, h, i, j, k, l, m, p) -> Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m) p Source #

Generic1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n :: Type -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m0 :: Multiplicity). Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n) p -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p) Source #

from1 :: forall (p :: k0) (m0 :: Multiplicity). (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p) -> Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n) p Source #

Generic1 (Code m :: TYPE r -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Template_haskell

Associated Types

type Rep1 (Code m) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m0 :: Multiplicity). Rep1 (Code m) p -> Code m p Source #

from1 :: forall (p :: k) (m0 :: Multiplicity). Code m p -> Rep1 (Code m) p Source #

newtype (f :.: g) x infixl 7 Source #

The composition operator for types. We use our own here because for many classes, it's possible to share generic deriving classes between GHC.Generics and Generics.Linear by just instantiating them for both composition operators (and MP1).

Constructors

Comp1 

Fields

Instances

Instances details
Functor f => Generic1 (f :.: g :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Class

Associated Types

type Rep1 (f :.: g) :: k -> Type #

Methods

from1 :: forall (a :: k0). (f :.: g) a -> Rep1 (f :.: g) a #

to1 :: forall (a :: k0). Rep1 (f :.: g) a -> (f :.: g) a #

Generic1 (f :.: g :: k1 -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Linear_generics

Associated Types

type Rep1 (f :.: g) :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 (f :.: g) p -> (f :.: g) p Source #

from1 :: forall (p :: k) (m :: Multiplicity). (f :.: g) p -> Rep1 (f :.: g) p Source #

(Functor f, Functor g) => Functor (f :.: g) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

fmap :: (a -> b) -> (f :.: g) a -> (f :.: g) b #

(<$) :: a -> (f :.: g) b -> (f :.: g) a #

(Applicative f, Applicative g) => Applicative (f :.: g) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

pure :: a -> (f :.: g) a #

(<*>) :: (f :.: g) (a -> b) -> (f :.: g) a -> (f :.: g) b #

liftA2 :: (a -> b -> c) -> (f :.: g) a -> (f :.: g) b -> (f :.: g) c #

(*>) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) b #

(<*) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) a #

(Foldable f, Foldable g) => Foldable (f :.: g) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

fold :: Monoid m => (f :.: g) m -> m #

foldMap :: Monoid m => (a -> m) -> (f :.: g) a -> m #

foldMap' :: Monoid m => (a -> m) -> (f :.: g) a -> m #

foldr :: (a -> b -> b) -> b -> (f :.: g) a -> b #

foldr' :: (a -> b -> b) -> b -> (f :.: g) a -> b #

foldl :: (b -> a -> b) -> b -> (f :.: g) a -> b #

foldl' :: (b -> a -> b) -> b -> (f :.: g) a -> b #

foldr1 :: (a -> a -> a) -> (f :.: g) a -> a #

foldl1 :: (a -> a -> a) -> (f :.: g) a -> a #

toList :: (f :.: g) a -> [a] #

null :: (f :.: g) a -> Bool #

length :: (f :.: g) a -> Int #

elem :: Eq a => a -> (f :.: g) a -> Bool #

maximum :: Ord a => (f :.: g) a -> a #

minimum :: Ord a => (f :.: g) a -> a #

sum :: Num a => (f :.: g) a -> a #

product :: Num a => (f :.: g) a -> a #

(Traversable f, Traversable g) => Traversable (f :.: g) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

traverse :: Applicative f0 => (a -> f0 b) -> (f :.: g) a -> f0 ((f :.: g) b) #

sequenceA :: Applicative f0 => (f :.: g) (f0 a) -> f0 ((f :.: g) a) #

mapM :: Monad m => (a -> m b) -> (f :.: g) a -> m ((f :.: g) b) #

sequence :: Monad m => (f :.: g) (m a) -> m ((f :.: g) a) #

(Functor f, Contravariant g) => Contravariant (f :.: g) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

contramap :: (a' -> a) -> (f :.: g) a -> (f :.: g) a' #

(>$) :: b -> (f :.: g) b -> (f :.: g) a #

(Eq1 f, Eq1 g) => Eq1 (f :.: g) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

liftEq :: (a -> b -> Bool) -> (f :.: g) a -> (f :.: g) b -> Bool #

(Ord1 f, Ord1 g) => Ord1 (f :.: g) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

liftCompare :: (a -> b -> Ordering) -> (f :.: g) a -> (f :.: g) b -> Ordering #

(Read1 f, Read1 g) => Read1 (f :.: g) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS ((f :.: g) a) #

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [(f :.: g) a] #

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec ((f :.: g) a) #

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [(f :.: g) a] #

(Show1 f, Show1 g) => Show1 (f :.: g) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> (f :.: g) a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [(f :.: g) a] -> ShowS #

(Alternative f, Applicative g) => Alternative (f :.: g) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

empty :: (f :.: g) a #

(<|>) :: (f :.: g) a -> (f :.: g) a -> (f :.: g) a #

some :: (f :.: g) a -> (f :.: g) [a] #

many :: (f :.: g) a -> (f :.: g) [a] #

Eq (f (g x)) => Eq ((f :.: g) x) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

(==) :: (f :.: g) x -> (f :.: g) x -> Bool #

(/=) :: (f :.: g) x -> (f :.: g) x -> Bool #

(Typeable x, Typeable f, Typeable g, Typeable k2, Typeable k1, Data (f (g x))) => Data ((f :.: g) x) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :.: g) x -> c ((f :.: g) x) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :.: g) x) #

toConstr :: (f :.: g) x -> Constr #

dataTypeOf :: (f :.: g) x -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :.: g) x)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :.: g) x)) #

gmapT :: (forall b. Data b => b -> b) -> (f :.: g) x -> (f :.: g) x #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :.: g) x -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :.: g) x -> r #

gmapQ :: (forall d. Data d => d -> u) -> (f :.: g) x -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :.: g) x -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :.: g) x -> m ((f :.: g) x) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :.: g) x -> m ((f :.: g) x) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :.: g) x -> m ((f :.: g) x) #

Ord (f (g x)) => Ord ((f :.: g) x) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

compare :: (f :.: g) x -> (f :.: g) x -> Ordering #

(<) :: (f :.: g) x -> (f :.: g) x -> Bool #

(<=) :: (f :.: g) x -> (f :.: g) x -> Bool #

(>) :: (f :.: g) x -> (f :.: g) x -> Bool #

(>=) :: (f :.: g) x -> (f :.: g) x -> Bool #

max :: (f :.: g) x -> (f :.: g) x -> (f :.: g) x #

min :: (f :.: g) x -> (f :.: g) x -> (f :.: g) x #

Read (f (g x)) => Read ((f :.: g) x) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

readsPrec :: Int -> ReadS ((f :.: g) x) #

readList :: ReadS [(f :.: g) x] #

readPrec :: ReadPrec ((f :.: g) x) #

readListPrec :: ReadPrec [(f :.: g) x] #

Show (f (g x)) => Show ((f :.: g) x) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

showsPrec :: Int -> (f :.: g) x -> ShowS #

show :: (f :.: g) x -> String #

showList :: [(f :.: g) x] -> ShowS #

Generic ((f :.: g) x) Source # 
Instance details

Defined in Generics.Linear.Class

Associated Types

type Rep ((f :.: g) x) :: Type -> Type #

Methods

from :: (f :.: g) x -> Rep ((f :.: g) x) x0 #

to :: Rep ((f :.: g) x) x0 -> (f :.: g) x #

Semigroup (f (g x)) => Semigroup ((f :.: g) x) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

(<>) :: (f :.: g) x -> (f :.: g) x -> (f :.: g) x #

sconcat :: NonEmpty ((f :.: g) x) -> (f :.: g) x #

stimes :: Integral b => b -> (f :.: g) x -> (f :.: g) x #

Monoid (f (g x)) => Monoid ((f :.: g) x) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

mempty :: (f :.: g) x #

mappend :: (f :.: g) x -> (f :.: g) x -> (f :.: g) x #

mconcat :: [(f :.: g) x] -> (f :.: g) x #

Generic ((f :.: g) x) Source # 
Instance details

Defined in Generics.Linear.Instances.Linear_generics

Associated Types

type Rep ((f :.: g) x) :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep ((f :.: g) x) p -> (f :.: g) x Source #

from :: forall p (m :: Multiplicity). (f :.: g) x -> Rep ((f :.: g) x) p Source #

type Rep1 (f :.: g :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Class

type Rep1 (f :.: g :: k -> Type) = D1 ('MetaData ":.:" "Generics.Linear.Class" "linear-generics-0.1.0.1-inplace" 'True) (C1 ('MetaCons "Comp1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unComp1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (f :.: Rec1 g)))
type Rep1 (f :.: g :: k1 -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Linear_generics

type Rep1 (f :.: g :: k1 -> Type) = D1 ('MetaData ":.:" "Generics.Linear.Class" "linear-generics-0.1.0.1-inplace" 'True) (C1 ('MetaCons "Comp1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unComp1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ((Par1 :.: f) :.: g)))
type Rep ((f :.: g) x) Source # 
Instance details

Defined in Generics.Linear.Class

type Rep ((f :.: g) x) = D1 ('MetaData ":.:" "Generics.Linear.Class" "linear-generics-0.1.0.1-inplace" 'True) (C1 ('MetaCons "Comp1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unComp1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (g x)))))
type Rep ((f :.: g) x) Source # 
Instance details

Defined in Generics.Linear.Instances.Linear_generics

type Rep ((f :.: g) x) = D1 ('MetaData ":.:" "Generics.Linear.Class" "linear-generics-0.1.0.1-inplace" 'True) (C1 ('MetaCons "Comp1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unComp1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (g x)))))

data MP1 :: forall k. Multiplicity -> (k -> Type) -> k -> Type where Source #

Types with nonlinear or multiplicity-polymorphic fields should use MP1 under S1. Unfortunately, Template Haskell (and GHC Generics) currently lack any support for such types, so their instances must currently be written entirely manually. We may add some functions to ease the pain at some point.

Generic-deriving classes that do not involve linear types should treat MP1 m much as they treat M1: dig through it to get to the meat. Unfortunately, some futzing about may be necessary to convince the type checker that multiplicities work out.

Generic-deriving classes that use linear types may have to treat MP1 m specially. In particular, they may need to constrain m to be 'One or 'Many, or to match some other type variable.

Constructors

MP1 :: f a -> MP1 m f a 

Instances

Instances details
Generic1 (MP1 m f :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Class

Associated Types

type Rep1 (MP1 m f) :: k -> Type #

Methods

from1 :: forall (a :: k0). MP1 m f a -> Rep1 (MP1 m f) a #

to1 :: forall (a :: k0). Rep1 (MP1 m f) a -> MP1 m f a #

Generic1 (MP1 m f :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Class

Associated Types

type Rep1 (MP1 m f) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m0 :: Multiplicity). Rep1 (MP1 m f) p -> MP1 m f p Source #

from1 :: forall (p :: k0) (m0 :: Multiplicity). MP1 m f p -> Rep1 (MP1 m f) p Source #

Monad f => Monad (MP1 m f) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

(>>=) :: MP1 m f a -> (a -> MP1 m f b) -> MP1 m f b #

(>>) :: MP1 m f a -> MP1 m f b -> MP1 m f b #

return :: a -> MP1 m f a #

Functor f => Functor (MP1 m f) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

fmap :: (a -> b) -> MP1 m f a -> MP1 m f b #

(<$) :: a -> MP1 m f b -> MP1 m f a #

Applicative f => Applicative (MP1 m f) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

pure :: a -> MP1 m f a #

(<*>) :: MP1 m f (a -> b) -> MP1 m f a -> MP1 m f b #

liftA2 :: (a -> b -> c) -> MP1 m f a -> MP1 m f b -> MP1 m f c #

(*>) :: MP1 m f a -> MP1 m f b -> MP1 m f b #

(<*) :: MP1 m f a -> MP1 m f b -> MP1 m f a #

Foldable f => Foldable (MP1 m f) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

fold :: Monoid m0 => MP1 m f m0 -> m0 #

foldMap :: Monoid m0 => (a -> m0) -> MP1 m f a -> m0 #

foldMap' :: Monoid m0 => (a -> m0) -> MP1 m f a -> m0 #

foldr :: (a -> b -> b) -> b -> MP1 m f a -> b #

foldr' :: (a -> b -> b) -> b -> MP1 m f a -> b #

foldl :: (b -> a -> b) -> b -> MP1 m f a -> b #

foldl' :: (b -> a -> b) -> b -> MP1 m f a -> b #

foldr1 :: (a -> a -> a) -> MP1 m f a -> a #

foldl1 :: (a -> a -> a) -> MP1 m f a -> a #

toList :: MP1 m f a -> [a] #

null :: MP1 m f a -> Bool #

length :: MP1 m f a -> Int #

elem :: Eq a => a -> MP1 m f a -> Bool #

maximum :: Ord a => MP1 m f a -> a #

minimum :: Ord a => MP1 m f a -> a #

sum :: Num a => MP1 m f a -> a #

product :: Num a => MP1 m f a -> a #

Traversable f => Traversable (MP1 m f) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

traverse :: Applicative f0 => (a -> f0 b) -> MP1 m f a -> f0 (MP1 m f b) #

sequenceA :: Applicative f0 => MP1 m f (f0 a) -> f0 (MP1 m f a) #

mapM :: Monad m0 => (a -> m0 b) -> MP1 m f a -> m0 (MP1 m f b) #

sequence :: Monad m0 => MP1 m f (m0 a) -> m0 (MP1 m f a) #

Contravariant f => Contravariant (MP1 m f) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

contramap :: (a' -> a) -> MP1 m f a -> MP1 m f a' #

(>$) :: b -> MP1 m f b -> MP1 m f a #

Eq1 f => Eq1 (MP1 m f) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

liftEq :: (a -> b -> Bool) -> MP1 m f a -> MP1 m f b -> Bool #

Ord1 f => Ord1 (MP1 m f) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

liftCompare :: (a -> b -> Ordering) -> MP1 m f a -> MP1 m f b -> Ordering #

Read1 f => Read1 (MP1 m f) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (MP1 m f a) #

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [MP1 m f a] #

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (MP1 m f a) #

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [MP1 m f a] #

Show1 f => Show1 (MP1 m f) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> MP1 m f a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [MP1 m f a] -> ShowS #

Alternative f => Alternative (MP1 m f) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

empty :: MP1 m f a #

(<|>) :: MP1 m f a -> MP1 m f a -> MP1 m f a #

some :: MP1 m f a -> MP1 m f [a] #

many :: MP1 m f a -> MP1 m f [a] #

MonadPlus f => MonadPlus (MP1 m f) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

mzero :: MP1 m f a #

mplus :: MP1 m f a -> MP1 m f a -> MP1 m f a #

Eq (f a) => Eq (MP1 m f a) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

(==) :: MP1 m f a -> MP1 m f a -> Bool #

(/=) :: MP1 m f a -> MP1 m f a -> Bool #

(Typeable m, Typeable f, Data a, Data (f a)) => Data (MP1 m f a) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MP1 m f a -> c (MP1 m f a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MP1 m f a) #

toConstr :: MP1 m f a -> Constr #

dataTypeOf :: MP1 m f a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (MP1 m f a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MP1 m f a)) #

gmapT :: (forall b. Data b => b -> b) -> MP1 m f a -> MP1 m f a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MP1 m f a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MP1 m f a -> r #

gmapQ :: (forall d. Data d => d -> u) -> MP1 m f a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MP1 m f a -> u #

gmapM :: Monad m0 => (forall d. Data d => d -> m0 d) -> MP1 m f a -> m0 (MP1 m f a) #

gmapMp :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> MP1 m f a -> m0 (MP1 m f a) #

gmapMo :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> MP1 m f a -> m0 (MP1 m f a) #

Ord (f a) => Ord (MP1 m f a) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

compare :: MP1 m f a -> MP1 m f a -> Ordering #

(<) :: MP1 m f a -> MP1 m f a -> Bool #

(<=) :: MP1 m f a -> MP1 m f a -> Bool #

(>) :: MP1 m f a -> MP1 m f a -> Bool #

(>=) :: MP1 m f a -> MP1 m f a -> Bool #

max :: MP1 m f a -> MP1 m f a -> MP1 m f a #

min :: MP1 m f a -> MP1 m f a -> MP1 m f a #

Read (f a) => Read (MP1 m f a) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

readsPrec :: Int -> ReadS (MP1 m f a) #

readList :: ReadS [MP1 m f a] #

readPrec :: ReadPrec (MP1 m f a) #

readListPrec :: ReadPrec [MP1 m f a] #

Show (f a) => Show (MP1 m f a) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

showsPrec :: Int -> MP1 m f a -> ShowS #

show :: MP1 m f a -> String #

showList :: [MP1 m f a] -> ShowS #

Generic (MP1 m f a) Source # 
Instance details

Defined in Generics.Linear.Class

Associated Types

type Rep (MP1 m f a) :: Type -> Type #

Methods

from :: MP1 m f a -> Rep (MP1 m f a) x #

to :: Rep (MP1 m f a) x -> MP1 m f a #

Semigroup (f a) => Semigroup (MP1 m f a) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

(<>) :: MP1 m f a -> MP1 m f a -> MP1 m f a #

sconcat :: NonEmpty (MP1 m f a) -> MP1 m f a #

stimes :: Integral b => b -> MP1 m f a -> MP1 m f a #

Monoid (f a) => Monoid (MP1 m f a) Source # 
Instance details

Defined in Generics.Linear.Class

Methods

mempty :: MP1 m f a #

mappend :: MP1 m f a -> MP1 m f a -> MP1 m f a #

mconcat :: [MP1 m f a] -> MP1 m f a #

Generic (MP1 m f a) Source # 
Instance details

Defined in Generics.Linear.Class

Associated Types

type Rep (MP1 m f a) :: Type -> Type Source #

Methods

to :: forall p (m0 :: Multiplicity). Rep (MP1 m f a) p -> MP1 m f a Source #

from :: forall p (m0 :: Multiplicity). MP1 m f a -> Rep (MP1 m f a) p Source #

type Rep1 (MP1 m f :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Class

type Rep1 (MP1 m f :: k -> Type) = D1 ('MetaData "MP1" "Generics.Linear.Class" "linear-generics-0.1.0.1-inplace" 'False) (C1 ('MetaCons "MP1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
type Rep1 (MP1 m f :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Class

type Rep1 (MP1 m f :: k -> Type)
type Rep (MP1 m f a) Source # 
Instance details

Defined in Generics.Linear.Class

type Rep (MP1 m f a) = D1 ('MetaData "MP1" "Generics.Linear.Class" "linear-generics-0.1.0.1-inplace" 'False) (C1 ('MetaCons "MP1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))
type Rep (MP1 m f a) Source # 
Instance details

Defined in Generics.Linear.Class

type Rep (MP1 m f a)

unMP1 :: MP1 m f a -> f a Source #

class Datatype (d :: k) where #

Class for datatypes that represent datatypes

Minimal complete definition

datatypeName, moduleName, packageName

Methods

datatypeName :: forall k1 t (f :: k1 -> Type) (a :: k1). t d f a -> [Char] #

The name of the datatype (unqualified)

moduleName :: forall k1 t (f :: k1 -> Type) (a :: k1). t d f a -> [Char] #

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

packageName :: forall k1 t (f :: k1 -> Type) (a :: k1). t d f a -> [Char] #

The package name of the module where the type is declared

Since: base-4.9.0.0

isNewtype :: forall k1 t (f :: k1 -> Type) (a :: k1). t d f a -> Bool #

Marks if the datatype is actually a newtype

Since: base-4.7.0.0

Instances

Instances details
(KnownSymbol n, KnownSymbol m, KnownSymbol p, SingI nt) => Datatype ('MetaData n m p nt :: Meta)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

datatypeName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> [Char] #

moduleName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> [Char] #

packageName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> [Char] #

isNewtype :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> Bool #

class Constructor (c :: k) where #

Class for datatypes that represent data constructors

Minimal complete definition

conName

Methods

conName :: forall k1 t (f :: k1 -> Type) (a :: k1). t c f a -> [Char] #

The name of the constructor

conFixity :: forall k1 t (f :: k1 -> Type) (a :: k1). t c f a -> Fixity #

The fixity of the constructor

conIsRecord :: forall k1 t (f :: k1 -> Type) (a :: k1). t c f a -> Bool #

Marks if this constructor is a record

Instances

Instances details
(KnownSymbol n, SingI f, SingI r) => Constructor ('MetaCons n f r :: Meta)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

conName :: forall k1 t (f0 :: k1 -> Type) (a :: k1). t ('MetaCons n f r) f0 a -> [Char] #

conFixity :: forall k1 t (f0 :: k1 -> Type) (a :: k1). t ('MetaCons n f r) f0 a -> Fixity #

conIsRecord :: forall k1 t (f0 :: k1 -> Type) (a :: k1). t ('MetaCons n f r) f0 a -> Bool #

class Selector (s :: k) where #

Class for datatypes that represent records

Methods

selName :: forall k1 t (f :: k1 -> Type) (a :: k1). t s f a -> [Char] #

The name of the selector

selSourceUnpackedness :: forall k1 t (f :: k1 -> Type) (a :: k1). t s f a -> SourceUnpackedness #

The selector's unpackedness annotation (if any)

Since: base-4.9.0.0

selSourceStrictness :: forall k1 t (f :: k1 -> Type) (a :: k1). t s f a -> SourceStrictness #

The selector's strictness annotation (if any)

Since: base-4.9.0.0

selDecidedStrictness :: forall k1 t (f :: k1 -> Type) (a :: k1). t s f a -> DecidedStrictness #

The strictness that the compiler inferred for the selector

Since: base-4.9.0.0

Instances

Instances details
(SingI mn, SingI su, SingI ss, SingI ds) => Selector ('MetaSel mn su ss ds :: Meta)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

selName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> [Char] #

selSourceUnpackedness :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> SourceUnpackedness #

selSourceStrictness :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> SourceStrictness #

selDecidedStrictness :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> DecidedStrictness #

data V1 (p :: k) #

Void: used for datatypes without constructors

Instances

Instances details
Generic1 (V1 :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 V1 :: k -> Type #

Methods

from1 :: forall (a :: k0). V1 a -> Rep1 V1 a #

to1 :: forall (a :: k0). Rep1 V1 a -> V1 a #

Generic1 (V1 :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 V1 :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 V1 p -> V1 p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). V1 p -> Rep1 V1 p Source #

Functor (V1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> V1 a -> V1 b #

(<$) :: a -> V1 b -> V1 a #

Foldable (V1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => V1 m -> m #

foldMap :: Monoid m => (a -> m) -> V1 a -> m #

foldMap' :: Monoid m => (a -> m) -> V1 a -> m #

foldr :: (a -> b -> b) -> b -> V1 a -> b #

foldr' :: (a -> b -> b) -> b -> V1 a -> b #

foldl :: (b -> a -> b) -> b -> V1 a -> b #

foldl' :: (b -> a -> b) -> b -> V1 a -> b #

foldr1 :: (a -> a -> a) -> V1 a -> a #

foldl1 :: (a -> a -> a) -> V1 a -> a #

toList :: V1 a -> [a] #

null :: V1 a -> Bool #

length :: V1 a -> Int #

elem :: Eq a => a -> V1 a -> Bool #

maximum :: Ord a => V1 a -> a #

minimum :: Ord a => V1 a -> a #

sum :: Num a => V1 a -> a #

product :: Num a => V1 a -> a #

Traversable (V1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> V1 a -> f (V1 b) #

sequenceA :: Applicative f => V1 (f a) -> f (V1 a) #

mapM :: Monad m => (a -> m b) -> V1 a -> m (V1 b) #

sequence :: Monad m => V1 (m a) -> m (V1 a) #

Contravariant (V1 :: Type -> Type) 
Instance details

Defined in Data.Functor.Contravariant

Methods

contramap :: (a' -> a) -> V1 a -> V1 a' #

(>$) :: b -> V1 b -> V1 a #

Eq (V1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: V1 p -> V1 p -> Bool #

(/=) :: V1 p -> V1 p -> Bool #

Data p => Data (V1 p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V1 p -> c (V1 p) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V1 p) #

toConstr :: V1 p -> Constr #

dataTypeOf :: V1 p -> DataType #

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

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

gmapT :: (forall b. Data b => b -> b) -> V1 p -> V1 p #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V1 p -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V1 p -> r #

gmapQ :: (forall d. Data d => d -> u) -> V1 p -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> V1 p -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) #

Ord (V1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: V1 p -> V1 p -> Ordering #

(<) :: V1 p -> V1 p -> Bool #

(<=) :: V1 p -> V1 p -> Bool #

(>) :: V1 p -> V1 p -> Bool #

(>=) :: V1 p -> V1 p -> Bool #

max :: V1 p -> V1 p -> V1 p #

min :: V1 p -> V1 p -> V1 p #

Read (V1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show (V1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

showsPrec :: Int -> V1 p -> ShowS #

show :: V1 p -> String #

showList :: [V1 p] -> ShowS #

Generic (V1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep (V1 p) :: Type -> Type #

Methods

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

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

Semigroup (V1 p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: V1 p -> V1 p -> V1 p #

sconcat :: NonEmpty (V1 p) -> V1 p #

stimes :: Integral b => b -> V1 p -> V1 p #

Generic (V1 p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (V1 p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (V1 p) p0 -> V1 p Source #

from :: forall p0 (m :: Multiplicity). V1 p -> Rep (V1 p) p0 Source #

type Rep1 (V1 :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (V1 :: k -> Type) = D1 ('MetaData "V1" "GHC.Generics" "base" 'False) (V1 :: k -> Type)
type Rep1 (V1 :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep1 (V1 :: k -> Type) = D1 ('MetaData "V1" "GHC.Generics" "base" 'False) (V1 :: k -> Type)
type Rep (V1 p) 
Instance details

Defined in GHC.Generics

type Rep (V1 p) = D1 ('MetaData "V1" "GHC.Generics" "base" 'False) (V1 :: Type -> Type)
type Rep (V1 p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep (V1 p) = D1 ('MetaData "V1" "GHC.Generics" "base" 'False) (V1 :: Type -> Type)

data U1 (p :: k) #

Unit: used for constructors without arguments

Constructors

U1 

Instances

Instances details
Generic1 (U1 :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 U1 :: k -> Type #

Methods

from1 :: forall (a :: k0). U1 a -> Rep1 U1 a #

to1 :: forall (a :: k0). Rep1 U1 a -> U1 a #

Generic1 (U1 :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 U1 :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 U1 p -> U1 p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). U1 p -> Rep1 U1 p Source #

Monad (U1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(>>=) :: U1 a -> (a -> U1 b) -> U1 b #

(>>) :: U1 a -> U1 b -> U1 b #

return :: a -> U1 a #

Functor (U1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> U1 a -> U1 b #

(<$) :: a -> U1 b -> U1 a #

Applicative (U1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

pure :: a -> U1 a #

(<*>) :: U1 (a -> b) -> U1 a -> U1 b #

liftA2 :: (a -> b -> c) -> U1 a -> U1 b -> U1 c #

(*>) :: U1 a -> U1 b -> U1 b #

(<*) :: U1 a -> U1 b -> U1 a #

Foldable (U1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => U1 m -> m #

foldMap :: Monoid m => (a -> m) -> U1 a -> m #

foldMap' :: Monoid m => (a -> m) -> U1 a -> m #

foldr :: (a -> b -> b) -> b -> U1 a -> b #

foldr' :: (a -> b -> b) -> b -> U1 a -> b #

foldl :: (b -> a -> b) -> b -> U1 a -> b #

foldl' :: (b -> a -> b) -> b -> U1 a -> b #

foldr1 :: (a -> a -> a) -> U1 a -> a #

foldl1 :: (a -> a -> a) -> U1 a -> a #

toList :: U1 a -> [a] #

null :: U1 a -> Bool #

length :: U1 a -> Int #

elem :: Eq a => a -> U1 a -> Bool #

maximum :: Ord a => U1 a -> a #

minimum :: Ord a => U1 a -> a #

sum :: Num a => U1 a -> a #

product :: Num a => U1 a -> a #

Traversable (U1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> U1 a -> f (U1 b) #

sequenceA :: Applicative f => U1 (f a) -> f (U1 a) #

mapM :: Monad m => (a -> m b) -> U1 a -> m (U1 b) #

sequence :: Monad m => U1 (m a) -> m (U1 a) #

Contravariant (U1 :: Type -> Type) 
Instance details

Defined in Data.Functor.Contravariant

Methods

contramap :: (a' -> a) -> U1 a -> U1 a' #

(>$) :: b -> U1 b -> U1 a #

Alternative (U1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

empty :: U1 a #

(<|>) :: U1 a -> U1 a -> U1 a #

some :: U1 a -> U1 [a] #

many :: U1 a -> U1 [a] #

MonadPlus (U1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

mzero :: U1 a #

mplus :: U1 a -> U1 a -> U1 a #

Eq (U1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: U1 p -> U1 p -> Bool #

(/=) :: U1 p -> U1 p -> Bool #

Data p => Data (U1 p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> U1 p -> c (U1 p) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (U1 p) #

toConstr :: U1 p -> Constr #

dataTypeOf :: U1 p -> DataType #

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

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

gmapT :: (forall b. Data b => b -> b) -> U1 p -> U1 p #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> U1 p -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> U1 p -> r #

gmapQ :: (forall d. Data d => d -> u) -> U1 p -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> U1 p -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) #

Ord (U1 p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: U1 p -> U1 p -> Ordering #

(<) :: U1 p -> U1 p -> Bool #

(<=) :: U1 p -> U1 p -> Bool #

(>) :: U1 p -> U1 p -> Bool #

(>=) :: U1 p -> U1 p -> Bool #

max :: U1 p -> U1 p -> U1 p #

min :: U1 p -> U1 p -> U1 p #

Read (U1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show (U1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

showsPrec :: Int -> U1 p -> ShowS #

show :: U1 p -> String #

showList :: [U1 p] -> ShowS #

Generic (U1 p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep (U1 p) :: Type -> Type #

Methods

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

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

Semigroup (U1 p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: U1 p -> U1 p -> U1 p #

sconcat :: NonEmpty (U1 p) -> U1 p #

stimes :: Integral b => b -> U1 p -> U1 p #

Monoid (U1 p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: U1 p #

mappend :: U1 p -> U1 p -> U1 p #

mconcat :: [U1 p] -> U1 p #

Generic (U1 p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (U1 p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (U1 p) p0 -> U1 p Source #

from :: forall p0 (m :: Multiplicity). U1 p -> Rep (U1 p) p0 Source #

type Rep1 (U1 :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (U1 :: k -> Type) = D1 ('MetaData "U1" "GHC.Generics" "base" 'False) (C1 ('MetaCons "U1" 'PrefixI 'False) (U1 :: k -> Type))
type Rep1 (U1 :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep1 (U1 :: k -> Type) = D1 ('MetaData "U1" "GHC.Generics" "base" 'False) (C1 ('MetaCons "U1" 'PrefixI 'False) (U1 :: k -> Type))
type Rep (U1 p) 
Instance details

Defined in GHC.Generics

type Rep (U1 p) = D1 ('MetaData "U1" "GHC.Generics" "base" 'False) (C1 ('MetaCons "U1" 'PrefixI 'False) (U1 :: Type -> Type))
type Rep (U1 p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep (U1 p) = D1 ('MetaData "U1" "GHC.Generics" "base" 'False) (C1 ('MetaCons "U1" 'PrefixI 'False) (U1 :: Type -> Type))

newtype Par1 p #

Used for marking occurrences of the parameter

Constructors

Par1 

Fields

Instances

Instances details
Monad Par1

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(>>=) :: Par1 a -> (a -> Par1 b) -> Par1 b #

(>>) :: Par1 a -> Par1 b -> Par1 b #

return :: a -> Par1 a #

Functor Par1

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> Par1 a -> Par1 b #

(<$) :: a -> Par1 b -> Par1 a #

Applicative Par1

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

pure :: a -> Par1 a #

(<*>) :: Par1 (a -> b) -> Par1 a -> Par1 b #

liftA2 :: (a -> b -> c) -> Par1 a -> Par1 b -> Par1 c #

(*>) :: Par1 a -> Par1 b -> Par1 b #

(<*) :: Par1 a -> Par1 b -> Par1 a #

Foldable Par1

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => Par1 m -> m #

foldMap :: Monoid m => (a -> m) -> Par1 a -> m #

foldMap' :: Monoid m => (a -> m) -> Par1 a -> m #

foldr :: (a -> b -> b) -> b -> Par1 a -> b #

foldr' :: (a -> b -> b) -> b -> Par1 a -> b #

foldl :: (b -> a -> b) -> b -> Par1 a -> b #

foldl' :: (b -> a -> b) -> b -> Par1 a -> b #

foldr1 :: (a -> a -> a) -> Par1 a -> a #

foldl1 :: (a -> a -> a) -> Par1 a -> a #

toList :: Par1 a -> [a] #

null :: Par1 a -> Bool #

length :: Par1 a -> Int #

elem :: Eq a => a -> Par1 a -> Bool #

maximum :: Ord a => Par1 a -> a #

minimum :: Ord a => Par1 a -> a #

sum :: Num a => Par1 a -> a #

product :: Num a => Par1 a -> a #

Traversable Par1

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> Par1 a -> f (Par1 b) #

sequenceA :: Applicative f => Par1 (f a) -> f (Par1 a) #

mapM :: Monad m => (a -> m b) -> Par1 a -> m (Par1 b) #

sequence :: Monad m => Par1 (m a) -> m (Par1 a) #

Generic1 Par1 Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 Par1 :: k -> Type Source #

Methods

to1 :: forall (p :: k) (m :: Multiplicity). Rep1 Par1 p -> Par1 p Source #

from1 :: forall (p :: k) (m :: Multiplicity). Par1 p -> Rep1 Par1 p Source #

Eq p => Eq (Par1 p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: Par1 p -> Par1 p -> Bool #

(/=) :: Par1 p -> Par1 p -> Bool #

Data p => Data (Par1 p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Par1 p -> c (Par1 p) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Par1 p) #

toConstr :: Par1 p -> Constr #

dataTypeOf :: Par1 p -> DataType #

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

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

gmapT :: (forall b. Data b => b -> b) -> Par1 p -> Par1 p #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Par1 p -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Par1 p -> r #

gmapQ :: (forall d. Data d => d -> u) -> Par1 p -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Par1 p -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Par1 p -> m (Par1 p) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Par1 p -> m (Par1 p) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Par1 p -> m (Par1 p) #

Ord p => Ord (Par1 p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: Par1 p -> Par1 p -> Ordering #

(<) :: Par1 p -> Par1 p -> Bool #

(<=) :: Par1 p -> Par1 p -> Bool #

(>) :: Par1 p -> Par1 p -> Bool #

(>=) :: Par1 p -> Par1 p -> Bool #

max :: Par1 p -> Par1 p -> Par1 p #

min :: Par1 p -> Par1 p -> Par1 p #

Read p => Read (Par1 p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Show p => Show (Par1 p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

showsPrec :: Int -> Par1 p -> ShowS #

show :: Par1 p -> String #

showList :: [Par1 p] -> ShowS #

Generic (Par1 p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep (Par1 p) :: Type -> Type #

Methods

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

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

Semigroup p => Semigroup (Par1 p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: Par1 p -> Par1 p -> Par1 p #

sconcat :: NonEmpty (Par1 p) -> Par1 p #

stimes :: Integral b => b -> Par1 p -> Par1 p #

Monoid p => Monoid (Par1 p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: Par1 p #

mappend :: Par1 p -> Par1 p -> Par1 p #

mconcat :: [Par1 p] -> Par1 p #

Generic (Par1 p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (Par1 p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (Par1 p) p0 -> Par1 p Source #

from :: forall p0 (m :: Multiplicity). Par1 p -> Rep (Par1 p) p0 Source #

Generic1 Par1

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 Par1 :: k -> Type #

Methods

from1 :: forall (a :: k). Par1 a -> Rep1 Par1 a #

to1 :: forall (a :: k). Rep1 Par1 a -> Par1 a #

type Rep1 Par1 Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep1 Par1 = D1 ('MetaData "Par1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "Par1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPar1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
type Rep (Par1 p) 
Instance details

Defined in GHC.Generics

type Rep (Par1 p) = D1 ('MetaData "Par1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "Par1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPar1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 p)))
type Rep (Par1 p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep (Par1 p) = D1 ('MetaData "Par1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "Par1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPar1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 p)))
type Rep1 Par1 
Instance details

Defined in GHC.Generics

type Rep1 Par1 = D1 ('MetaData "Par1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "Par1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPar1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

newtype K1 i c (p :: k) #

Constants, additional parameters and recursion of kind *

Constructors

K1 

Fields

Instances

Instances details
Generic1 (K1 i c :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 (K1 i c) :: k -> Type #

Methods

from1 :: forall (a :: k0). K1 i c a -> Rep1 (K1 i c) a #

to1 :: forall (a :: k0). Rep1 (K1 i c) a -> K1 i c a #

Generic1 (K1 i c :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (K1 i c) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (K1 i c) p -> K1 i c p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). K1 i c p -> Rep1 (K1 i c) p Source #

Functor (K1 i c :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> K1 i c a -> K1 i c b #

(<$) :: a -> K1 i c b -> K1 i c a #

Monoid c => Applicative (K1 i c :: Type -> Type)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

pure :: a -> K1 i c a #

(<*>) :: K1 i c (a -> b) -> K1 i c a -> K1 i c b #

liftA2 :: (a -> b -> c0) -> K1 i c a -> K1 i c b -> K1 i c c0 #

(*>) :: K1 i c a -> K1 i c b -> K1 i c b #

(<*) :: K1 i c a -> K1 i c b -> K1 i c a #

Foldable (K1 i c :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => K1 i c m -> m #

foldMap :: Monoid m => (a -> m) -> K1 i c a -> m #

foldMap' :: Monoid m => (a -> m) -> K1 i c a -> m #

foldr :: (a -> b -> b) -> b -> K1 i c a -> b #

foldr' :: (a -> b -> b) -> b -> K1 i c a -> b #

foldl :: (b -> a -> b) -> b -> K1 i c a -> b #

foldl' :: (b -> a -> b) -> b -> K1 i c a -> b #

foldr1 :: (a -> a -> a) -> K1 i c a -> a #

foldl1 :: (a -> a -> a) -> K1 i c a -> a #

toList :: K1 i c a -> [a] #

null :: K1 i c a -> Bool #

length :: K1 i c a -> Int #

elem :: Eq a => a -> K1 i c a -> Bool #

maximum :: Ord a => K1 i c a -> a #

minimum :: Ord a => K1 i c a -> a #

sum :: Num a => K1 i c a -> a #

product :: Num a => K1 i c a -> a #

Traversable (K1 i c :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> K1 i c a -> f (K1 i c b) #

sequenceA :: Applicative f => K1 i c (f a) -> f (K1 i c a) #

mapM :: Monad m => (a -> m b) -> K1 i c a -> m (K1 i c b) #

sequence :: Monad m => K1 i c (m a) -> m (K1 i c a) #

Contravariant (K1 i c :: Type -> Type) 
Instance details

Defined in Data.Functor.Contravariant

Methods

contramap :: (a' -> a) -> K1 i c a -> K1 i c a' #

(>$) :: b -> K1 i c b -> K1 i c a #

Eq c => Eq (K1 i c p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: K1 i c p -> K1 i c p -> Bool #

(/=) :: K1 i c p -> K1 i c p -> Bool #

(Typeable i, Data p, Data c) => Data (K1 i c p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> K1 i c p -> c0 (K1 i c p) #

gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (K1 i c p) #

toConstr :: K1 i c p -> Constr #

dataTypeOf :: K1 i c p -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (K1 i c p)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (K1 i c p)) #

gmapT :: (forall b. Data b => b -> b) -> K1 i c p -> K1 i c p #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> K1 i c p -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> K1 i c p -> r #

gmapQ :: (forall d. Data d => d -> u) -> K1 i c p -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> K1 i c p -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) #

Ord c => Ord (K1 i c p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: K1 i c p -> K1 i c p -> Ordering #

(<) :: K1 i c p -> K1 i c p -> Bool #

(<=) :: K1 i c p -> K1 i c p -> Bool #

(>) :: K1 i c p -> K1 i c p -> Bool #

(>=) :: K1 i c p -> K1 i c p -> Bool #

max :: K1 i c p -> K1 i c p -> K1 i c p #

min :: K1 i c p -> K1 i c p -> K1 i c p #

Read c => Read (K1 i c p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

readsPrec :: Int -> ReadS (K1 i c p) #

readList :: ReadS [K1 i c p] #

readPrec :: ReadPrec (K1 i c p) #

readListPrec :: ReadPrec [K1 i c p] #

Show c => Show (K1 i c p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

showsPrec :: Int -> K1 i c p -> ShowS #

show :: K1 i c p -> String #

showList :: [K1 i c p] -> ShowS #

Generic (K1 i c p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep (K1 i c p) :: Type -> Type #

Methods

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

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

Semigroup c => Semigroup (K1 i c p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: K1 i c p -> K1 i c p -> K1 i c p #

sconcat :: NonEmpty (K1 i c p) -> K1 i c p #

stimes :: Integral b => b -> K1 i c p -> K1 i c p #

Monoid c => Monoid (K1 i c p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: K1 i c p #

mappend :: K1 i c p -> K1 i c p -> K1 i c p #

mconcat :: [K1 i c p] -> K1 i c p #

Generic (K1 i c p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (K1 i c p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (K1 i c p) p0 -> K1 i c p Source #

from :: forall p0 (m :: Multiplicity). K1 i c p -> Rep (K1 i c p) p0 Source #

type Rep1 (K1 i c :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (K1 i c :: k -> Type) = D1 ('MetaData "K1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "K1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unK1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c)))
type Rep1 (K1 i c :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep1 (K1 i c :: k -> Type) = D1 ('MetaData "K1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "K1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unK1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c)))
type Rep (K1 i c p) 
Instance details

Defined in GHC.Generics

type Rep (K1 i c p) = D1 ('MetaData "K1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "K1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unK1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c)))
type Rep (K1 i c p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep (K1 i c p) = D1 ('MetaData "K1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "K1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unK1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c)))

newtype M1 i (c :: Meta) (f :: k -> Type) (p :: k) #

Meta-information (constructor names, etc.)

Constructors

M1 

Fields

Instances

Instances details
Generic1 (M1 i c f :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 (M1 i c f) :: k -> Type #

Methods

from1 :: forall (a :: k0). M1 i c f a -> Rep1 (M1 i c f) a #

to1 :: forall (a :: k0). Rep1 (M1 i c f) a -> M1 i c f a #

Generic1 (M1 i c f :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (M1 i c f) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (M1 i c f) p -> M1 i c f p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). M1 i c f p -> Rep1 (M1 i c f) p Source #

Monad f => Monad (M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(>>=) :: M1 i c f a -> (a -> M1 i c f b) -> M1 i c f b #

(>>) :: M1 i c f a -> M1 i c f b -> M1 i c f b #

return :: a -> M1 i c f a #

Functor f => Functor (M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> M1 i c f a -> M1 i c f b #

(<$) :: a -> M1 i c f b -> M1 i c f a #

Applicative f => Applicative (M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

pure :: a -> M1 i c f a #

(<*>) :: M1 i c f (a -> b) -> M1 i c f a -> M1 i c f b #

liftA2 :: (a -> b -> c0) -> M1 i c f a -> M1 i c f b -> M1 i c f c0 #

(*>) :: M1 i c f a -> M1 i c f b -> M1 i c f b #

(<*) :: M1 i c f a -> M1 i c f b -> M1 i c f a #

Foldable f => Foldable (M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => M1 i c f m -> m #

foldMap :: Monoid m => (a -> m) -> M1 i c f a -> m #

foldMap' :: Monoid m => (a -> m) -> M1 i c f a -> m #

foldr :: (a -> b -> b) -> b -> M1 i c f a -> b #

foldr' :: (a -> b -> b) -> b -> M1 i c f a -> b #

foldl :: (b -> a -> b) -> b -> M1 i c f a -> b #

foldl' :: (b -> a -> b) -> b -> M1 i c f a -> b #

foldr1 :: (a -> a -> a) -> M1 i c f a -> a #

foldl1 :: (a -> a -> a) -> M1 i c f a -> a #

toList :: M1 i c f a -> [a] #

null :: M1 i c f a -> Bool #

length :: M1 i c f a -> Int #

elem :: Eq a => a -> M1 i c f a -> Bool #

maximum :: Ord a => M1 i c f a -> a #

minimum :: Ord a => M1 i c f a -> a #

sum :: Num a => M1 i c f a -> a #

product :: Num a => M1 i c f a -> a #

Traversable f => Traversable (M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f0 => (a -> f0 b) -> M1 i c f a -> f0 (M1 i c f b) #

sequenceA :: Applicative f0 => M1 i c f (f0 a) -> f0 (M1 i c f a) #

mapM :: Monad m => (a -> m b) -> M1 i c f a -> m (M1 i c f b) #

sequence :: Monad m => M1 i c f (m a) -> m (M1 i c f a) #

Contravariant f => Contravariant (M1 i c f) 
Instance details

Defined in Data.Functor.Contravariant

Methods

contramap :: (a' -> a) -> M1 i c f a -> M1 i c f a' #

(>$) :: b -> M1 i c f b -> M1 i c f a #

Alternative f => Alternative (M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

empty :: M1 i c f a #

(<|>) :: M1 i c f a -> M1 i c f a -> M1 i c f a #

some :: M1 i c f a -> M1 i c f [a] #

many :: M1 i c f a -> M1 i c f [a] #

MonadPlus f => MonadPlus (M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

mzero :: M1 i c f a #

mplus :: M1 i c f a -> M1 i c f a -> M1 i c f a #

Eq (f p) => Eq (M1 i c f p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: M1 i c f p -> M1 i c f p -> Bool #

(/=) :: M1 i c f p -> M1 i c f p -> Bool #

(Data p, Data (f p), Typeable c, Typeable i, Typeable f) => Data (M1 i c f p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> M1 i c f p -> c0 (M1 i c f p) #

gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (M1 i c f p) #

toConstr :: M1 i c f p -> Constr #

dataTypeOf :: M1 i c f p -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (M1 i c f p)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (M1 i c f p)) #

gmapT :: (forall b. Data b => b -> b) -> M1 i c f p -> M1 i c f p #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> M1 i c f p -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> M1 i c f p -> r #

gmapQ :: (forall d. Data d => d -> u) -> M1 i c f p -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> M1 i c f p -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) #

Ord (f p) => Ord (M1 i c f p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: M1 i c f p -> M1 i c f p -> Ordering #

(<) :: M1 i c f p -> M1 i c f p -> Bool #

(<=) :: M1 i c f p -> M1 i c f p -> Bool #

(>) :: M1 i c f p -> M1 i c f p -> Bool #

(>=) :: M1 i c f p -> M1 i c f p -> Bool #

max :: M1 i c f p -> M1 i c f p -> M1 i c f p #

min :: M1 i c f p -> M1 i c f p -> M1 i c f p #

Read (f p) => Read (M1 i c f p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

readsPrec :: Int -> ReadS (M1 i c f p) #

readList :: ReadS [M1 i c f p] #

readPrec :: ReadPrec (M1 i c f p) #

readListPrec :: ReadPrec [M1 i c f p] #

Show (f p) => Show (M1 i c f p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

showsPrec :: Int -> M1 i c f p -> ShowS #

show :: M1 i c f p -> String #

showList :: [M1 i c f p] -> ShowS #

Generic (M1 i c f p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

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

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

Semigroup (f p) => Semigroup (M1 i c f p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: M1 i c f p -> M1 i c f p -> M1 i c f p #

sconcat :: NonEmpty (M1 i c f p) -> M1 i c f p #

stimes :: Integral b => b -> M1 i c f p -> M1 i c f p #

Monoid (f p) => Monoid (M1 i c f p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: M1 i c f p #

mappend :: M1 i c f p -> M1 i c f p -> M1 i c f p #

mconcat :: [M1 i c f p] -> M1 i c f p #

Generic (M1 i c f p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (M1 i c f p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (M1 i c f p) p0 -> M1 i c f p Source #

from :: forall p0 (m :: Multiplicity). M1 i c f p -> Rep (M1 i c f p) p0 Source #

type Rep1 (M1 i c f :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (M1 i c f :: k -> Type) = D1 ('MetaData "M1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "M1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unM1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
type Rep1 (M1 i c f :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep1 (M1 i c f :: k -> Type) = D1 ('MetaData "M1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "M1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unM1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Par1 :.: f)))
type Rep (M1 i c f p) 
Instance details

Defined in GHC.Generics

type Rep (M1 i c f p) = D1 ('MetaData "M1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "M1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unM1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f p))))
type Rep (M1 i c f p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep (M1 i c f p) = D1 ('MetaData "M1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "M1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unM1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f p))))

data ((f :: k -> Type) :+: (g :: k -> Type)) (p :: k) infixr 5 #

Sums: encode choice between constructors

Constructors

L1 (f p) 
R1 (g p) 

Instances

Instances details
Generic1 (f :+: g :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 (f :+: g) :: k -> Type #

Methods

from1 :: forall (a :: k0). (f :+: g) a -> Rep1 (f :+: g) a #

to1 :: forall (a :: k0). Rep1 (f :+: g) a -> (f :+: g) a #

Generic1 (f :+: g :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (f :+: g) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (f :+: g) p -> (f :+: g) p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). (f :+: g) p -> Rep1 (f :+: g) p Source #

(Functor f, Functor g) => Functor (f :+: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> (f :+: g) a -> (f :+: g) b #

(<$) :: a -> (f :+: g) b -> (f :+: g) a #

(Foldable f, Foldable g) => Foldable (f :+: g)

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => (f :+: g) m -> m #

foldMap :: Monoid m => (a -> m) -> (f :+: g) a -> m #

foldMap' :: Monoid m => (a -> m) -> (f :+: g) a -> m #

foldr :: (a -> b -> b) -> b -> (f :+: g) a -> b #

foldr' :: (a -> b -> b) -> b -> (f :+: g) a -> b #

foldl :: (b -> a -> b) -> b -> (f :+: g) a -> b #

foldl' :: (b -> a -> b) -> b -> (f :+: g) a -> b #

foldr1 :: (a -> a -> a) -> (f :+: g) a -> a #

foldl1 :: (a -> a -> a) -> (f :+: g) a -> a #

toList :: (f :+: g) a -> [a] #

null :: (f :+: g) a -> Bool #

length :: (f :+: g) a -> Int #

elem :: Eq a => a -> (f :+: g) a -> Bool #

maximum :: Ord a => (f :+: g) a -> a #

minimum :: Ord a => (f :+: g) a -> a #

sum :: Num a => (f :+: g) a -> a #

product :: Num a => (f :+: g) a -> a #

(Traversable f, Traversable g) => Traversable (f :+: g)

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f0 => (a -> f0 b) -> (f :+: g) a -> f0 ((f :+: g) b) #

sequenceA :: Applicative f0 => (f :+: g) (f0 a) -> f0 ((f :+: g) a) #

mapM :: Monad m => (a -> m b) -> (f :+: g) a -> m ((f :+: g) b) #

sequence :: Monad m => (f :+: g) (m a) -> m ((f :+: g) a) #

(Contravariant f, Contravariant g) => Contravariant (f :+: g) 
Instance details

Defined in Data.Functor.Contravariant

Methods

contramap :: (a' -> a) -> (f :+: g) a -> (f :+: g) a' #

(>$) :: b -> (f :+: g) b -> (f :+: g) a #

(Eq (f p), Eq (g p)) => Eq ((f :+: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: (f :+: g) p -> (f :+: g) p -> Bool #

(/=) :: (f :+: g) p -> (f :+: g) p -> Bool #

(Typeable f, Typeable g, Data p, Data (f p), Data (g p)) => Data ((f :+: g) p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :+: g) p -> c ((f :+: g) p) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :+: g) p) #

toConstr :: (f :+: g) p -> Constr #

dataTypeOf :: (f :+: g) p -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :+: g) p)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :+: g) p)) #

gmapT :: (forall b. Data b => b -> b) -> (f :+: g) p -> (f :+: g) p #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :+: g) p -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :+: g) p -> r #

gmapQ :: (forall d. Data d => d -> u) -> (f :+: g) p -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :+: g) p -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) #

(Ord (f p), Ord (g p)) => Ord ((f :+: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: (f :+: g) p -> (f :+: g) p -> Ordering #

(<) :: (f :+: g) p -> (f :+: g) p -> Bool #

(<=) :: (f :+: g) p -> (f :+: g) p -> Bool #

(>) :: (f :+: g) p -> (f :+: g) p -> Bool #

(>=) :: (f :+: g) p -> (f :+: g) p -> Bool #

max :: (f :+: g) p -> (f :+: g) p -> (f :+: g) p #

min :: (f :+: g) p -> (f :+: g) p -> (f :+: g) p #

(Read (f p), Read (g p)) => Read ((f :+: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

readsPrec :: Int -> ReadS ((f :+: g) p) #

readList :: ReadS [(f :+: g) p] #

readPrec :: ReadPrec ((f :+: g) p) #

readListPrec :: ReadPrec [(f :+: g) p] #

(Show (f p), Show (g p)) => Show ((f :+: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

showsPrec :: Int -> (f :+: g) p -> ShowS #

show :: (f :+: g) p -> String #

showList :: [(f :+: g) p] -> ShowS #

Generic ((f :+: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep ((f :+: g) p) :: Type -> Type #

Methods

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

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

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

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep ((f :+: g) p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep ((f :+: g) p) p0 -> (f :+: g) p Source #

from :: forall p0 (m :: Multiplicity). (f :+: g) p -> Rep ((f :+: g) p) p0 Source #

type Rep1 (f :+: g :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (f :+: g :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep ((f :+: g) p) 
Instance details

Defined in GHC.Generics

type Rep ((f :+: g) p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

data ((f :: k -> Type) :*: (g :: k -> Type)) (p :: k) infixr 6 #

Products: encode multiple arguments to constructors

Constructors

(f p) :*: (g p) infixr 6 

Instances

Instances details
Generic1 (f :*: g :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 (f :*: g) :: k -> Type #

Methods

from1 :: forall (a :: k0). (f :*: g) a -> Rep1 (f :*: g) a #

to1 :: forall (a :: k0). Rep1 (f :*: g) a -> (f :*: g) a #

Generic1 (f :*: g :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (f :*: g) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (f :*: g) p -> (f :*: g) p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). (f :*: g) p -> Rep1 (f :*: g) p Source #

(Monad f, Monad g) => Monad (f :*: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(>>=) :: (f :*: g) a -> (a -> (f :*: g) b) -> (f :*: g) b #

(>>) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) b #

return :: a -> (f :*: g) a #

(Functor f, Functor g) => Functor (f :*: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> (f :*: g) a -> (f :*: g) b #

(<$) :: a -> (f :*: g) b -> (f :*: g) a #

(Applicative f, Applicative g) => Applicative (f :*: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

pure :: a -> (f :*: g) a #

(<*>) :: (f :*: g) (a -> b) -> (f :*: g) a -> (f :*: g) b #

liftA2 :: (a -> b -> c) -> (f :*: g) a -> (f :*: g) b -> (f :*: g) c #

(*>) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) b #

(<*) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) a #

(Foldable f, Foldable g) => Foldable (f :*: g)

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => (f :*: g) m -> m #

foldMap :: Monoid m => (a -> m) -> (f :*: g) a -> m #

foldMap' :: Monoid m => (a -> m) -> (f :*: g) a -> m #

foldr :: (a -> b -> b) -> b -> (f :*: g) a -> b #

foldr' :: (a -> b -> b) -> b -> (f :*: g) a -> b #

foldl :: (b -> a -> b) -> b -> (f :*: g) a -> b #

foldl' :: (b -> a -> b) -> b -> (f :*: g) a -> b #

foldr1 :: (a -> a -> a) -> (f :*: g) a -> a #

foldl1 :: (a -> a -> a) -> (f :*: g) a -> a #

toList :: (f :*: g) a -> [a] #

null :: (f :*: g) a -> Bool #

length :: (f :*: g) a -> Int #

elem :: Eq a => a -> (f :*: g) a -> Bool #

maximum :: Ord a => (f :*: g) a -> a #

minimum :: Ord a => (f :*: g) a -> a #

sum :: Num a => (f :*: g) a -> a #

product :: Num a => (f :*: g) a -> a #

(Traversable f, Traversable g) => Traversable (f :*: g)

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f0 => (a -> f0 b) -> (f :*: g) a -> f0 ((f :*: g) b) #

sequenceA :: Applicative f0 => (f :*: g) (f0 a) -> f0 ((f :*: g) a) #

mapM :: Monad m => (a -> m b) -> (f :*: g) a -> m ((f :*: g) b) #

sequence :: Monad m => (f :*: g) (m a) -> m ((f :*: g) a) #

(Contravariant f, Contravariant g) => Contravariant (f :*: g) 
Instance details

Defined in Data.Functor.Contravariant

Methods

contramap :: (a' -> a) -> (f :*: g) a -> (f :*: g) a' #

(>$) :: b -> (f :*: g) b -> (f :*: g) a #

(Alternative f, Alternative g) => Alternative (f :*: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

empty :: (f :*: g) a #

(<|>) :: (f :*: g) a -> (f :*: g) a -> (f :*: g) a #

some :: (f :*: g) a -> (f :*: g) [a] #

many :: (f :*: g) a -> (f :*: g) [a] #

(MonadPlus f, MonadPlus g) => MonadPlus (f :*: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

mzero :: (f :*: g) a #

mplus :: (f :*: g) a -> (f :*: g) a -> (f :*: g) a #

(Eq (f p), Eq (g p)) => Eq ((f :*: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: (f :*: g) p -> (f :*: g) p -> Bool #

(/=) :: (f :*: g) p -> (f :*: g) p -> Bool #

(Typeable f, Typeable g, Data p, Data (f p), Data (g p)) => Data ((f :*: g) p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :*: g) p -> c ((f :*: g) p) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :*: g) p) #

toConstr :: (f :*: g) p -> Constr #

dataTypeOf :: (f :*: g) p -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :*: g) p)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :*: g) p)) #

gmapT :: (forall b. Data b => b -> b) -> (f :*: g) p -> (f :*: g) p #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :*: g) p -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :*: g) p -> r #

gmapQ :: (forall d. Data d => d -> u) -> (f :*: g) p -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :*: g) p -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) #

(Ord (f p), Ord (g p)) => Ord ((f :*: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: (f :*: g) p -> (f :*: g) p -> Ordering #

(<) :: (f :*: g) p -> (f :*: g) p -> Bool #

(<=) :: (f :*: g) p -> (f :*: g) p -> Bool #

(>) :: (f :*: g) p -> (f :*: g) p -> Bool #

(>=) :: (f :*: g) p -> (f :*: g) p -> Bool #

max :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p #

min :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p #

(Read (f p), Read (g p)) => Read ((f :*: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

readsPrec :: Int -> ReadS ((f :*: g) p) #

readList :: ReadS [(f :*: g) p] #

readPrec :: ReadPrec ((f :*: g) p) #

readListPrec :: ReadPrec [(f :*: g) p] #

(Show (f p), Show (g p)) => Show ((f :*: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

showsPrec :: Int -> (f :*: g) p -> ShowS #

show :: (f :*: g) p -> String #

showList :: [(f :*: g) p] -> ShowS #

Generic ((f :*: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep ((f :*: g) p) :: Type -> Type #

Methods

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

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

(Semigroup (f p), Semigroup (g p)) => Semigroup ((f :*: g) p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p #

sconcat :: NonEmpty ((f :*: g) p) -> (f :*: g) p #

stimes :: Integral b => b -> (f :*: g) p -> (f :*: g) p #

(Monoid (f p), Monoid (g p)) => Monoid ((f :*: g) p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: (f :*: g) p #

mappend :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p #

mconcat :: [(f :*: g) p] -> (f :*: g) p #

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

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep ((f :*: g) p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep ((f :*: g) p) p0 -> (f :*: g) p Source #

from :: forall p0 (m :: Multiplicity). (f :*: g) p -> Rep ((f :*: g) p) p0 Source #

type Rep1 (f :*: g :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (f :*: g :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep ((f :*: g) p) 
Instance details

Defined in GHC.Generics

type Rep ((f :*: g) p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

data R #

Tag for K1: recursion (of kind Type)

data D #

Tag for M1: datatype

data C #

Tag for M1: constructor

data S #

Tag for M1: record selector

type Rec0 = K1 R :: Type -> k -> Type #

Type synonym for encoding recursion (of kind Type)

type D1 = M1 D :: Meta -> (k -> Type) -> k -> Type #

Type synonym for encoding meta-information for datatypes

type C1 = M1 C :: Meta -> (k -> Type) -> k -> Type #

Type synonym for encoding meta-information for constructors

type S1 = M1 S :: Meta -> (k -> Type) -> k -> Type #

Type synonym for encoding meta-information for record selectors

data family URec a (p :: k) #

Constants of unlifted kinds

Since: base-4.9.0.0

Instances

Instances details
Generic1 (URec (Ptr ()) :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 (URec (Ptr ())) :: k -> Type #

Methods

from1 :: forall (a :: k0). URec (Ptr ()) a -> Rep1 (URec (Ptr ())) a #

to1 :: forall (a :: k0). Rep1 (URec (Ptr ())) a -> URec (Ptr ()) a #

Generic1 (URec Char :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 (URec Char) :: k -> Type #

Methods

from1 :: forall (a :: k0). URec Char a -> Rep1 (URec Char) a #

to1 :: forall (a :: k0). Rep1 (URec Char) a -> URec Char a #

Generic1 (URec Double :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 (URec Double) :: k -> Type #

Methods

from1 :: forall (a :: k0). URec Double a -> Rep1 (URec Double) a #

to1 :: forall (a :: k0). Rep1 (URec Double) a -> URec Double a #

Generic1 (URec Float :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 (URec Float) :: k -> Type #

Methods

from1 :: forall (a :: k0). URec Float a -> Rep1 (URec Float) a #

to1 :: forall (a :: k0). Rep1 (URec Float) a -> URec Float a #

Generic1 (URec Int :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 (URec Int) :: k -> Type #

Methods

from1 :: forall (a :: k0). URec Int a -> Rep1 (URec Int) a #

to1 :: forall (a :: k0). Rep1 (URec Int) a -> URec Int a #

Generic1 (URec Word :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 (URec Word) :: k -> Type #

Methods

from1 :: forall (a :: k0). URec Word a -> Rep1 (URec Word) a #

to1 :: forall (a :: k0). Rep1 (URec Word) a -> URec Word a #

Generic1 (URec Word :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (URec Word) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (URec Word) p -> URec Word p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). URec Word p -> Rep1 (URec Word) p Source #

Generic1 (URec Float :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (URec Float) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (URec Float) p -> URec Float p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). URec Float p -> Rep1 (URec Float) p Source #

Generic1 (URec Int :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (URec Int) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (URec Int) p -> URec Int p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). URec Int p -> Rep1 (URec Int) p Source #

Generic1 (URec Double :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (URec Double) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (URec Double) p -> URec Double p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). URec Double p -> Rep1 (URec Double) p Source #

Generic1 (URec Char :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (URec Char) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (URec Char) p -> URec Char p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). URec Char p -> Rep1 (URec Char) p Source #

Generic1 (URec (Ptr ()) :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep1 (URec (Ptr ())) :: k -> Type Source #

Methods

to1 :: forall (p :: k0) (m :: Multiplicity). Rep1 (URec (Ptr ())) p -> URec (Ptr ()) p Source #

from1 :: forall (p :: k0) (m :: Multiplicity). URec (Ptr ()) p -> Rep1 (URec (Ptr ())) p Source #

Foldable (UAddr :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => UAddr m -> m #

foldMap :: Monoid m => (a -> m) -> UAddr a -> m #

foldMap' :: Monoid m => (a -> m) -> UAddr a -> m #

foldr :: (a -> b -> b) -> b -> UAddr a -> b #

foldr' :: (a -> b -> b) -> b -> UAddr a -> b #

foldl :: (b -> a -> b) -> b -> UAddr a -> b #

foldl' :: (b -> a -> b) -> b -> UAddr a -> b #

foldr1 :: (a -> a -> a) -> UAddr a -> a #

foldl1 :: (a -> a -> a) -> UAddr a -> a #

toList :: UAddr a -> [a] #

null :: UAddr a -> Bool #

length :: UAddr a -> Int #

elem :: Eq a => a -> UAddr a -> Bool #

maximum :: Ord a => UAddr a -> a #

minimum :: Ord a => UAddr a -> a #

sum :: Num a => UAddr a -> a #

product :: Num a => UAddr a -> a #

Foldable (UChar :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => UChar m -> m #

foldMap :: Monoid m => (a -> m) -> UChar a -> m #

foldMap' :: Monoid m => (a -> m) -> UChar a -> m #

foldr :: (a -> b -> b) -> b -> UChar a -> b #

foldr' :: (a -> b -> b) -> b -> UChar a -> b #

foldl :: (b -> a -> b) -> b -> UChar a -> b #

foldl' :: (b -> a -> b) -> b -> UChar a -> b #

foldr1 :: (a -> a -> a) -> UChar a -> a #

foldl1 :: (a -> a -> a) -> UChar a -> a #

toList :: UChar a -> [a] #

null :: UChar a -> Bool #

length :: UChar a -> Int #

elem :: Eq a => a -> UChar a -> Bool #

maximum :: Ord a => UChar a -> a #

minimum :: Ord a => UChar a -> a #

sum :: Num a => UChar a -> a #

product :: Num a => UChar a -> a #

Foldable (UDouble :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => UDouble m -> m #

foldMap :: Monoid m => (a -> m) -> UDouble a -> m #

foldMap' :: Monoid m => (a -> m) -> UDouble a -> m #

foldr :: (a -> b -> b) -> b -> UDouble a -> b #

foldr' :: (a -> b -> b) -> b -> UDouble a -> b #

foldl :: (b -> a -> b) -> b -> UDouble a -> b #

foldl' :: (b -> a -> b) -> b -> UDouble a -> b #

foldr1 :: (a -> a -> a) -> UDouble a -> a #

foldl1 :: (a -> a -> a) -> UDouble a -> a #

toList :: UDouble a -> [a] #

null :: UDouble a -> Bool #

length :: UDouble a -> Int #

elem :: Eq a => a -> UDouble a -> Bool #

maximum :: Ord a => UDouble a -> a #

minimum :: Ord a => UDouble a -> a #

sum :: Num a => UDouble a -> a #

product :: Num a => UDouble a -> a #

Foldable (UFloat :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => UFloat m -> m #

foldMap :: Monoid m => (a -> m) -> UFloat a -> m #

foldMap' :: Monoid m => (a -> m) -> UFloat a -> m #

foldr :: (a -> b -> b) -> b -> UFloat a -> b #

foldr' :: (a -> b -> b) -> b -> UFloat a -> b #

foldl :: (b -> a -> b) -> b -> UFloat a -> b #

foldl' :: (b -> a -> b) -> b -> UFloat a -> b #

foldr1 :: (a -> a -> a) -> UFloat a -> a #

foldl1 :: (a -> a -> a) -> UFloat a -> a #

toList :: UFloat a -> [a] #

null :: UFloat a -> Bool #

length :: UFloat a -> Int #

elem :: Eq a => a -> UFloat a -> Bool #

maximum :: Ord a => UFloat a -> a #

minimum :: Ord a => UFloat a -> a #

sum :: Num a => UFloat a -> a #

product :: Num a => UFloat a -> a #

Foldable (UInt :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => UInt m -> m #

foldMap :: Monoid m => (a -> m) -> UInt a -> m #

foldMap' :: Monoid m => (a -> m) -> UInt a -> m #

foldr :: (a -> b -> b) -> b -> UInt a -> b #

foldr' :: (a -> b -> b) -> b -> UInt a -> b #

foldl :: (b -> a -> b) -> b -> UInt a -> b #

foldl' :: (b -> a -> b) -> b -> UInt a -> b #

foldr1 :: (a -> a -> a) -> UInt a -> a #

foldl1 :: (a -> a -> a) -> UInt a -> a #

toList :: UInt a -> [a] #

null :: UInt a -> Bool #

length :: UInt a -> Int #

elem :: Eq a => a -> UInt a -> Bool #

maximum :: Ord a => UInt a -> a #

minimum :: Ord a => UInt a -> a #

sum :: Num a => UInt a -> a #

product :: Num a => UInt a -> a #

Foldable (UWord :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => UWord m -> m #

foldMap :: Monoid m => (a -> m) -> UWord a -> m #

foldMap' :: Monoid m => (a -> m) -> UWord a -> m #

foldr :: (a -> b -> b) -> b -> UWord a -> b #

foldr' :: (a -> b -> b) -> b -> UWord a -> b #

foldl :: (b -> a -> b) -> b -> UWord a -> b #

foldl' :: (b -> a -> b) -> b -> UWord a -> b #

foldr1 :: (a -> a -> a) -> UWord a -> a #

foldl1 :: (a -> a -> a) -> UWord a -> a #

toList :: UWord a -> [a] #

null :: UWord a -> Bool #

length :: UWord a -> Int #

elem :: Eq a => a -> UWord a -> Bool #

maximum :: Ord a => UWord a -> a #

minimum :: Ord a => UWord a -> a #

sum :: Num a => UWord a -> a #

product :: Num a => UWord a -> a #

Traversable (UAddr :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> UAddr a -> f (UAddr b) #

sequenceA :: Applicative f => UAddr (f a) -> f (UAddr a) #

mapM :: Monad m => (a -> m b) -> UAddr a -> m (UAddr b) #

sequence :: Monad m => UAddr (m a) -> m (UAddr a) #

Traversable (UChar :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> UChar a -> f (UChar b) #

sequenceA :: Applicative f => UChar (f a) -> f (UChar a) #

mapM :: Monad m => (a -> m b) -> UChar a -> m (UChar b) #

sequence :: Monad m => UChar (m a) -> m (UChar a) #

Traversable (UDouble :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> UDouble a -> f (UDouble b) #

sequenceA :: Applicative f => UDouble (f a) -> f (UDouble a) #

mapM :: Monad m => (a -> m b) -> UDouble a -> m (UDouble b) #

sequence :: Monad m => UDouble (m a) -> m (UDouble a) #

Traversable (UFloat :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> UFloat a -> f (UFloat b) #

sequenceA :: Applicative f => UFloat (f a) -> f (UFloat a) #

mapM :: Monad m => (a -> m b) -> UFloat a -> m (UFloat b) #

sequence :: Monad m => UFloat (m a) -> m (UFloat a) #

Traversable (UInt :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> UInt a -> f (UInt b) #

sequenceA :: Applicative f => UInt (f a) -> f (UInt a) #

mapM :: Monad m => (a -> m b) -> UInt a -> m (UInt b) #

sequence :: Monad m => UInt (m a) -> m (UInt a) #

Traversable (UWord :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> UWord a -> f (UWord b) #

sequenceA :: Applicative f => UWord (f a) -> f (UWord a) #

mapM :: Monad m => (a -> m b) -> UWord a -> m (UWord b) #

sequence :: Monad m => UWord (m a) -> m (UWord a) #

Functor (URec Char :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec Char a -> URec Char b #

(<$) :: a -> URec Char b -> URec Char a #

Functor (URec Double :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec Double a -> URec Double b #

(<$) :: a -> URec Double b -> URec Double a #

Functor (URec Float :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec Float a -> URec Float b #

(<$) :: a -> URec Float b -> URec Float a #

Functor (URec Int :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec Int a -> URec Int b #

(<$) :: a -> URec Int b -> URec Int a #

Functor (URec Word :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec Word a -> URec Word b #

(<$) :: a -> URec Word b -> URec Word a #

Functor (URec (Ptr ()) :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec (Ptr ()) a -> URec (Ptr ()) b #

(<$) :: a -> URec (Ptr ()) b -> URec (Ptr ()) a #

Eq (URec (Ptr ()) p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool #

(/=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool #

Eq (URec Char p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: URec Char p -> URec Char p -> Bool #

(/=) :: URec Char p -> URec Char p -> Bool #

Eq (URec Double p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: URec Double p -> URec Double p -> Bool #

(/=) :: URec Double p -> URec Double p -> Bool #

Eq (URec Float p) 
Instance details

Defined in GHC.Generics

Methods

(==) :: URec Float p -> URec Float p -> Bool #

(/=) :: URec Float p -> URec Float p -> Bool #

Eq (URec Int p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: URec Int p -> URec Int p -> Bool #

(/=) :: URec Int p -> URec Int p -> Bool #

Eq (URec Word p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: URec Word p -> URec Word p -> Bool #

(/=) :: URec Word p -> URec Word p -> Bool #

Ord (URec (Ptr ()) p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: URec (Ptr ()) p -> URec (Ptr ()) p -> Ordering #

(<) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool #

(<=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool #

(>) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool #

(>=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool #

max :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p #

min :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p #

Ord (URec Char p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: URec Char p -> URec Char p -> Ordering #

(<) :: URec Char p -> URec Char p -> Bool #

(<=) :: URec Char p -> URec Char p -> Bool #

(>) :: URec Char p -> URec Char p -> Bool #

(>=) :: URec Char p -> URec Char p -> Bool #

max :: URec Char p -> URec Char p -> URec Char p #

min :: URec Char p -> URec Char p -> URec Char p #

Ord (URec Double p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: URec Double p -> URec Double p -> Ordering #

(<) :: URec Double p -> URec Double p -> Bool #

(<=) :: URec Double p -> URec Double p -> Bool #

(>) :: URec Double p -> URec Double p -> Bool #

(>=) :: URec Double p -> URec Double p -> Bool #

max :: URec Double p -> URec Double p -> URec Double p #

min :: URec Double p -> URec Double p -> URec Double p #

Ord (URec Float p) 
Instance details

Defined in GHC.Generics

Methods

compare :: URec Float p -> URec Float p -> Ordering #

(<) :: URec Float p -> URec Float p -> Bool #

(<=) :: URec Float p -> URec Float p -> Bool #

(>) :: URec Float p -> URec Float p -> Bool #

(>=) :: URec Float p -> URec Float p -> Bool #

max :: URec Float p -> URec Float p -> URec Float p #

min :: URec Float p -> URec Float p -> URec Float p #

Ord (URec Int p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: URec Int p -> URec Int p -> Ordering #

(<) :: URec Int p -> URec Int p -> Bool #

(<=) :: URec Int p -> URec Int p -> Bool #

(>) :: URec Int p -> URec Int p -> Bool #

(>=) :: URec Int p -> URec Int p -> Bool #

max :: URec Int p -> URec Int p -> URec Int p #

min :: URec Int p -> URec Int p -> URec Int p #

Ord (URec Word p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: URec Word p -> URec Word p -> Ordering #

(<) :: URec Word p -> URec Word p -> Bool #

(<=) :: URec Word p -> URec Word p -> Bool #

(>) :: URec Word p -> URec Word p -> Bool #

(>=) :: URec Word p -> URec Word p -> Bool #

max :: URec Word p -> URec Word p -> URec Word p #

min :: URec Word p -> URec Word p -> URec Word p #

Show (URec Char p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

showsPrec :: Int -> URec Char p -> ShowS #

show :: URec Char p -> String #

showList :: [URec Char p] -> ShowS #

Show (URec Double p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

showsPrec :: Int -> URec Double p -> ShowS #

show :: URec Double p -> String #

showList :: [URec Double p] -> ShowS #

Show (URec Float p) 
Instance details

Defined in GHC.Generics

Methods

showsPrec :: Int -> URec Float p -> ShowS #

show :: URec Float p -> String #

showList :: [URec Float p] -> ShowS #

Show (URec Int p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

showsPrec :: Int -> URec Int p -> ShowS #

show :: URec Int p -> String #

showList :: [URec Int p] -> ShowS #

Show (URec Word p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

showsPrec :: Int -> URec Word p -> ShowS #

show :: URec Word p -> String #

showList :: [URec Word p] -> ShowS #

Generic (URec (Ptr ()) p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec (Ptr ()) p) :: Type -> Type #

Methods

from :: URec (Ptr ()) p -> Rep (URec (Ptr ()) p) x #

to :: Rep (URec (Ptr ()) p) x -> URec (Ptr ()) p #

Generic (URec Char p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec Char p) :: Type -> Type #

Methods

from :: URec Char p -> Rep (URec Char p) x #

to :: Rep (URec Char p) x -> URec Char p #

Generic (URec Double p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec Double p) :: Type -> Type #

Methods

from :: URec Double p -> Rep (URec Double p) x #

to :: Rep (URec Double p) x -> URec Double p #

Generic (URec Float p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec Float p) :: Type -> Type #

Methods

from :: URec Float p -> Rep (URec Float p) x #

to :: Rep (URec Float p) x -> URec Float p #

Generic (URec Int p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec Int p) :: Type -> Type #

Methods

from :: URec Int p -> Rep (URec Int p) x #

to :: Rep (URec Int p) x -> URec Int p #

Generic (URec Word p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec Word p) :: Type -> Type #

Methods

from :: URec Word p -> Rep (URec Word p) x #

to :: Rep (URec Word p) x -> URec Word p #

Generic (URec Word p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (URec Word p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (URec Word p) p0 -> URec Word p Source #

from :: forall p0 (m :: Multiplicity). URec Word p -> Rep (URec Word p) p0 Source #

Generic (URec Float p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (URec Float p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (URec Float p) p0 -> URec Float p Source #

from :: forall p0 (m :: Multiplicity). URec Float p -> Rep (URec Float p) p0 Source #

Generic (URec Int p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (URec Int p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (URec Int p) p0 -> URec Int p Source #

from :: forall p0 (m :: Multiplicity). URec Int p -> Rep (URec Int p) p0 Source #

Generic (URec Double p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (URec Double p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (URec Double p) p0 -> URec Double p Source #

from :: forall p0 (m :: Multiplicity). URec Double p -> Rep (URec Double p) p0 Source #

Generic (URec Char p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (URec Char p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (URec Char p) p0 -> URec Char p Source #

from :: forall p0 (m :: Multiplicity). URec Char p -> Rep (URec Char p) p0 Source #

Generic (URec (Ptr ()) p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep (URec (Ptr ()) p) :: Type -> Type Source #

Methods

to :: forall p0 (m :: Multiplicity). Rep (URec (Ptr ()) p) p0 -> URec (Ptr ()) p Source #

from :: forall p0 (m :: Multiplicity). URec (Ptr ()) p -> Rep (URec (Ptr ()) p) p0 Source #

data URec Word (p :: k)

Used for marking occurrences of Word#

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

data URec Word (p :: k) = UWord {}
data URec Float (p :: k)

Used for marking occurrences of Float#

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

data URec Float (p :: k) = UFloat {}
data URec Int (p :: k)

Used for marking occurrences of Int#

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

data URec Int (p :: k) = UInt {}
data URec Double (p :: k)

Used for marking occurrences of Double#

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

data URec Double (p :: k) = UDouble {}
data URec Char (p :: k)

Used for marking occurrences of Char#

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

data URec Char (p :: k) = UChar {}
data URec (Ptr ()) (p :: k)

Used for marking occurrences of Addr#

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

data URec (Ptr ()) (p :: k) = UAddr {}
type Rep1 (URec Word :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (URec Word :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UWord" 'PrefixI 'True) (S1 ('MetaSel ('Just "uWord#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UWord :: k -> Type)))
type Rep1 (URec Int :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (URec Int :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UInt" 'PrefixI 'True) (S1 ('MetaSel ('Just "uInt#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UInt :: k -> Type)))
type Rep1 (URec Float :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (URec Float :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UFloat :: k -> Type)))
type Rep1 (URec Double :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (URec Double :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UDouble :: k -> Type)))
type Rep1 (URec Char :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (URec Char :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "uChar#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UChar :: k -> Type)))
type Rep1 (URec (Ptr ()) :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (URec (Ptr ()) :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: k -> Type)))
type Rep1 (URec (Ptr ()) :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep1 (URec (Ptr ()) :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: k -> Type)))
type Rep1 (URec Char :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep1 (URec Char :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "uChar#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UChar :: k -> Type)))
type Rep1 (URec Double :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep1 (URec Double :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UDouble :: k -> Type)))
type Rep1 (URec Float :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep1 (URec Float :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UFloat :: k -> Type)))
type Rep1 (URec Int :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep1 (URec Int :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UInt" 'PrefixI 'True) (S1 ('MetaSel ('Just "uInt#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UInt :: k -> Type)))
type Rep1 (URec Word :: k -> Type) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep1 (URec Word :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UWord" 'PrefixI 'True) (S1 ('MetaSel ('Just "uWord#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UWord :: k -> Type)))
type Rep (URec Word p) 
Instance details

Defined in GHC.Generics

type Rep (URec Word p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UWord" 'PrefixI 'True) (S1 ('MetaSel ('Just "uWord#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UWord :: Type -> Type)))
type Rep (URec Int p) 
Instance details

Defined in GHC.Generics

type Rep (URec Int p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UInt" 'PrefixI 'True) (S1 ('MetaSel ('Just "uInt#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UInt :: Type -> Type)))
type Rep (URec Float p) 
Instance details

Defined in GHC.Generics

type Rep (URec Float p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UFloat :: Type -> Type)))
type Rep (URec Double p) 
Instance details

Defined in GHC.Generics

type Rep (URec Double p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UDouble :: Type -> Type)))
type Rep (URec Char p) 
Instance details

Defined in GHC.Generics

type Rep (URec Char p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "uChar#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UChar :: Type -> Type)))
type Rep (URec (Ptr ()) p) 
Instance details

Defined in GHC.Generics

type Rep (URec (Ptr ()) p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: Type -> Type)))
type Rep (URec (Ptr ()) p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep (URec (Ptr ()) p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: Type -> Type)))
type Rep (URec Char p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep (URec Char p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "uChar#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UChar :: Type -> Type)))
type Rep (URec Double p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep (URec Double p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UDouble :: Type -> Type)))
type Rep (URec Float p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep (URec Float p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UFloat :: Type -> Type)))
type Rep (URec Int p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep (URec Int p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UInt" 'PrefixI 'True) (S1 ('MetaSel ('Just "uInt#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UInt :: Type -> Type)))
type Rep (URec Word p) Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep (URec Word p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UWord" 'PrefixI 'True) (S1 ('MetaSel ('Just "uWord#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UWord :: Type -> Type)))

type UAddr = URec (Ptr ()) :: k -> Type #

Type synonym for URec Addr#

Since: base-4.9.0.0

type UChar = URec Char :: k -> Type #

Type synonym for URec Char#

Since: base-4.9.0.0

type UDouble = URec Double :: k -> Type #

Type synonym for URec Double#

Since: base-4.9.0.0

type UFloat = URec Float :: k -> Type #

Type synonym for URec Float#

Since: base-4.9.0.0

type UInt = URec Int :: k -> Type #

Type synonym for URec Int#

Since: base-4.9.0.0

type UWord = URec Word :: k -> Type #

Type synonym for URec Word#

Since: base-4.9.0.0

prec :: Fixity -> Int #

Get the precedence of a fixity value.

data Fixity #

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

Constructors

Prefix 
Infix Associativity Int 

Instances

Instances details
Eq Fixity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: Fixity -> Fixity -> Bool #

(/=) :: Fixity -> Fixity -> Bool #

Data Fixity

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Fixity -> c Fixity #

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

toConstr :: Fixity -> Constr #

dataTypeOf :: Fixity -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord Fixity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Read Fixity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Show Fixity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Generic Fixity

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep Fixity :: Type -> Type #

Methods

from :: Fixity -> Rep Fixity x #

to :: Rep Fixity x -> Fixity #

Generic Fixity Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep Fixity :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Fixity p -> Fixity Source #

from :: forall p (m :: Multiplicity). Fixity -> Rep Fixity p Source #

type Rep Fixity 
Instance details

Defined in GHC.Generics

type Rep Fixity Source # 
Instance details

Defined in Generics.Linear.Instances.Base

data FixityI #

This variant of Fixity appears at the type level.

Since: base-4.9.0.0

Instances

Instances details
SingKind FixityI

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type DemoteRep FixityI

Methods

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

SingI 'PrefixI

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'PrefixI

(SingI a, KnownNat n) => SingI ('InfixI a n :: FixityI)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing ('InfixI a n)

type DemoteRep FixityI 
Instance details

Defined in GHC.Generics

type DemoteRep FixityI = Fixity
data Sing (a :: FixityI) 
Instance details

Defined in GHC.Generics

data Sing (a :: FixityI) where

data Associativity #

Datatype to represent the associativity of a constructor

Instances

Instances details
Bounded Associativity

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Enum Associativity

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq Associativity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Data Associativity

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Associativity -> c Associativity #

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

toConstr :: Associativity -> Constr #

dataTypeOf :: Associativity -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord Associativity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Read Associativity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Show Associativity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Ix Associativity

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Generic Associativity

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep Associativity :: Type -> Type #

SingKind Associativity

Since: base-4.0.0.0

Instance details

Defined in GHC.Generics

Associated Types

type DemoteRep Associativity

Methods

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

Generic Associativity Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep Associativity :: Type -> Type Source #

Methods

to :: forall p (m :: Multiplicity). Rep Associativity p -> Associativity Source #

from :: forall p (m :: Multiplicity). Associativity -> Rep Associativity p Source #

SingI 'LeftAssociative

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'LeftAssociative

SingI 'RightAssociative

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'RightAssociative

SingI 'NotAssociative

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'NotAssociative

type Rep Associativity 
Instance details

Defined in GHC.Generics

type Rep Associativity = D1 ('MetaData "Associativity" "GHC.Generics" "base" 'False) (C1 ('MetaCons "LeftAssociative" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RightAssociative" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotAssociative" 'PrefixI 'False) (U1 :: Type -> Type)))
type DemoteRep Associativity 
Instance details

Defined in GHC.Generics

type DemoteRep Associativity = Associativity
data Sing (a :: Associativity) 
Instance details

Defined in GHC.Generics

type Rep Associativity Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep Associativity = D1 ('MetaData "Associativity" "GHC.Generics" "base" 'False) (C1 ('MetaCons "LeftAssociative" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RightAssociative" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotAssociative" 'PrefixI 'False) (U1 :: Type -> Type)))

data 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.

Since: base-4.9.0.0

Instances

Instances details
Bounded SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Enum SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Data SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceUnpackedness -> c SourceUnpackedness #

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

toConstr :: SourceUnpackedness -> Constr #

dataTypeOf :: SourceUnpackedness -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Read SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ix SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Generic SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep SourceUnpackedness :: Type -> Type #

SingKind SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type DemoteRep SourceUnpackedness

Methods

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

Generic SourceUnpackedness Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep SourceUnpackedness :: Type -> Type Source #

SingI 'SourceUnpack

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'SourceUnpack

SingI 'SourceNoUnpack

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'SourceNoUnpack

SingI 'NoSourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'NoSourceUnpackedness

type Rep SourceUnpackedness 
Instance details

Defined in GHC.Generics

type Rep SourceUnpackedness = D1 ('MetaData "SourceUnpackedness" "GHC.Generics" "base" 'False) (C1 ('MetaCons "NoSourceUnpackedness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceNoUnpack" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))
type DemoteRep SourceUnpackedness 
Instance details

Defined in GHC.Generics

data Sing (a :: SourceUnpackedness) 
Instance details

Defined in GHC.Generics

type Rep SourceUnpackedness Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep SourceUnpackedness = D1 ('MetaData "SourceUnpackedness" "GHC.Generics" "base" 'False) (C1 ('MetaCons "NoSourceUnpackedness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceNoUnpack" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))

data 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.

Since: base-4.9.0.0

Instances

Instances details
Bounded SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Enum SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Data SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceStrictness -> c SourceStrictness #

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

toConstr :: SourceStrictness -> Constr #

dataTypeOf :: SourceStrictness -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Read SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ix SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Generic SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep SourceStrictness :: Type -> Type #

SingKind SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type DemoteRep SourceStrictness

Methods

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

Generic SourceStrictness Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep SourceStrictness :: Type -> Type Source #

SingI 'SourceLazy

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'SourceLazy

SingI 'SourceStrict

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'SourceStrict

SingI 'NoSourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'NoSourceStrictness

type Rep SourceStrictness 
Instance details

Defined in GHC.Generics

type Rep SourceStrictness = D1 ('MetaData "SourceStrictness" "GHC.Generics" "base" 'False) (C1 ('MetaCons "NoSourceStrictness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceStrict" 'PrefixI 'False) (U1 :: Type -> Type)))
type DemoteRep SourceStrictness 
Instance details

Defined in GHC.Generics

data Sing (a :: SourceStrictness) 
Instance details

Defined in GHC.Generics

type Rep SourceStrictness Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep SourceStrictness = D1 ('MetaData "SourceStrictness" "GHC.Generics" "base" 'False) (C1 ('MetaCons "NoSourceStrictness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceStrict" 'PrefixI 'False) (U1 :: Type -> Type)))

data 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

Since: base-4.9.0.0

Instances

Instances details
Bounded DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Enum DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Data DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DecidedStrictness -> c DecidedStrictness #

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

toConstr :: DecidedStrictness -> Constr #

dataTypeOf :: DecidedStrictness -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Read DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ix DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Generic DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep DecidedStrictness :: Type -> Type #

SingKind DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type DemoteRep DecidedStrictness

Methods

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

Generic DecidedStrictness Source # 
Instance details

Defined in Generics.Linear.Instances.Base

Associated Types

type Rep DecidedStrictness :: Type -> Type Source #

SingI 'DecidedLazy

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'DecidedLazy

SingI 'DecidedStrict

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'DecidedStrict

SingI 'DecidedUnpack

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'DecidedUnpack

type Rep DecidedStrictness 
Instance details

Defined in GHC.Generics

type Rep DecidedStrictness = D1 ('MetaData "DecidedStrictness" "GHC.Generics" "base" 'False) (C1 ('MetaCons "DecidedLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DecidedStrict" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DecidedUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))
type DemoteRep DecidedStrictness 
Instance details

Defined in GHC.Generics

data Sing (a :: DecidedStrictness) 
Instance details

Defined in GHC.Generics

type Rep DecidedStrictness Source # 
Instance details

Defined in Generics.Linear.Instances.Base

type Rep DecidedStrictness = D1 ('MetaData "DecidedStrictness" "GHC.Generics" "base" 'False) (C1 ('MetaCons "DecidedLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DecidedStrict" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DecidedUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))

data 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.

Since: base-4.9.0.0

Instances

Instances details
(KnownSymbol n, SingI f, SingI r) => Constructor ('MetaCons n f r :: Meta)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

conName :: forall k1 t (f0 :: k1 -> Type) (a :: k1). t ('MetaCons n f r) f0 a -> [Char] #

conFixity :: forall k1 t (f0 :: k1 -> Type) (a :: k1). t ('MetaCons n f r) f0 a -> Fixity #

conIsRecord :: forall k1 t (f0 :: k1 -> Type) (a :: k1). t ('MetaCons n f r) f0 a -> Bool #

(KnownSymbol n, KnownSymbol m, KnownSymbol p, SingI nt) => Datatype ('MetaData n m p nt :: Meta)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

datatypeName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> [Char] #

moduleName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> [Char] #

packageName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> [Char] #

isNewtype :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> Bool #

(SingI mn, SingI su, SingI ss, SingI ds) => Selector ('MetaSel mn su ss ds :: Meta)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

selName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> [Char] #

selSourceUnpackedness :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> SourceUnpackedness #

selSourceStrictness :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> SourceStrictness #

selDecidedStrictness :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> DecidedStrictness #