Movatterモバイル変換


[0]ホーム

URL:


base-4.12.0.0: Basic libraries

Copyright(c) Universiteit Utrecht 2010-2011 University of Oxford 2012-2014
Licensesee libraries/base/LICENSE
Maintainerlibraries@haskell.org
Stabilityinternal
Portabilitynon-portable
Safe HaskellTrustworthy
LanguageHaskell2010

GHC.Generics

Contents

Description

If you're usingGHC.Generics, you should consider using thehttp://hackage.haskell.org/package/generic-deriving package, which contains many useful generic functions.

Since: 4.6.0.0

Synopsis

Introduction

Datatype-generic functions are based on the idea of converting values of a datatypeT into corresponding values of a (nearly) isomorphic typeRep T. The typeRep T is built from a limited set of type constructors, all provided by this module. A datatype-generic function is then an overloaded function with instances for most of these type constructors, together with a wrapper that performs the mapping betweenT andRep T. By using this technique, we merely need a few generic instances in order to implement functionality that works for any representable type.

Representable types are collected in theGeneric class, which defines the associated typeRep as well as conversion functionsfrom andto. Typically, you will not defineGeneric instances by hand, but have the compiler derive them for you.

Representing datatypes

The key to defining your own datatype-generic functions is to understand how to represent datatypes using the given set of type constructors.

Let us look at an example first:

data Tree a = Leaf a | Node (Tree a) (Tree a)  derivingGeneric

The above declaration (which requires the language pragmaDeriveGeneric) causes the following representation to be generated:

instanceGeneric (Tree a) where  typeRep (Tree a) =D1 ('MetaData "Tree" "Main" "package-name" 'False)      (C1 ('MetaCons "Leaf" 'PrefixI 'False)         (S1 ('MetaSel 'Nothing                         'NoSourceUnpackedness                         'NoSourceStrictness                         'DecidedLazy)                (Rec0 a)):+:C1 ('MetaCons "Node" 'PrefixI 'False)         (S1 ('MetaSel 'Nothing                         'NoSourceUnpackedness                         'NoSourceStrictness                         'DecidedLazy)               (Rec0 (Tree a)):*:S1 ('MetaSel 'Nothing                         'NoSourceUnpackedness                         'NoSourceStrictness                         'DecidedLazy)               (Rec0 (Tree a))))  ...

Hint: You can obtain information about the code being generated from GHC by passing the-ddump-deriv flag. In GHCi, you can expand a type family such asRep using the:kind! command.

This is a lot of information! However, most of it is actually merely meta-information that makes names of datatypes and constructors and more available on the type level.

Here is a reduced representation forTree with nearly all meta-information removed, for now keeping only the most essential aspects:

instanceGeneric (Tree a) where  typeRep (Tree a) =Rec0 a:+:    (Rec0 (Tree a):*:Rec0 (Tree a))

TheTree datatype has two constructors. The representation of individual constructors is combined using the binary type constructor:+:.

The first constructor consists of a single field, which is the parametera. This is represented asRec0 a.

The second constructor consists of two fields. Each is a recursive field of typeTree a, represented asRec0 (Tree a). Representations of individual fields are combined using the binary type constructor:*:.

Now let us explain the additional tags being used in the complete representation:

  • TheS1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) tag indicates several things. The'Nothing indicates that there is no record field selector associated with this field of the constructor (if there were, it would have been marked'Just "recordName" instead). The other types contain meta-information on the field's strictness:
  • There is no{-# UNPACK #-} or{-# NOUNPACK #-} annotation in the source, so it is tagged with'NoSourceUnpackedness.
  • There is no strictness (!) or laziness (~) annotation in the source, so it is tagged with'NoSourceStrictness.
  • The compiler infers that the field is lazy, so it is tagged with'DecidedLazy. Bear in mind that what the compiler decides may be quite different from what is written in the source. SeeDecidedStrictness for a more detailed explanation.

The'MetaSel type is also an instance of the type classSelector, which can be used to obtain information about the field at the value level.

  • TheC1 ('MetaCons "Leaf" 'PrefixI 'False) andC1 ('MetaCons "Node" 'PrefixI 'False) invocations indicate that the enclosed part is the representation of the first and second constructor of datatypeTree, respectively. Here, the meta-information regarding constructor names, fixity and whether it has named fields or not is encoded at the type level. The'MetaCons type is also an instance of the type classConstructor. This type class can be used to obtain information about the constructor at the value level.
  • TheD1 ('MetaData "Tree" "Main" "package-name" 'False) tag indicates that the enclosed part is the representation of the datatypeTree. Again, the meta-information is encoded at the type level. The'MetaData type is an instance of classDatatype, which can be used to obtain the name of a datatype, the module it has been defined in, the package it is located under, and whether it has been defined usingdata ornewtype at the value level.

Derived and fundamental representation types

There are many datatype-generic functions that do not distinguish between positions that are parameters or positions that are recursive calls. There are also many datatype-generic functions that do not care about the names of datatypes and constructors at all. To keep the number of cases to consider in generic functions in such a situation to a minimum, it turns out that many of the type constructors introduced above are actually synonyms, defining them to be variants of a smaller set of constructors.

Individual fields of constructors:K1

The type constructorRec0 is a variant ofK1:

typeRec0 =K1R

Here,R is a type-level proxy that does not have any associated values.

There used to be another variant ofK1 (namelyPar0), but it has since been deprecated.

Meta information:M1

The type constructorsS1,C1 andD1 are all variants ofM1:

typeS1 =M1StypeC1 =M1CtypeD1 =M1D

The typesS,C andD are once again type-level proxies, just used to create several variants ofM1.

Additional generic representation type constructors

Next toK1,M1,:+: and:*: there are a few more type constructors that occur in the representations of other datatypes.

Empty datatypes:V1

For empty datatypes,V1 is used as a representation. For example,

data Empty derivingGeneric

yields

instanceGeneric Empty where  typeRep Empty =D1 ('MetaData "Empty" "Main" "package-name" 'False)V1

Constructors without fields:U1

If a constructor has no arguments, thenU1 is used as its representation. For example the representation ofBool is

instanceGeneric Bool where  typeRep Bool =D1 ('MetaData "Bool" "Data.Bool" "package-name" 'False)      (C1 ('MetaCons "False" 'PrefixI 'False)U1:+:C1 ('MetaCons "True" 'PrefixI 'False)U1)

Representation of types with many constructors or many fields

As:+: and:*: are just binary operators, one might ask what happens if the datatype has more than two constructors, or a constructor with more than two fields. The answer is simple: the operators are used several times, to combine all the constructors and fields as needed. However, users /should not rely on a specific nesting strategy/ for:+: and:*: being used. The compiler is free to choose any nesting it prefers. (In practice, the current implementation tries to produce a more-or-less balanced nesting, so that the traversal of the structure of the datatype from the root to a particular component can be performed in logarithmic rather than linear time.)

Defining datatype-generic functions

A datatype-generic function comprises two parts:

  1. Generic instances for the function, implementing it for most of the representation type constructors introduced above.
  2. Awrapper that for any datatype that is inGeneric, performs the conversion between the original value and itsRep-based representation and then invokes the generic instances.

As an example, let us look at a functionencode that produces a naive, but lossless bit encoding of values of various datatypes. So we are aiming to define a function

encode ::Generic a => a -> [Bool]

where we useBool as our datatype for bits.

For part 1, we define a classEncode'. Perhaps surprisingly, this class is parameterized over a type constructorf of kind* -> *. This is a technicality: all the representation type constructors operate with kind* -> * as base kind. But the type argument is never being used. This may be changed at some point in the future. The class has a single method, and we use the type we want our final function to have, but we replace the occurrences of the generic type argumenta withf p (where thep is any argument; it will not be used).

class Encode' f where  encode' :: f p -> [Bool]

With the goal in mind to makeencode work onTree and other datatypes, we now define instances for the representation type constructorsV1,U1,:+:,:*:,K1, andM1.

Definition of the generic representation types

In order to be able to do this, we need to know the actual definitions of these types:

dataV1        p                       -- lifted version of EmptydataU1        p =U1                  -- lifted version of ()data    (:+:) f g p =L1 (f p) |R1 (g p) -- lifted version ofEitherdata    (:*:) f g p = (f p):*: (g p)     -- lifted version of (,)newtypeK1    i c p =K1 {unK1 :: c }    -- a container for a cnewtypeM1  i t f p =M1 {unM1 :: f p }  -- a wrapper

So,U1 is just the unit type,:+: is just a binary choice likeEither,:*: is a binary pair like the pair constructor(,), andK1 is a value of a specific typec, andM1 wraps a value of the generic type argument, which in the lifted world is anf p (where we do not care aboutp).

Generic instances

The instance forV1 is slightly awkward (but also rarely used):

instance Encode'V1 where  encode' x = undefined

There are no values of typeV1 p to pass (except undefined), so this is actually impossible. One can ask why it is useful to define an instance forV1 at all in this case? Well, an empty type can be used as an argument to a non-empty type, and you might still want to encode the resulting type. As a somewhat contrived example, consider[Empty], which is not an empty type, but contains just the empty list. TheV1 instance ensures that we can call the generic function on such types.

There is exactly one value of typeU1, so encoding it requires no knowledge, and we can use zero bits:

instance Encode'U1 where  encode'U1 = []

In the case for:+:, we produceFalse orTrue depending on whether the constructor of the value provided is located on the left or on the right:

instance (Encode' f, Encode' g) => Encode' (f:+: g) where  encode' (L1 x) = False : encode' x  encode' (R1 x) = True  : encode' x

(Note that this encoding strategy may not be reliable across different versions of GHC. Recall that the compiler is free to choose any nesting of:+: it chooses, so if GHC chooses(a:+: b):+: c, then the encoding fora would be[False, False],b would be[False, True], andc would be[True]. However, if GHC choosesa:+: (b:+: c), then the encoding fora would be[False],b would be[True, False], andc would be[True, True].)

In the case for:*:, we append the encodings of the two subcomponents:

instance (Encode' f, Encode' g) => Encode' (f:*: g) where  encode' (x:*: y) = encode' x ++ encode' y

The case forK1 is rather interesting. Here, we call the final functionencode that we yet have to define, recursively. We will use another type classEncode for that function:

instance (Encode c) => Encode' (K1 i c) where  encode' (K1 x) = encode x

Note howPar0 andRec0 both being mapped toK1 allows us to define a uniform instance here.

Similarly, we can define a uniform instance forM1, because we completely disregard all meta-information:

instance (Encode' f) => Encode' (M1 i t f) where  encode' (M1 x) = encode' x

Unlike inK1, the instance forM1 refers toencode', notencode.

The wrapper and generic default

We now define classEncode for the actualencode function:

class Encode a where  encode :: a -> [Bool]  default encode :: (Generic a, Encode' (Rep a)) => a -> [Bool]  encode x = encode' (from x)

The incomingx is converted usingfrom, then we dispatch to the generic instances usingencode'. We use this as a default definition forencode. We need the 'default encode' signature because ordinary Haskell default methods must not introduce additional class constraints, but our generic default does.

Defining a particular instance is now as simple as saying

instance (Encode a) => Encode (Tree a)

Omitting generic instances

It is not always required to provide instances for all the generic representation types, but omitting instances restricts the set of datatypes the functions will work for:

  • If no:+: instance is given, the function may still work for empty datatypes or datatypes that have a single constructor, but will fail on datatypes with more than one constructor.
  • If no:*: instance is given, the function may still work for datatypes where each constructor has just zero or one field, in particular for enumeration types.
  • If noK1 instance is given, the function may still work for enumeration types, where no constructor has any fields.
  • If noV1 instance is given, the function may still work for any datatype that is not empty.
  • If noU1 instance is given, the function may still work for any datatype where each constructor has at least one field.

AnM1 instance is always required (but it can just ignore the meta-information, as is the case forencode above).

Generic constructor classes

Datatype-generic functions as defined above work for a large class of datatypes, including parameterized datatypes. (We have usedTree as our example above, which is of kind* -> *.) However, theGeneric class ranges over types of kind*, and therefore, the resulting generic functions (such asencode) must be parameterized by a generic type argument of kind*.

What if we want to define generic classes that range over type constructors (such asFunctor,Traversable, orFoldable)?

TheGeneric1 class

LikeGeneric, there is a classGeneric1 that defines a representationRep1 and conversion functionsfrom1 andto1, only thatGeneric1 ranges over types of kind* -> *. (More generally, it can range over types of kindk -> *, for any kindk, if thePolyKinds extension is enabled. More on this later.) TheGeneric1 class is also derivable.

The representationRep1 is ever so slightly different fromRep. Let us look atTree as an example again:

data Tree a = Leaf a | Node (Tree a) (Tree a)  derivingGeneric1

The above declaration causes the following representation to be generated:

instanceGeneric1 Tree where  typeRep1 Tree =D1 ('MetaData "Tree" "Main" "package-name" 'False)      (C1 ('MetaCons "Leaf" 'PrefixI 'False)         (S1 ('MetaSel 'Nothing                         'NoSourceUnpackedness                         'NoSourceStrictness                         'DecidedLazy)Par1):+:C1 ('MetaCons "Node" 'PrefixI 'False)         (S1 ('MetaSel 'Nothing                         'NoSourceUnpackedness                         'NoSourceStrictness                         'DecidedLazy)               (Rec1 Tree):*:S1 ('MetaSel 'Nothing                         'NoSourceUnpackedness                         'NoSourceStrictness                         'DecidedLazy)               (Rec1 Tree)))  ...

The representation reusesD1,C1,S1 (and therebyM1) as well as:+: and:*: fromRep. (This reusability is the reason that we carry around the dummy type argument for kind-*-types, but there are already enough different names involved without duplicating each of these.)

What's different is that we now usePar1 to refer to the parameter (and that parameter, which used to bea), is not mentioned explicitly by name anywhere; and we useRec1 to refer to a recursive use ofTree a.

Representation of* -> * types

UnlikeRec0, thePar1 andRec1 type constructors do not map toK1. They are defined directly, as follows:

newtypePar1   p =Par1 {unPar1 ::   p } -- gives access to parameter pnewtypeRec1 f p =Rec1 {unRec1 :: f p } -- a wrapper

InPar1, the parameterp is used for the first time, whereasRec1 simply wraps an application off top.

Note thatK1 (in the guise ofRec0) can still occur in aRep1 representation, namely when the datatype has a field that does not mention the parameter.

The declaration

data WithInt a = WithInt Int a  derivingGeneric1

yields

instanceGeneric1 WithInt where  typeRep1 WithInt =D1 ('MetaData "WithInt" "Main" "package-name" 'False)      (C1 ('MetaCons "WithInt" 'PrefixI 'False)        (S1 ('MetaSel 'Nothing                        'NoSourceUnpackedness                        'NoSourceStrictness                        'DecidedLazy)              (Rec0 Int):*:S1 ('MetaSel 'Nothing                         'NoSourceUnpackedness                         'NoSourceStrictness                         'DecidedLazy)Par1))

If the parametera appears underneath a composition of other type constructors, then the representation involves composition, too:

data Rose a = Fork a [Rose a]

yields

instanceGeneric1 Rose where  typeRep1 Rose =D1 ('MetaData "Rose" "Main" "package-name" 'False)      (C1 ('MetaCons "Fork" 'PrefixI 'False)        (S1 ('MetaSel 'Nothing                        'NoSourceUnpackedness                        'NoSourceStrictness                        'DecidedLazy)Par1:*:S1 ('MetaSel 'Nothing                         'NoSourceUnpackedness                         'NoSourceStrictness                         'DecidedLazy)              ([]:.:Rec1 Rose)))

where

newtype (:.:) f g p =Comp1 {unComp1 :: f (g p) }

Representation ofk -> * types

TheGeneric1 class can be generalized to range over types of kindk -> *, for any kindk. To do so, derive aGeneric1 instance with thePolyKinds extension enabled. For example, the declaration

data Proxy (a :: k) = Proxy derivingGeneric1

yields a slightly different instance depending on whetherPolyKinds is enabled. If compiled withoutPolyKinds, thenRep1 Proxy :: * -> *, but if compiled withPolyKinds, thenRep1 Proxy :: k -> *.

Representation of unlifted types

If one were to attempt to derive a Generic instance for a datatype with an unlifted argument (for example,Int#), one might expect the occurrence of theInt# argument to be marked withRec0Int#. This won't work, though, sinceInt# is of an unlifted kind, andRec0 expects a type of kind*.

One solution would be to represent an occurrence ofInt# with 'Rec0 Int' instead. With this approach, however, the programmer has no way of knowing whether theInt is actually anInt# in disguise.

Instead of reusingRec0, a separate data familyURec is used to mark occurrences of common unlifted types:

data family URec a pdata instanceURec (Ptr ()) p =UAddr   {uAddr#   ::Addr#   }data instanceURecChar     p =UChar   {uChar#   ::Char#   }data instanceURecDouble   p =UDouble {uDouble# ::Double# }data instanceURecInt      p =UFloat  {uFloat#  ::Float#  }data instanceURecFloat    p =UInt    {uInt#    ::Int#    }data instanceURecWord     p =UWord   {uWord#   ::Word#   }

Several type synonyms are provided for convenience:

typeUAddr   =URec (Ptr ())typeUChar   =URecChartypeUDouble =URecDoubletypeUFloat  =URecFloattypeUInt    =URecInttypeUWord   =URecWord

The declaration

data IntHash = IntHash Int#  derivingGeneric

yields

instanceGeneric IntHash where  typeRep IntHash =D1 ('MetaData "IntHash" "Main" "package-name" 'False)      (C1 ('MetaCons "IntHash" 'PrefixI 'False)        (S1 ('MetaSel 'Nothing                        'NoSourceUnpackedness                        'NoSourceStrictness                        'DecidedLazy)UInt))

Currently, only the six unlifted types listed above are generated, but this may be extended to encompass more unlifted types in the future.

Generic representation types

dataV1 (p :: k)Source#

Void: used for datatypes without constructors

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

Defined inGHC.Generics

Associated Types

typeRep1V1 :: k ->TypeSource#

Methods

from1 ::V1 a ->Rep1V1 aSource#

to1 ::Rep1V1 a ->V1 aSource#

Functor (V1 ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) ->V1 a ->V1 bSource#

(<$) :: a ->V1 b ->V1 aSource#

Foldable (V1 ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>V1 m -> mSource#

foldMap ::Monoid m => (a -> m) ->V1 a -> mSource#

foldr :: (a -> b -> b) -> b ->V1 a -> bSource#

foldr' :: (a -> b -> b) -> b ->V1 a -> bSource#

foldl :: (b -> a -> b) -> b ->V1 a -> bSource#

foldl' :: (b -> a -> b) -> b ->V1 a -> bSource#

foldr1 :: (a -> a -> a) ->V1 a -> aSource#

foldl1 :: (a -> a -> a) ->V1 a -> aSource#

toList ::V1 a -> [a]Source#

null ::V1 a ->BoolSource#

length ::V1 a ->IntSource#

elem ::Eq a => a ->V1 a ->BoolSource#

maximum ::Ord a =>V1 a -> aSource#

minimum ::Ord a =>V1 a -> aSource#

sum ::Num a =>V1 a -> aSource#

product ::Num a =>V1 a -> aSource#

Traversable (V1 ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->V1 a -> f (V1 b)Source#

sequenceA ::Applicative f =>V1 (f a) -> f (V1 a)Source#

mapM ::Monad m => (a -> m b) ->V1 a -> m (V1 b)Source#

sequence ::Monad m =>V1 (m a) -> m (V1 a)Source#

Contravariant (V1 ::Type ->Type)Source# 
Instance details

Defined inData.Functor.Contravariant

Methods

contramap :: (a -> b) ->V1 b ->V1 aSource#

(>$) :: b ->V1 b ->V1 aSource#

Eq (V1 p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

(==) ::V1 p ->V1 p ->Bool#

(/=) ::V1 p ->V1 p ->Bool#

Data p =>Data (V1 p)Source#

Since: 4.9.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->V1 p -> c (V1 p)Source#

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

toConstr ::V1 p ->ConstrSource#

dataTypeOf ::V1 p ->DataTypeSource#

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

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

gmapT :: (forall b.Data b => b -> b) ->V1 p ->V1 pSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->V1 p -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->V1 p -> rSource#

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

gmapQi ::Int -> (forall d.Data d => d -> u) ->V1 p -> uSource#

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

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

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

Ord (V1 p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.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)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Show (V1 p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Generic (V1 p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (V1 p) ::Type ->TypeSource#

Methods

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

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

Semigroup (V1 p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

(<>) ::V1 p ->V1 p ->V1 pSource#

sconcat ::NonEmpty (V1 p) ->V1 pSource#

stimes ::Integral b => b ->V1 p ->V1 pSource#

typeRep1 (V1 :: k ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep1 (V1 :: k ->Type) =D1 (MetaData "V1" "GHC.Generics" "base"False) (V1 :: k ->Type)
typeRep (V1 p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep (V1 p) =D1 (MetaData "V1" "GHC.Generics" "base"False) (V1 ::Type ->Type)

dataU1 (p :: k)Source#

Unit: used for constructors without arguments

Constructors

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

Defined inGHC.Generics

Associated Types

typeRep1U1 :: k ->TypeSource#

Methods

from1 ::U1 a ->Rep1U1 aSource#

to1 ::Rep1U1 a ->U1 aSource#

Monad (U1 ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

(>>=) ::U1 a -> (a ->U1 b) ->U1 bSource#

(>>) ::U1 a ->U1 b ->U1 bSource#

return :: a ->U1 aSource#

fail ::String ->U1 aSource#

Functor (U1 ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) ->U1 a ->U1 bSource#

(<$) :: a ->U1 b ->U1 aSource#

Applicative (U1 ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

pure :: a ->U1 aSource#

(<*>) ::U1 (a -> b) ->U1 a ->U1 bSource#

liftA2 :: (a -> b -> c) ->U1 a ->U1 b ->U1 cSource#

(*>) ::U1 a ->U1 b ->U1 bSource#

(<*) ::U1 a ->U1 b ->U1 aSource#

Foldable (U1 ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>U1 m -> mSource#

foldMap ::Monoid m => (a -> m) ->U1 a -> mSource#

foldr :: (a -> b -> b) -> b ->U1 a -> bSource#

foldr' :: (a -> b -> b) -> b ->U1 a -> bSource#

foldl :: (b -> a -> b) -> b ->U1 a -> bSource#

foldl' :: (b -> a -> b) -> b ->U1 a -> bSource#

foldr1 :: (a -> a -> a) ->U1 a -> aSource#

foldl1 :: (a -> a -> a) ->U1 a -> aSource#

toList ::U1 a -> [a]Source#

null ::U1 a ->BoolSource#

length ::U1 a ->IntSource#

elem ::Eq a => a ->U1 a ->BoolSource#

maximum ::Ord a =>U1 a -> aSource#

minimum ::Ord a =>U1 a -> aSource#

sum ::Num a =>U1 a -> aSource#

product ::Num a =>U1 a -> aSource#

Traversable (U1 ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->U1 a -> f (U1 b)Source#

sequenceA ::Applicative f =>U1 (f a) -> f (U1 a)Source#

mapM ::Monad m => (a -> m b) ->U1 a -> m (U1 b)Source#

sequence ::Monad m =>U1 (m a) -> m (U1 a)Source#

MonadPlus (U1 ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

mzero ::U1 aSource#

mplus ::U1 a ->U1 a ->U1 aSource#

Alternative (U1 ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

empty ::U1 aSource#

(<|>) ::U1 a ->U1 a ->U1 aSource#

some ::U1 a ->U1 [a]Source#

many ::U1 a ->U1 [a]Source#

MonadZip (U1 ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::U1 a ->U1 b ->U1 (a, b)Source#

mzipWith :: (a -> b -> c) ->U1 a ->U1 b ->U1 cSource#

munzip ::U1 (a, b) -> (U1 a,U1 b)Source#

Contravariant (U1 ::Type ->Type)Source# 
Instance details

Defined inData.Functor.Contravariant

Methods

contramap :: (a -> b) ->U1 b ->U1 aSource#

(>$) :: b ->U1 b ->U1 aSource#

Eq (U1 p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

(==) ::U1 p ->U1 p ->Bool#

(/=) ::U1 p ->U1 p ->Bool#

Data p =>Data (U1 p)Source#

Since: 4.9.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->U1 p -> c (U1 p)Source#

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

toConstr ::U1 p ->ConstrSource#

dataTypeOf ::U1 p ->DataTypeSource#

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

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

gmapT :: (forall b.Data b => b -> b) ->U1 p ->U1 pSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->U1 p -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->U1 p -> rSource#

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

gmapQi ::Int -> (forall d.Data d => d -> u) ->U1 p -> uSource#

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

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

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

Ord (U1 p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.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)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Show (U1 p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Generic (U1 p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (U1 p) ::Type ->TypeSource#

Methods

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

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

Semigroup (U1 p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

(<>) ::U1 p ->U1 p ->U1 pSource#

sconcat ::NonEmpty (U1 p) ->U1 pSource#

stimes ::Integral b => b ->U1 p ->U1 pSource#

Monoid (U1 p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

mempty ::U1 pSource#

mappend ::U1 p ->U1 p ->U1 pSource#

mconcat :: [U1 p] ->U1 pSource#

typeRep1 (U1 :: k ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep1 (U1 :: k ->Type) =D1 (MetaData "U1" "GHC.Generics" "base"False) (C1 (MetaCons "U1"PrefixIFalse) (U1 :: k ->Type))
typeRep (U1 p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

typeRep (U1 p) =D1 (MetaData "U1" "GHC.Generics" "base"False) (C1 (MetaCons "U1"PrefixIFalse) (U1 ::Type ->Type))

newtypePar1 pSource#

Used for marking occurrences of the parameter

Constructors

Par1 

Fields

Instances
MonadPar1Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

(>>=) ::Par1 a -> (a ->Par1 b) ->Par1 bSource#

(>>) ::Par1 a ->Par1 b ->Par1 bSource#

return :: a ->Par1 aSource#

fail ::String ->Par1 aSource#

FunctorPar1Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) ->Par1 a ->Par1 bSource#

(<$) :: a ->Par1 b ->Par1 aSource#

MonadFixPar1Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Fix

Methods

mfix :: (a ->Par1 a) ->Par1 aSource#

ApplicativePar1Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

pure :: a ->Par1 aSource#

(<*>) ::Par1 (a -> b) ->Par1 a ->Par1 bSource#

liftA2 :: (a -> b -> c) ->Par1 a ->Par1 b ->Par1 cSource#

(*>) ::Par1 a ->Par1 b ->Par1 bSource#

(<*) ::Par1 a ->Par1 b ->Par1 aSource#

FoldablePar1Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>Par1 m -> mSource#

foldMap ::Monoid m => (a -> m) ->Par1 a -> mSource#

foldr :: (a -> b -> b) -> b ->Par1 a -> bSource#

foldr' :: (a -> b -> b) -> b ->Par1 a -> bSource#

foldl :: (b -> a -> b) -> b ->Par1 a -> bSource#

foldl' :: (b -> a -> b) -> b ->Par1 a -> bSource#

foldr1 :: (a -> a -> a) ->Par1 a -> aSource#

foldl1 :: (a -> a -> a) ->Par1 a -> aSource#

toList ::Par1 a -> [a]Source#

null ::Par1 a ->BoolSource#

length ::Par1 a ->IntSource#

elem ::Eq a => a ->Par1 a ->BoolSource#

maximum ::Ord a =>Par1 a -> aSource#

minimum ::Ord a =>Par1 a -> aSource#

sum ::Num a =>Par1 a -> aSource#

product ::Num a =>Par1 a -> aSource#

TraversablePar1Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->Par1 a -> f (Par1 b)Source#

sequenceA ::Applicative f =>Par1 (f a) -> f (Par1 a)Source#

mapM ::Monad m => (a -> m b) ->Par1 a -> m (Par1 b)Source#

sequence ::Monad m =>Par1 (m a) -> m (Par1 a)Source#

MonadZipPar1Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Par1 a ->Par1 b ->Par1 (a, b)Source#

mzipWith :: (a -> b -> c) ->Par1 a ->Par1 b ->Par1 cSource#

munzip ::Par1 (a, b) -> (Par1 a,Par1 b)Source#

Eq p =>Eq (Par1 p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Methods

(==) ::Par1 p ->Par1 p ->Bool#

(/=) ::Par1 p ->Par1 p ->Bool#

Data p =>Data (Par1 p)Source#

Since: 4.9.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->Par1 p -> c (Par1 p)Source#

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

toConstr ::Par1 p ->ConstrSource#

dataTypeOf ::Par1 p ->DataTypeSource#

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

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

gmapT :: (forall b.Data b => b -> b) ->Par1 p ->Par1 pSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->Par1 p -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->Par1 p -> rSource#

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

gmapQi ::Int -> (forall d.Data d => d -> u) ->Par1 p -> uSource#

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

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

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

Ord p =>Ord (Par1 p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.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)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Show p =>Show (Par1 p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Generic (Par1 p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (Par1 p) ::Type ->TypeSource#

Methods

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

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

Semigroup p =>Semigroup (Par1 p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

(<>) ::Par1 p ->Par1 p ->Par1 pSource#

sconcat ::NonEmpty (Par1 p) ->Par1 pSource#

stimes ::Integral b => b ->Par1 p ->Par1 pSource#

Monoid p =>Monoid (Par1 p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Generic1Par1Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep1Par1 :: k ->TypeSource#

typeRep (Par1 p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

typeRep (Par1 p) =D1 (MetaData "Par1" "GHC.Generics" "base"True) (C1 (MetaCons "Par1"PrefixITrue) (S1 (MetaSel (Just "unPar1")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 p)))
typeRep1Par1Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

newtypeRec1 (f :: k ->Type) (p :: k)Source#

Recursive calls of kind* -> * (or kindk -> *, whenPolyKinds is enabled)

Constructors

Rec1 

Fields

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

Defined inGHC.Generics

Associated Types

typeRep1 (Rec1 f) :: k ->TypeSource#

Methods

from1 ::Rec1 f a ->Rep1 (Rec1 f) aSource#

to1 ::Rep1 (Rec1 f) a ->Rec1 f aSource#

Monad f =>Monad (Rec1 f)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

(>>=) ::Rec1 f a -> (a ->Rec1 f b) ->Rec1 f bSource#

(>>) ::Rec1 f a ->Rec1 f b ->Rec1 f bSource#

return :: a ->Rec1 f aSource#

fail ::String ->Rec1 f aSource#

Functor f =>Functor (Rec1 f)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) ->Rec1 f a ->Rec1 f bSource#

(<$) :: a ->Rec1 f b ->Rec1 f aSource#

MonadFix f =>MonadFix (Rec1 f)Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Fix

Methods

mfix :: (a ->Rec1 f a) ->Rec1 f aSource#

Applicative f =>Applicative (Rec1 f)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

pure :: a ->Rec1 f aSource#

(<*>) ::Rec1 f (a -> b) ->Rec1 f a ->Rec1 f bSource#

liftA2 :: (a -> b -> c) ->Rec1 f a ->Rec1 f b ->Rec1 f cSource#

(*>) ::Rec1 f a ->Rec1 f b ->Rec1 f bSource#

(<*) ::Rec1 f a ->Rec1 f b ->Rec1 f aSource#

Foldable f =>Foldable (Rec1 f)Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>Rec1 f m -> mSource#

foldMap ::Monoid m => (a -> m) ->Rec1 f a -> mSource#

foldr :: (a -> b -> b) -> b ->Rec1 f a -> bSource#

foldr' :: (a -> b -> b) -> b ->Rec1 f a -> bSource#

foldl :: (b -> a -> b) -> b ->Rec1 f a -> bSource#

foldl' :: (b -> a -> b) -> b ->Rec1 f a -> bSource#

foldr1 :: (a -> a -> a) ->Rec1 f a -> aSource#

foldl1 :: (a -> a -> a) ->Rec1 f a -> aSource#

toList ::Rec1 f a -> [a]Source#

null ::Rec1 f a ->BoolSource#

length ::Rec1 f a ->IntSource#

elem ::Eq a => a ->Rec1 f a ->BoolSource#

maximum ::Ord a =>Rec1 f a -> aSource#

minimum ::Ord a =>Rec1 f a -> aSource#

sum ::Num a =>Rec1 f a -> aSource#

product ::Num a =>Rec1 f a -> aSource#

Traversable f =>Traversable (Rec1 f)Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f0 => (a -> f0 b) ->Rec1 f a -> f0 (Rec1 f b)Source#

sequenceA ::Applicative f0 =>Rec1 f (f0 a) -> f0 (Rec1 f a)Source#

mapM ::Monad m => (a -> m b) ->Rec1 f a -> m (Rec1 f b)Source#

sequence ::Monad m =>Rec1 f (m a) -> m (Rec1 f a)Source#

MonadPlus f =>MonadPlus (Rec1 f)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

mzero ::Rec1 f aSource#

mplus ::Rec1 f a ->Rec1 f a ->Rec1 f aSource#

Alternative f =>Alternative (Rec1 f)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

empty ::Rec1 f aSource#

(<|>) ::Rec1 f a ->Rec1 f a ->Rec1 f aSource#

some ::Rec1 f a ->Rec1 f [a]Source#

many ::Rec1 f a ->Rec1 f [a]Source#

MonadZip f =>MonadZip (Rec1 f)Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Rec1 f a ->Rec1 f b ->Rec1 f (a, b)Source#

mzipWith :: (a -> b -> c) ->Rec1 f a ->Rec1 f b ->Rec1 f cSource#

munzip ::Rec1 f (a, b) -> (Rec1 f a,Rec1 f b)Source#

Contravariant f =>Contravariant (Rec1 f)Source# 
Instance details

Defined inData.Functor.Contravariant

Methods

contramap :: (a -> b) ->Rec1 f b ->Rec1 f aSource#

(>$) :: b ->Rec1 f b ->Rec1 f aSource#

Eq (f p) =>Eq (Rec1 f p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Methods

(==) ::Rec1 f p ->Rec1 f p ->Bool#

(/=) ::Rec1 f p ->Rec1 f p ->Bool#

(Data (f p),Typeable f,Data p) =>Data (Rec1 f p)Source#

Since: 4.9.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->Rec1 f p -> c (Rec1 f p)Source#

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

toConstr ::Rec1 f p ->ConstrSource#

dataTypeOf ::Rec1 f p ->DataTypeSource#

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

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

gmapT :: (forall b.Data b => b -> b) ->Rec1 f p ->Rec1 f pSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->Rec1 f p -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->Rec1 f p -> rSource#

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

gmapQi ::Int -> (forall d.Data d => d -> u) ->Rec1 f p -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->Rec1 f p -> m (Rec1 f p)Source#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->Rec1 f p -> m (Rec1 f p)Source#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->Rec1 f p -> m (Rec1 f p)Source#

Ord (f p) =>Ord (Rec1 f p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Methods

compare ::Rec1 f p ->Rec1 f p ->Ordering#

(<) ::Rec1 f p ->Rec1 f p ->Bool#

(<=) ::Rec1 f p ->Rec1 f p ->Bool#

(>) ::Rec1 f p ->Rec1 f p ->Bool#

(>=) ::Rec1 f p ->Rec1 f p ->Bool#

max ::Rec1 f p ->Rec1 f p ->Rec1 f p#

min ::Rec1 f p ->Rec1 f p ->Rec1 f p#

Read (f p) =>Read (Rec1 f p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Show (f p) =>Show (Rec1 f p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Generic (Rec1 f p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (Rec1 f p) ::Type ->TypeSource#

Methods

from ::Rec1 f p ->Rep (Rec1 f p) xSource#

to ::Rep (Rec1 f p) x ->Rec1 f pSource#

Semigroup (f p) =>Semigroup (Rec1 f p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

(<>) ::Rec1 f p ->Rec1 f p ->Rec1 f pSource#

sconcat ::NonEmpty (Rec1 f p) ->Rec1 f pSource#

stimes ::Integral b => b ->Rec1 f p ->Rec1 f pSource#

Monoid (f p) =>Monoid (Rec1 f p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

mempty ::Rec1 f pSource#

mappend ::Rec1 f p ->Rec1 f p ->Rec1 f pSource#

mconcat :: [Rec1 f p] ->Rec1 f pSource#

typeRep1 (Rec1 f :: k ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep1 (Rec1 f :: k ->Type) =D1 (MetaData "Rec1" "GHC.Generics" "base"True) (C1 (MetaCons "Rec1"PrefixITrue) (S1 (MetaSel (Just "unRec1")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec1 f)))
typeRep (Rec1 f p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

typeRep (Rec1 f p) =D1 (MetaData "Rec1" "GHC.Generics" "base"True) (C1 (MetaCons "Rec1"PrefixITrue) (S1 (MetaSel (Just "unRec1")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 (f p))))

newtypeK1 (i ::Type) c (p :: k)Source#

Constants, additional parameters and recursion of kind*

Constructors

K1 

Fields

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

Defined inGHC.Generics

Associated Types

typeRep1 (K1 i c) :: k ->TypeSource#

Methods

from1 ::K1 i c a ->Rep1 (K1 i c) aSource#

to1 ::Rep1 (K1 i c) a ->K1 i c aSource#

Bifunctor (K1 i ::Type ->Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Bifunctor

Methods

bimap :: (a -> b) -> (c -> d) ->K1 i a c ->K1 i b dSource#

first :: (a -> b) ->K1 i a c ->K1 i b cSource#

second :: (b -> c) ->K1 i a b ->K1 i a cSource#

Bifoldable (K1 i ::Type ->Type ->Type)Source#

Since: 4.10.0.0

Instance details

Defined inData.Bifoldable

Methods

bifold ::Monoid m =>K1 i m m -> mSource#

bifoldMap ::Monoid m => (a -> m) -> (b -> m) ->K1 i a b -> mSource#

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c ->K1 i a b -> cSource#

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c ->K1 i a b -> cSource#

Bitraversable (K1 i ::Type ->Type ->Type)Source#

Since: 4.10.0.0

Instance details

Defined inData.Bitraversable

Methods

bitraverse ::Applicative f => (a -> f c) -> (b -> f d) ->K1 i a b -> f (K1 i c d)Source#

Functor (K1 i c ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) ->K1 i c a ->K1 i c bSource#

(<$) :: a ->K1 i c b ->K1 i c aSource#

Monoid c =>Applicative (K1 i c ::Type ->Type)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

pure :: a ->K1 i c aSource#

(<*>) ::K1 i c (a -> b) ->K1 i c a ->K1 i c bSource#

liftA2 :: (a -> b -> c0) ->K1 i c a ->K1 i c b ->K1 i c c0Source#

(*>) ::K1 i c a ->K1 i c b ->K1 i c bSource#

(<*) ::K1 i c a ->K1 i c b ->K1 i c aSource#

Foldable (K1 i c ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>K1 i c m -> mSource#

foldMap ::Monoid m => (a -> m) ->K1 i c a -> mSource#

foldr :: (a -> b -> b) -> b ->K1 i c a -> bSource#

foldr' :: (a -> b -> b) -> b ->K1 i c a -> bSource#

foldl :: (b -> a -> b) -> b ->K1 i c a -> bSource#

foldl' :: (b -> a -> b) -> b ->K1 i c a -> bSource#

foldr1 :: (a -> a -> a) ->K1 i c a -> aSource#

foldl1 :: (a -> a -> a) ->K1 i c a -> aSource#

toList ::K1 i c a -> [a]Source#

null ::K1 i c a ->BoolSource#

length ::K1 i c a ->IntSource#

elem ::Eq a => a ->K1 i c a ->BoolSource#

maximum ::Ord a =>K1 i c a -> aSource#

minimum ::Ord a =>K1 i c a -> aSource#

sum ::Num a =>K1 i c a -> aSource#

product ::Num a =>K1 i c a -> aSource#

Traversable (K1 i c ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->K1 i c a -> f (K1 i c b)Source#

sequenceA ::Applicative f =>K1 i c (f a) -> f (K1 i c a)Source#

mapM ::Monad m => (a -> m b) ->K1 i c a -> m (K1 i c b)Source#

sequence ::Monad m =>K1 i c (m a) -> m (K1 i c a)Source#

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

Defined inData.Functor.Contravariant

Methods

contramap :: (a -> b) ->K1 i c b ->K1 i c aSource#

(>$) :: b ->K1 i c b ->K1 i c aSource#

Eq c =>Eq (K1 i c p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.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)Source#

Since: 4.9.0.0

Instance details

Defined inData.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)Source#

gunfold :: (forall b r.Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) ->Constr -> c0 (K1 i c p)Source#

toConstr ::K1 i c p ->ConstrSource#

dataTypeOf ::K1 i c p ->DataTypeSource#

dataCast1 ::Typeable t => (forall d.Data d => c0 (t d)) ->Maybe (c0 (K1 i c p))Source#

dataCast2 ::Typeable t => (forall d e. (Data d,Data e) => c0 (t d e)) ->Maybe (c0 (K1 i c p))Source#

gmapT :: (forall b.Data b => b -> b) ->K1 i c p ->K1 i c pSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->K1 i c p -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->K1 i c p -> rSource#

gmapQ :: (forall d.Data d => d -> u) ->K1 i c p -> [u]Source#

gmapQi ::Int -> (forall d.Data d => d -> u) ->K1 i c p -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->K1 i c p -> m (K1 i c p)Source#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->K1 i c p -> m (K1 i c p)Source#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->K1 i c p -> m (K1 i c p)Source#

Ord c =>Ord (K1 i c p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.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)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Show c =>Show (K1 i c p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Methods

showsPrec ::Int ->K1 i c p ->ShowSSource#

show ::K1 i c p ->StringSource#

showList :: [K1 i c p] ->ShowSSource#

Generic (K1 i c p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (K1 i c p) ::Type ->TypeSource#

Methods

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

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

Semigroup c =>Semigroup (K1 i c p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

(<>) ::K1 i c p ->K1 i c p ->K1 i c pSource#

sconcat ::NonEmpty (K1 i c p) ->K1 i c pSource#

stimes ::Integral b => b ->K1 i c p ->K1 i c pSource#

Monoid c =>Monoid (K1 i c p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

mempty ::K1 i c pSource#

mappend ::K1 i c p ->K1 i c p ->K1 i c pSource#

mconcat :: [K1 i c p] ->K1 i c pSource#

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

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep1 (K1 i c :: k ->Type) =D1 (MetaData "K1" "GHC.Generics" "base"True) (C1 (MetaCons "K1"PrefixITrue) (S1 (MetaSel (Just "unK1")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 c)))
typeRep (K1 i c p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

typeRep (K1 i c p) =D1 (MetaData "K1" "GHC.Generics" "base"True) (C1 (MetaCons "K1"PrefixITrue) (S1 (MetaSel (Just "unK1")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 c)))

newtypeM1 (i ::Type) (c ::Meta) (f :: k ->Type) (p :: k)Source#

Meta-information (constructor names, etc.)

Constructors

M1 

Fields

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

Defined inGHC.Generics

Associated Types

typeRep1 (M1 i c f) :: k ->TypeSource#

Methods

from1 ::M1 i c f a ->Rep1 (M1 i c f) aSource#

to1 ::Rep1 (M1 i c f) a ->M1 i c f aSource#

Monad f =>Monad (M1 i c f)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

(>>=) ::M1 i c f a -> (a ->M1 i c f b) ->M1 i c f bSource#

(>>) ::M1 i c f a ->M1 i c f b ->M1 i c f bSource#

return :: a ->M1 i c f aSource#

fail ::String ->M1 i c f aSource#

Functor f =>Functor (M1 i c f)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) ->M1 i c f a ->M1 i c f bSource#

(<$) :: a ->M1 i c f b ->M1 i c f aSource#

MonadFix f =>MonadFix (M1 i c f)Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Fix

Methods

mfix :: (a ->M1 i c f a) ->M1 i c f aSource#

Applicative f =>Applicative (M1 i c f)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

pure :: a ->M1 i c f aSource#

(<*>) ::M1 i c f (a -> b) ->M1 i c f a ->M1 i c f bSource#

liftA2 :: (a -> b -> c0) ->M1 i c f a ->M1 i c f b ->M1 i c f c0Source#

(*>) ::M1 i c f a ->M1 i c f b ->M1 i c f bSource#

(<*) ::M1 i c f a ->M1 i c f b ->M1 i c f aSource#

Foldable f =>Foldable (M1 i c f)Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>M1 i c f m -> mSource#

foldMap ::Monoid m => (a -> m) ->M1 i c f a -> mSource#

foldr :: (a -> b -> b) -> b ->M1 i c f a -> bSource#

foldr' :: (a -> b -> b) -> b ->M1 i c f a -> bSource#

foldl :: (b -> a -> b) -> b ->M1 i c f a -> bSource#

foldl' :: (b -> a -> b) -> b ->M1 i c f a -> bSource#

foldr1 :: (a -> a -> a) ->M1 i c f a -> aSource#

foldl1 :: (a -> a -> a) ->M1 i c f a -> aSource#

toList ::M1 i c f a -> [a]Source#

null ::M1 i c f a ->BoolSource#

length ::M1 i c f a ->IntSource#

elem ::Eq a => a ->M1 i c f a ->BoolSource#

maximum ::Ord a =>M1 i c f a -> aSource#

minimum ::Ord a =>M1 i c f a -> aSource#

sum ::Num a =>M1 i c f a -> aSource#

product ::Num a =>M1 i c f a -> aSource#

Traversable f =>Traversable (M1 i c f)Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f0 => (a -> f0 b) ->M1 i c f a -> f0 (M1 i c f b)Source#

sequenceA ::Applicative f0 =>M1 i c f (f0 a) -> f0 (M1 i c f a)Source#

mapM ::Monad m => (a -> m b) ->M1 i c f a -> m (M1 i c f b)Source#

sequence ::Monad m =>M1 i c f (m a) -> m (M1 i c f a)Source#

MonadPlus f =>MonadPlus (M1 i c f)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

mzero ::M1 i c f aSource#

mplus ::M1 i c f a ->M1 i c f a ->M1 i c f aSource#

Alternative f =>Alternative (M1 i c f)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

empty ::M1 i c f aSource#

(<|>) ::M1 i c f a ->M1 i c f a ->M1 i c f aSource#

some ::M1 i c f a ->M1 i c f [a]Source#

many ::M1 i c f a ->M1 i c f [a]Source#

MonadZip f =>MonadZip (M1 i c f)Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::M1 i c f a ->M1 i c f b ->M1 i c f (a, b)Source#

mzipWith :: (a -> b -> c0) ->M1 i c f a ->M1 i c f b ->M1 i c f c0Source#

munzip ::M1 i c f (a, b) -> (M1 i c f a,M1 i c f b)Source#

Contravariant f =>Contravariant (M1 i c f)Source# 
Instance details

Defined inData.Functor.Contravariant

Methods

contramap :: (a -> b) ->M1 i c f b ->M1 i c f aSource#

(>$) :: b ->M1 i c f b ->M1 i c f aSource#

Eq (f p) =>Eq (M1 i c f p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.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)Source#

Since: 4.9.0.0

Instance details

Defined inData.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)Source#

gunfold :: (forall b r.Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) ->Constr -> c0 (M1 i c f p)Source#

toConstr ::M1 i c f p ->ConstrSource#

dataTypeOf ::M1 i c f p ->DataTypeSource#

dataCast1 ::Typeable t => (forall d.Data d => c0 (t d)) ->Maybe (c0 (M1 i c f p))Source#

dataCast2 ::Typeable t => (forall d e. (Data d,Data e) => c0 (t d e)) ->Maybe (c0 (M1 i c f p))Source#

gmapT :: (forall b.Data b => b -> b) ->M1 i c f p ->M1 i c f pSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->M1 i c f p -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->M1 i c f p -> rSource#

gmapQ :: (forall d.Data d => d -> u) ->M1 i c f p -> [u]Source#

gmapQi ::Int -> (forall d.Data d => d -> u) ->M1 i c f p -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->M1 i c f p -> m (M1 i c f p)Source#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->M1 i c f p -> m (M1 i c f p)Source#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->M1 i c f p -> m (M1 i c f p)Source#

Ord (f p) =>Ord (M1 i c f p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.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)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Show (f p) =>Show (M1 i c f p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Methods

showsPrec ::Int ->M1 i c f p ->ShowSSource#

show ::M1 i c f p ->StringSource#

showList :: [M1 i c f p] ->ShowSSource#

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

Defined inGHC.Generics

Associated Types

typeRep (M1 i c f p) ::Type ->TypeSource#

Methods

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

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

Semigroup (f p) =>Semigroup (M1 i c f p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

(<>) ::M1 i c f p ->M1 i c f p ->M1 i c f pSource#

sconcat ::NonEmpty (M1 i c f p) ->M1 i c f pSource#

stimes ::Integral b => b ->M1 i c f p ->M1 i c f pSource#

Monoid (f p) =>Monoid (M1 i c f p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

mempty ::M1 i c f pSource#

mappend ::M1 i c f p ->M1 i c f p ->M1 i c f pSource#

mconcat :: [M1 i c f p] ->M1 i c f pSource#

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

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep1 (M1 i c f :: k ->Type) =D1 (MetaData "M1" "GHC.Generics" "base"True) (C1 (MetaCons "M1"PrefixITrue) (S1 (MetaSel (Just "unM1")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec1 f)))
typeRep (M1 i c f p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

typeRep (M1 i c f p) =D1 (MetaData "M1" "GHC.Generics" "base"True) (C1 (MetaCons "M1"PrefixITrue) (S1 (MetaSel (Just "unM1")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 (f p))))

data ((f :: k ->Type):+: (g :: k ->Type)) (p :: k)infixr 5Source#

Sums: encode choice between constructors

Constructors

L1 (f p) 
R1 (g p) 
Instances
Generic1 (f:+: g :: k ->Type)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep1 (f:+: g) :: k ->TypeSource#

Methods

from1 :: (f:+: g) a ->Rep1 (f:+: g) aSource#

to1 ::Rep1 (f:+: g) a -> (f:+: g) aSource#

(Functor f,Functor g) =>Functor (f:+: g)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) -> (f:+: g) a -> (f:+: g) bSource#

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

(Foldable f,Foldable g) =>Foldable (f:+: g)Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

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

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

foldr :: (a -> b -> b) -> b -> (f:+: g) a -> bSource#

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

foldl :: (b -> a -> b) -> b -> (f:+: g) a -> bSource#

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

foldr1 :: (a -> a -> a) -> (f:+: g) a -> aSource#

foldl1 :: (a -> a -> a) -> (f:+: g) a -> aSource#

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

null :: (f:+: g) a ->BoolSource#

length :: (f:+: g) a ->IntSource#

elem ::Eq a => a -> (f:+: g) a ->BoolSource#

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

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

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

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

(Traversable f,Traversable g) =>Traversable (f:+: g)Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

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

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

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

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

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

Defined inData.Functor.Contravariant

Methods

contramap :: (a -> b) -> (f:+: g) b -> (f:+: g) aSource#

(>$) :: b -> (f:+: g) b -> (f:+: g) aSource#

(Eq (f p),Eq (g p)) =>Eq ((f:+: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.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)Source#

Since: 4.9.0.0

Instance details

Defined inData.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)Source#

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

toConstr :: (f:+: g) p ->ConstrSource#

dataTypeOf :: (f:+: g) p ->DataTypeSource#

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

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

gmapT :: (forall b.Data b => b -> b) -> (f:+: g) p -> (f:+: g) pSource#

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

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

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

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

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

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

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

(Ord (f p),Ord (g p)) =>Ord ((f:+: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.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)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

(Show (f p),Show (g p)) =>Show ((f:+: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Methods

showsPrec ::Int -> (f:+: g) p ->ShowSSource#

show :: (f:+: g) p ->StringSource#

showList :: [(f:+: g) p] ->ShowSSource#

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

Defined inGHC.Generics

Associated Types

typeRep ((f:+: g) p) ::Type ->TypeSource#

Methods

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

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

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

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep ((f:+: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

data ((f :: k ->Type):*: (g :: k ->Type)) (p :: k)infixr 6Source#

Products: encode multiple arguments to constructors

Constructors

(f p):*: (g p)infixr 6 
Instances
Generic1 (f:*: g :: k ->Type)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep1 (f:*: g) :: k ->TypeSource#

Methods

from1 :: (f:*: g) a ->Rep1 (f:*: g) aSource#

to1 ::Rep1 (f:*: g) a -> (f:*: g) aSource#

(Monad f,Monad g) =>Monad (f:*: g)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

(>>=) :: (f:*: g) a -> (a -> (f:*: g) b) -> (f:*: g) bSource#

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

return :: a -> (f:*: g) aSource#

fail ::String -> (f:*: g) aSource#

(Functor f,Functor g) =>Functor (f:*: g)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) -> (f:*: g) a -> (f:*: g) bSource#

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

(MonadFix f,MonadFix g) =>MonadFix (f:*: g)Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Fix

Methods

mfix :: (a -> (f:*: g) a) -> (f:*: g) aSource#

(Applicative f,Applicative g) =>Applicative (f:*: g)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

pure :: a -> (f:*: g) aSource#

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

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

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

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

(Foldable f,Foldable g) =>Foldable (f:*: g)Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

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

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

foldr :: (a -> b -> b) -> b -> (f:*: g) a -> bSource#

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

foldl :: (b -> a -> b) -> b -> (f:*: g) a -> bSource#

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

foldr1 :: (a -> a -> a) -> (f:*: g) a -> aSource#

foldl1 :: (a -> a -> a) -> (f:*: g) a -> aSource#

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

null :: (f:*: g) a ->BoolSource#

length :: (f:*: g) a ->IntSource#

elem ::Eq a => a -> (f:*: g) a ->BoolSource#

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

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

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

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

(Traversable f,Traversable g) =>Traversable (f:*: g)Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

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

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

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

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

(MonadPlus f,MonadPlus g) =>MonadPlus (f:*: g)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

mzero :: (f:*: g) aSource#

mplus :: (f:*: g) a -> (f:*: g) a -> (f:*: g) aSource#

(Alternative f,Alternative g) =>Alternative (f:*: g)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

empty :: (f:*: g) aSource#

(<|>) :: (f:*: g) a -> (f:*: g) a -> (f:*: g) aSource#

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

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

(MonadZip f,MonadZip g) =>MonadZip (f:*: g)Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip :: (f:*: g) a -> (f:*: g) b -> (f:*: g) (a, b)Source#

mzipWith :: (a -> b -> c) -> (f:*: g) a -> (f:*: g) b -> (f:*: g) cSource#

munzip :: (f:*: g) (a, b) -> ((f:*: g) a, (f:*: g) b)Source#

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

Defined inData.Functor.Contravariant

Methods

contramap :: (a -> b) -> (f:*: g) b -> (f:*: g) aSource#

(>$) :: b -> (f:*: g) b -> (f:*: g) aSource#

(Eq (f p),Eq (g p)) =>Eq ((f:*: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.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)Source#

Since: 4.9.0.0

Instance details

Defined inData.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)Source#

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

toConstr :: (f:*: g) p ->ConstrSource#

dataTypeOf :: (f:*: g) p ->DataTypeSource#

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

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

gmapT :: (forall b.Data b => b -> b) -> (f:*: g) p -> (f:*: g) pSource#

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

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

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

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

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

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

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

(Ord (f p),Ord (g p)) =>Ord ((f:*: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.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)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

(Show (f p),Show (g p)) =>Show ((f:*: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Methods

showsPrec ::Int -> (f:*: g) p ->ShowSSource#

show :: (f:*: g) p ->StringSource#

showList :: [(f:*: g) p] ->ShowSSource#

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

Defined inGHC.Generics

Associated Types

typeRep ((f:*: g) p) ::Type ->TypeSource#

Methods

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

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

(Semigroup (f p),Semigroup (g p)) =>Semigroup ((f:*: g) p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

(<>) :: (f:*: g) p -> (f:*: g) p -> (f:*: g) pSource#

sconcat ::NonEmpty ((f:*: g) p) -> (f:*: g) pSource#

stimes ::Integral b => b -> (f:*: g) p -> (f:*: g) pSource#

(Monoid (f p),Monoid (g p)) =>Monoid ((f:*: g) p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

mempty :: (f:*: g) pSource#

mappend :: (f:*: g) p -> (f:*: g) p -> (f:*: g) pSource#

mconcat :: [(f:*: g) p] -> (f:*: g) pSource#

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

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep ((f:*: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

newtype ((f :: k2 ->Type):.: (g :: k1 -> k2)) (p :: k1)infixr 7Source#

Composition of functors

Constructors

Comp1 

Fields

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

Defined inGHC.Generics

Associated Types

typeRep1 (f:.: g) :: k ->TypeSource#

Methods

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

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

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

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

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

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

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

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

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

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

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

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

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

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

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

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

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

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

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

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

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

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

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

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

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

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

Defined inData.Functor.Contravariant

Methods

contramap :: (a -> b) -> (f:.: g) b -> (f:.: g) aSource#

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

Eq (f (g p)) =>Eq ((f:.: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Methods

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

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

(Typeable f,Typeable g,Data p,Data (f (g p))) =>Data ((f:.: g) p)Source#

Since: 4.9.0.0

Instance details

Defined inData.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)Source#

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

toConstr :: (f:.: g) p ->ConstrSource#

dataTypeOf :: (f:.: g) p ->DataTypeSource#

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

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

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

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

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

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

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

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

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

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

Ord (f (g p)) =>Ord ((f:.: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.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 (g p)) =>Read ((f:.: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Show (f (g p)) =>Show ((f:.: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Methods

showsPrec ::Int -> (f:.: g) p ->ShowSSource#

show :: (f:.: g) p ->StringSource#

showList :: [(f:.: g) p] ->ShowSSource#

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

Defined inGHC.Generics

Associated Types

typeRep ((f:.: g) p) ::Type ->TypeSource#

Methods

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

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

Semigroup (f (g p)) =>Semigroup ((f:.: g) p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

(<>) :: (f:.: g) p -> (f:.: g) p -> (f:.: g) pSource#

sconcat ::NonEmpty ((f:.: g) p) -> (f:.: g) pSource#

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

Monoid (f (g p)) =>Monoid ((f:.: g) p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

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

mappend :: (f:.: g) p -> (f:.: g) p -> (f:.: g) pSource#

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

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

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep1 (f:.: g :: k ->Type) =D1 (MetaData ":.:" "GHC.Generics" "base"True) (C1 (MetaCons "Comp1"PrefixITrue) (S1 (MetaSel (Just "unComp1")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (f:.:Rec1 g)))
typeRep ((f:.: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

typeRep ((f:.: g) p) =D1 (MetaData ":.:" "GHC.Generics" "base"True) (C1 (MetaCons "Comp1"PrefixITrue) (S1 (MetaSel (Just "unComp1")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 (f (g p)))))

Unboxed representation types

data familyURec (a ::Type) (p :: k)Source#

Constants of unlifted kinds

Since: 4.9.0.0

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

Defined inGHC.Generics

Associated Types

typeRep1 (URecWord) :: k ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (URecInt) :: k ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (URecFloat) :: k ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (URecDouble) :: k ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (URecChar) :: k ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (URec (Ptr ())) :: k ->TypeSource#

Methods

from1 ::URec (Ptr ()) a ->Rep1 (URec (Ptr ())) aSource#

to1 ::Rep1 (URec (Ptr ())) a ->URec (Ptr ()) aSource#

Functor (URecChar ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) ->URecChar a ->URecChar bSource#

(<$) :: a ->URecChar b ->URecChar aSource#

Functor (URecDouble ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) ->URecDouble a ->URecDouble bSource#

(<$) :: a ->URecDouble b ->URecDouble aSource#

Functor (URecFloat ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) ->URecFloat a ->URecFloat bSource#

(<$) :: a ->URecFloat b ->URecFloat aSource#

Functor (URecInt ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) ->URecInt a ->URecInt bSource#

(<$) :: a ->URecInt b ->URecInt aSource#

Functor (URecWord ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) ->URecWord a ->URecWord bSource#

(<$) :: a ->URecWord b ->URecWord aSource#

Functor (URec (Ptr ()) ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

fmap :: (a -> b) ->URec (Ptr ()) a ->URec (Ptr ()) bSource#

(<$) :: a ->URec (Ptr ()) b ->URec (Ptr ()) aSource#

Foldable (URecChar ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>URecChar m -> mSource#

foldMap ::Monoid m => (a -> m) ->URecChar a -> mSource#

foldr :: (a -> b -> b) -> b ->URecChar a -> bSource#

foldr' :: (a -> b -> b) -> b ->URecChar a -> bSource#

foldl :: (b -> a -> b) -> b ->URecChar a -> bSource#

foldl' :: (b -> a -> b) -> b ->URecChar a -> bSource#

foldr1 :: (a -> a -> a) ->URecChar a -> aSource#

foldl1 :: (a -> a -> a) ->URecChar a -> aSource#

toList ::URecChar a -> [a]Source#

null ::URecChar a ->BoolSource#

length ::URecChar a ->IntSource#

elem ::Eq a => a ->URecChar a ->BoolSource#

maximum ::Ord a =>URecChar a -> aSource#

minimum ::Ord a =>URecChar a -> aSource#

sum ::Num a =>URecChar a -> aSource#

product ::Num a =>URecChar a -> aSource#

Foldable (URecDouble ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>URecDouble m -> mSource#

foldMap ::Monoid m => (a -> m) ->URecDouble a -> mSource#

foldr :: (a -> b -> b) -> b ->URecDouble a -> bSource#

foldr' :: (a -> b -> b) -> b ->URecDouble a -> bSource#

foldl :: (b -> a -> b) -> b ->URecDouble a -> bSource#

foldl' :: (b -> a -> b) -> b ->URecDouble a -> bSource#

foldr1 :: (a -> a -> a) ->URecDouble a -> aSource#

foldl1 :: (a -> a -> a) ->URecDouble a -> aSource#

toList ::URecDouble a -> [a]Source#

null ::URecDouble a ->BoolSource#

length ::URecDouble a ->IntSource#

elem ::Eq a => a ->URecDouble a ->BoolSource#

maximum ::Ord a =>URecDouble a -> aSource#

minimum ::Ord a =>URecDouble a -> aSource#

sum ::Num a =>URecDouble a -> aSource#

product ::Num a =>URecDouble a -> aSource#

Foldable (URecFloat ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>URecFloat m -> mSource#

foldMap ::Monoid m => (a -> m) ->URecFloat a -> mSource#

foldr :: (a -> b -> b) -> b ->URecFloat a -> bSource#

foldr' :: (a -> b -> b) -> b ->URecFloat a -> bSource#

foldl :: (b -> a -> b) -> b ->URecFloat a -> bSource#

foldl' :: (b -> a -> b) -> b ->URecFloat a -> bSource#

foldr1 :: (a -> a -> a) ->URecFloat a -> aSource#

foldl1 :: (a -> a -> a) ->URecFloat a -> aSource#

toList ::URecFloat a -> [a]Source#

null ::URecFloat a ->BoolSource#

length ::URecFloat a ->IntSource#

elem ::Eq a => a ->URecFloat a ->BoolSource#

maximum ::Ord a =>URecFloat a -> aSource#

minimum ::Ord a =>URecFloat a -> aSource#

sum ::Num a =>URecFloat a -> aSource#

product ::Num a =>URecFloat a -> aSource#

Foldable (URecInt ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>URecInt m -> mSource#

foldMap ::Monoid m => (a -> m) ->URecInt a -> mSource#

foldr :: (a -> b -> b) -> b ->URecInt a -> bSource#

foldr' :: (a -> b -> b) -> b ->URecInt a -> bSource#

foldl :: (b -> a -> b) -> b ->URecInt a -> bSource#

foldl' :: (b -> a -> b) -> b ->URecInt a -> bSource#

foldr1 :: (a -> a -> a) ->URecInt a -> aSource#

foldl1 :: (a -> a -> a) ->URecInt a -> aSource#

toList ::URecInt a -> [a]Source#

null ::URecInt a ->BoolSource#

length ::URecInt a ->IntSource#

elem ::Eq a => a ->URecInt a ->BoolSource#

maximum ::Ord a =>URecInt a -> aSource#

minimum ::Ord a =>URecInt a -> aSource#

sum ::Num a =>URecInt a -> aSource#

product ::Num a =>URecInt a -> aSource#

Foldable (URecWord ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>URecWord m -> mSource#

foldMap ::Monoid m => (a -> m) ->URecWord a -> mSource#

foldr :: (a -> b -> b) -> b ->URecWord a -> bSource#

foldr' :: (a -> b -> b) -> b ->URecWord a -> bSource#

foldl :: (b -> a -> b) -> b ->URecWord a -> bSource#

foldl' :: (b -> a -> b) -> b ->URecWord a -> bSource#

foldr1 :: (a -> a -> a) ->URecWord a -> aSource#

foldl1 :: (a -> a -> a) ->URecWord a -> aSource#

toList ::URecWord a -> [a]Source#

null ::URecWord a ->BoolSource#

length ::URecWord a ->IntSource#

elem ::Eq a => a ->URecWord a ->BoolSource#

maximum ::Ord a =>URecWord a -> aSource#

minimum ::Ord a =>URecWord a -> aSource#

sum ::Num a =>URecWord a -> aSource#

product ::Num a =>URecWord a -> aSource#

Foldable (URec (Ptr ()) ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>URec (Ptr ()) m -> mSource#

foldMap ::Monoid m => (a -> m) ->URec (Ptr ()) a -> mSource#

foldr :: (a -> b -> b) -> b ->URec (Ptr ()) a -> bSource#

foldr' :: (a -> b -> b) -> b ->URec (Ptr ()) a -> bSource#

foldl :: (b -> a -> b) -> b ->URec (Ptr ()) a -> bSource#

foldl' :: (b -> a -> b) -> b ->URec (Ptr ()) a -> bSource#

foldr1 :: (a -> a -> a) ->URec (Ptr ()) a -> aSource#

foldl1 :: (a -> a -> a) ->URec (Ptr ()) a -> aSource#

toList ::URec (Ptr ()) a -> [a]Source#

null ::URec (Ptr ()) a ->BoolSource#

length ::URec (Ptr ()) a ->IntSource#

elem ::Eq a => a ->URec (Ptr ()) a ->BoolSource#

maximum ::Ord a =>URec (Ptr ()) a -> aSource#

minimum ::Ord a =>URec (Ptr ()) a -> aSource#

sum ::Num a =>URec (Ptr ()) a -> aSource#

product ::Num a =>URec (Ptr ()) a -> aSource#

Traversable (URecChar ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->URecChar a -> f (URecChar b)Source#

sequenceA ::Applicative f =>URecChar (f a) -> f (URecChar a)Source#

mapM ::Monad m => (a -> m b) ->URecChar a -> m (URecChar b)Source#

sequence ::Monad m =>URecChar (m a) -> m (URecChar a)Source#

Traversable (URecDouble ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->URecDouble a -> f (URecDouble b)Source#

sequenceA ::Applicative f =>URecDouble (f a) -> f (URecDouble a)Source#

mapM ::Monad m => (a -> m b) ->URecDouble a -> m (URecDouble b)Source#

sequence ::Monad m =>URecDouble (m a) -> m (URecDouble a)Source#

Traversable (URecFloat ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->URecFloat a -> f (URecFloat b)Source#

sequenceA ::Applicative f =>URecFloat (f a) -> f (URecFloat a)Source#

mapM ::Monad m => (a -> m b) ->URecFloat a -> m (URecFloat b)Source#

sequence ::Monad m =>URecFloat (m a) -> m (URecFloat a)Source#

Traversable (URecInt ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->URecInt a -> f (URecInt b)Source#

sequenceA ::Applicative f =>URecInt (f a) -> f (URecInt a)Source#

mapM ::Monad m => (a -> m b) ->URecInt a -> m (URecInt b)Source#

sequence ::Monad m =>URecInt (m a) -> m (URecInt a)Source#

Traversable (URecWord ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->URecWord a -> f (URecWord b)Source#

sequenceA ::Applicative f =>URecWord (f a) -> f (URecWord a)Source#

mapM ::Monad m => (a -> m b) ->URecWord a -> m (URecWord b)Source#

sequence ::Monad m =>URecWord (m a) -> m (URecWord a)Source#

Traversable (URec (Ptr ()) ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->URec (Ptr ()) a -> f (URec (Ptr ()) b)Source#

sequenceA ::Applicative f =>URec (Ptr ()) (f a) -> f (URec (Ptr ()) a)Source#

mapM ::Monad m => (a -> m b) ->URec (Ptr ()) a -> m (URec (Ptr ()) b)Source#

sequence ::Monad m =>URec (Ptr ()) (m a) -> m (URec (Ptr ()) a)Source#

Eq (URecWord p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Eq (URecInt p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

(==) ::URecInt p ->URecInt p ->Bool#

(/=) ::URecInt p ->URecInt p ->Bool#

Eq (URecFloat p)Source# 
Instance details

Defined inGHC.Generics

Eq (URecDouble p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Eq (URecChar p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Eq (URec (Ptr ()) p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

(==) ::URec (Ptr ()) p ->URec (Ptr ()) p ->Bool#

(/=) ::URec (Ptr ()) p ->URec (Ptr ()) p ->Bool#

Ord (URecWord p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Ord (URecInt p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Ord (URecFloat p)Source# 
Instance details

Defined inGHC.Generics

Ord (URecDouble p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Ord (URecChar p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Ord (URec (Ptr ()) p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.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#

Show (URecWord p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Show (URecInt p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Show (URecFloat p)Source# 
Instance details

Defined inGHC.Generics

Show (URecDouble p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Show (URecChar p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Generic (URecWord p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (URecWord p) ::Type ->TypeSource#

Generic (URecInt p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (URecInt p) ::Type ->TypeSource#

Methods

from ::URecInt p ->Rep (URecInt p) xSource#

to ::Rep (URecInt p) x ->URecInt pSource#

Generic (URecFloat p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (URecFloat p) ::Type ->TypeSource#

Generic (URecDouble p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (URecDouble p) ::Type ->TypeSource#

Generic (URecChar p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (URecChar p) ::Type ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep (URec (Ptr ()) p) ::Type ->TypeSource#

Methods

from ::URec (Ptr ()) p ->Rep (URec (Ptr ()) p) xSource#

to ::Rep (URec (Ptr ()) p) x ->URec (Ptr ()) pSource#

dataURecWord (p :: k)Source#

Used for marking occurrences ofWord#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

dataURecWord (p :: k) =UWord {}
dataURecInt (p :: k)Source#

Used for marking occurrences ofInt#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

dataURecInt (p :: k) =UInt {}
dataURecFloat (p :: k)Source#

Used for marking occurrences ofFloat#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

dataURecFloat (p :: k) =UFloat {}
dataURecDouble (p :: k)Source#

Used for marking occurrences ofDouble#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

dataURecChar (p :: k)Source#

Used for marking occurrences ofChar#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

dataURecChar (p :: k) =UChar {}
dataURec (Ptr ()) (p :: k)Source#

Used for marking occurrences ofAddr#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

dataURec (Ptr ()) (p :: k) =UAddr {}
typeRep1 (URecWord :: k ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep1 (URecWord :: k ->Type) =D1 (MetaData "URec" "GHC.Generics" "base"False) (C1 (MetaCons "UWord"PrefixITrue) (S1 (MetaSel (Just "uWord#")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (UWord :: k ->Type)))
typeRep1 (URecInt :: k ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep1 (URecInt :: k ->Type) =D1 (MetaData "URec" "GHC.Generics" "base"False) (C1 (MetaCons "UInt"PrefixITrue) (S1 (MetaSel (Just "uInt#")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (UInt :: k ->Type)))
typeRep1 (URecFloat :: k ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep1 (URecFloat :: k ->Type) =D1 (MetaData "URec" "GHC.Generics" "base"False) (C1 (MetaCons "UFloat"PrefixITrue) (S1 (MetaSel (Just "uFloat#")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (UFloat :: k ->Type)))
typeRep1 (URecDouble :: k ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep1 (URecDouble :: k ->Type) =D1 (MetaData "URec" "GHC.Generics" "base"False) (C1 (MetaCons "UDouble"PrefixITrue) (S1 (MetaSel (Just "uDouble#")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (UDouble :: k ->Type)))
typeRep1 (URecChar :: k ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep1 (URecChar :: k ->Type) =D1 (MetaData "URec" "GHC.Generics" "base"False) (C1 (MetaCons "UChar"PrefixITrue) (S1 (MetaSel (Just "uChar#")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (UChar :: k ->Type)))
typeRep1 (URec (Ptr ()) :: k ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep1 (URec (Ptr ()) :: k ->Type) =D1 (MetaData "URec" "GHC.Generics" "base"False) (C1 (MetaCons "UAddr"PrefixITrue) (S1 (MetaSel (Just "uAddr#")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (UAddr :: k ->Type)))
typeRep (URecWord p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep (URecWord p) =D1 (MetaData "URec" "GHC.Generics" "base"False) (C1 (MetaCons "UWord"PrefixITrue) (S1 (MetaSel (Just "uWord#")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (UWord ::Type ->Type)))
typeRep (URecInt p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep (URecInt p) =D1 (MetaData "URec" "GHC.Generics" "base"False) (C1 (MetaCons "UInt"PrefixITrue) (S1 (MetaSel (Just "uInt#")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (UInt ::Type ->Type)))
typeRep (URecFloat p)Source# 
Instance details

Defined inGHC.Generics

typeRep (URecFloat p) =D1 (MetaData "URec" "GHC.Generics" "base"False) (C1 (MetaCons "UFloat"PrefixITrue) (S1 (MetaSel (Just "uFloat#")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (UFloat ::Type ->Type)))
typeRep (URecDouble p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep (URecDouble p) =D1 (MetaData "URec" "GHC.Generics" "base"False) (C1 (MetaCons "UDouble"PrefixITrue) (S1 (MetaSel (Just "uDouble#")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (UDouble ::Type ->Type)))
typeRep (URecChar p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep (URecChar p) =D1 (MetaData "URec" "GHC.Generics" "base"False) (C1 (MetaCons "UChar"PrefixITrue) (S1 (MetaSel (Just "uChar#")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (UChar ::Type ->Type)))
typeRep (URec (Ptr ()) p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRep (URec (Ptr ()) p) =D1 (MetaData "URec" "GHC.Generics" "base"False) (C1 (MetaCons "UAddr"PrefixITrue) (S1 (MetaSel (Just "uAddr#")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (UAddr ::Type ->Type)))

typeUAddr =URec (Ptr ())Source#

Type synonym forURecAddr#

Since: 4.9.0.0

typeUChar =URecCharSource#

Type synonym forURecChar#

Since: 4.9.0.0

typeUDouble =URecDoubleSource#

Type synonym forURecDouble#

Since: 4.9.0.0

typeUFloat =URecFloatSource#

Type synonym forURecFloat#

Since: 4.9.0.0

typeUInt =URecIntSource#

Type synonym forURecInt#

Since: 4.9.0.0

typeUWord =URecWordSource#

Type synonym forURecWord#

Since: 4.9.0.0

Synonyms for convenience

typeRec0 =K1RSource#

Type synonym for encoding recursion (of kindType)

dataRSource#

Tag for K1: recursion (of kindType)

typeD1 =M1DSource#

Type synonym for encoding meta-information for datatypes

typeC1 =M1CSource#

Type synonym for encoding meta-information for constructors

typeS1 =M1SSource#

Type synonym for encoding meta-information for record selectors

dataDSource#

Tag for M1: datatype

dataCSource#

Tag for M1: constructor

dataSSource#

Tag for M1: record selector

Meta-information

classDatatype dwhereSource#

Class for datatypes that represent datatypes

Minimal complete definition

datatypeName,moduleName,packageName

Methods

datatypeName :: t d (f :: k ->Type) (a :: k) -> [Char]Source#

The name of the datatype (unqualified)

moduleName :: t d (f :: k ->Type) (a :: k) -> [Char]Source#

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

packageName :: t d (f :: k ->Type) (a :: k) -> [Char]Source#

The package name of the module where the type is declared

Since: 4.9.0.0

isNewtype :: t d (f :: k ->Type) (a :: k) ->BoolSource#

Marks if the datatype is actually a newtype

Since: 4.7.0.0

Instances
(KnownSymbol n,KnownSymbol m,KnownSymbol p, SingI nt) =>Datatype (MetaData n m p nt ::Meta)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

datatypeName :: t (MetaData n m p nt) f a -> [Char]Source#

moduleName :: t (MetaData n m p nt) f a -> [Char]Source#

packageName :: t (MetaData n m p nt) f a -> [Char]Source#

isNewtype :: t (MetaData n m p nt) f a ->BoolSource#

classConstructor cwhereSource#

Class for datatypes that represent data constructors

Minimal complete definition

conName

Methods

conName :: t c (f :: k ->Type) (a :: k) -> [Char]Source#

The name of the constructor

conFixity :: t c (f :: k ->Type) (a :: k) ->FixitySource#

The fixity of the constructor

conIsRecord :: t c (f :: k ->Type) (a :: k) ->BoolSource#

Marks if this constructor is a record

Instances
(KnownSymbol n, SingI f, SingI r) =>Constructor (MetaCons n f r ::Meta)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

conName :: t (MetaCons n f r) f0 a -> [Char]Source#

conFixity :: t (MetaCons n f r) f0 a ->FixitySource#

conIsRecord :: t (MetaCons n f r) f0 a ->BoolSource#

classSelector swhereSource#

Class for datatypes that represent records

Methods

selName :: t s (f :: k ->Type) (a :: k) -> [Char]Source#

The name of the selector

selSourceUnpackedness :: t s (f :: k ->Type) (a :: k) ->SourceUnpackednessSource#

The selector's unpackedness annotation (if any)

Since: 4.9.0.0

selSourceStrictness :: t s (f :: k ->Type) (a :: k) ->SourceStrictnessSource#

The selector's strictness annotation (if any)

Since: 4.9.0.0

selDecidedStrictness :: t s (f :: k ->Type) (a :: k) ->DecidedStrictnessSource#

The strictness that the compiler inferred for the selector

Since: 4.9.0.0

Instances
(SingI mn, SingI su, SingI ss, SingI ds) =>Selector (MetaSel mn su ss ds ::Meta)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

dataFixitySource#

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

Constructors

Prefix 
InfixAssociativityInt 
Instances
EqFixitySource#

Since: 4.6.0.0

Instance details

Defined inGHC.Generics

DataFixitySource#

Since: 4.9.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->Fixity -> cFixitySource#

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

toConstr ::Fixity ->ConstrSource#

dataTypeOf ::Fixity ->DataTypeSource#

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

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

gmapT :: (forall b.Data b => b -> b) ->Fixity ->FixitySource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->Fixity -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->Fixity -> rSource#

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

gmapQi ::Int -> (forall d.Data d => d -> u) ->Fixity -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->Fixity -> mFixitySource#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->Fixity -> mFixitySource#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->Fixity -> mFixitySource#

OrdFixitySource#

Since: 4.6.0.0

Instance details

Defined inGHC.Generics

ReadFixitySource#

Since: 4.6.0.0

Instance details

Defined inGHC.Generics

ShowFixitySource#

Since: 4.6.0.0

Instance details

Defined inGHC.Generics

GenericFixitySource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRepFixity ::Type ->TypeSource#

typeRepFixitySource#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

dataFixityISource#

This variant ofFixity appears at the type level.

Since: 4.9.0.0

Constructors

PrefixI 
InfixIAssociativityNat 

dataAssociativitySource#

Datatype to represent the associativity of a constructor

Constructors

LeftAssociative 
RightAssociative 
NotAssociative 
Instances
BoundedAssociativitySource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

EnumAssociativitySource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

EqAssociativitySource#

Since: 4.6.0.0

Instance details

Defined inGHC.Generics

DataAssociativitySource#

Since: 4.9.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->Associativity -> cAssociativitySource#

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

toConstr ::Associativity ->ConstrSource#

dataTypeOf ::Associativity ->DataTypeSource#

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

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

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

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

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

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

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

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

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

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

OrdAssociativitySource#

Since: 4.6.0.0

Instance details

Defined inGHC.Generics

ReadAssociativitySource#

Since: 4.6.0.0

Instance details

Defined inGHC.Generics

ShowAssociativitySource#

Since: 4.6.0.0

Instance details

Defined inGHC.Generics

IxAssociativitySource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

GenericAssociativitySource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRepAssociativity ::Type ->TypeSource#

typeRepAssociativitySource#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

typeRepAssociativity =D1 (MetaData "Associativity" "GHC.Generics" "base"False) (C1 (MetaCons "LeftAssociative"PrefixIFalse) (U1 ::Type ->Type):+: (C1 (MetaCons "RightAssociative"PrefixIFalse) (U1 ::Type ->Type):+:C1 (MetaCons "NotAssociative"PrefixIFalse) (U1 ::Type ->Type)))

prec ::Fixity ->IntSource#

Get the precedence of a fixity value.

dataSourceUnpackednessSource#

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 ofExampleConstructor haveNoSourceUnpackedness,SourceNoUnpack, andSourceUnpack, respectively.

Since: 4.9.0.0

Constructors

NoSourceUnpackedness 
SourceNoUnpack 
SourceUnpack 
Instances
BoundedSourceUnpackednessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

EnumSourceUnpackednessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

EqSourceUnpackednessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

DataSourceUnpackednessSource#

Since: 4.9.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->SourceUnpackedness -> cSourceUnpackednessSource#

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

toConstr ::SourceUnpackedness ->ConstrSource#

dataTypeOf ::SourceUnpackedness ->DataTypeSource#

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

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

gmapT :: (forall b.Data b => b -> b) ->SourceUnpackedness ->SourceUnpackednessSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->SourceUnpackedness -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->SourceUnpackedness -> rSource#

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

gmapQi ::Int -> (forall d.Data d => d -> u) ->SourceUnpackedness -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->SourceUnpackedness -> mSourceUnpackednessSource#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->SourceUnpackedness -> mSourceUnpackednessSource#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->SourceUnpackedness -> mSourceUnpackednessSource#

OrdSourceUnpackednessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

ReadSourceUnpackednessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

ShowSourceUnpackednessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

IxSourceUnpackednessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

GenericSourceUnpackednessSource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRepSourceUnpackedness ::Type ->TypeSource#

typeRepSourceUnpackednessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRepSourceUnpackedness =D1 (MetaData "SourceUnpackedness" "GHC.Generics" "base"False) (C1 (MetaCons "NoSourceUnpackedness"PrefixIFalse) (U1 ::Type ->Type):+: (C1 (MetaCons "SourceNoUnpack"PrefixIFalse) (U1 ::Type ->Type):+:C1 (MetaCons "SourceUnpack"PrefixIFalse) (U1 ::Type ->Type)))

dataSourceStrictnessSource#

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 ofExampleConstructor haveNoSourceStrictness,SourceLazy, andSourceStrict, respectively.

Since: 4.9.0.0

Constructors

NoSourceStrictness 
SourceLazy 
SourceStrict 
Instances
BoundedSourceStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

EnumSourceStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

EqSourceStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

DataSourceStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->SourceStrictness -> cSourceStrictnessSource#

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

toConstr ::SourceStrictness ->ConstrSource#

dataTypeOf ::SourceStrictness ->DataTypeSource#

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

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

gmapT :: (forall b.Data b => b -> b) ->SourceStrictness ->SourceStrictnessSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->SourceStrictness -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->SourceStrictness -> rSource#

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

gmapQi ::Int -> (forall d.Data d => d -> u) ->SourceStrictness -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->SourceStrictness -> mSourceStrictnessSource#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->SourceStrictness -> mSourceStrictnessSource#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->SourceStrictness -> mSourceStrictnessSource#

OrdSourceStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

ReadSourceStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

ShowSourceStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

IxSourceStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

GenericSourceStrictnessSource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRepSourceStrictness ::Type ->TypeSource#

typeRepSourceStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRepSourceStrictness =D1 (MetaData "SourceStrictness" "GHC.Generics" "base"False) (C1 (MetaCons "NoSourceStrictness"PrefixIFalse) (U1 ::Type ->Type):+: (C1 (MetaCons "SourceLazy"PrefixIFalse) (U1 ::Type ->Type):+:C1 (MetaCons "SourceStrict"PrefixIFalse) (U1 ::Type ->Type)))

dataDecidedStrictnessSource#

The strictness that GHC infers for a field during compilation. Whereas there are nine different combinations ofSourceUnpackedness andSourceStrictness, 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: 4.9.0.0

Constructors

DecidedLazy 
DecidedStrict 
DecidedUnpack 
Instances
BoundedDecidedStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

EnumDecidedStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

EqDecidedStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

DataDecidedStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->DecidedStrictness -> cDecidedStrictnessSource#

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

toConstr ::DecidedStrictness ->ConstrSource#

dataTypeOf ::DecidedStrictness ->DataTypeSource#

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

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

gmapT :: (forall b.Data b => b -> b) ->DecidedStrictness ->DecidedStrictnessSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->DecidedStrictness -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->DecidedStrictness -> rSource#

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

gmapQi ::Int -> (forall d.Data d => d -> u) ->DecidedStrictness -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->DecidedStrictness -> mDecidedStrictnessSource#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->DecidedStrictness -> mDecidedStrictnessSource#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->DecidedStrictness -> mDecidedStrictnessSource#

OrdDecidedStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

ReadDecidedStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

ShowDecidedStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

IxDecidedStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

GenericDecidedStrictnessSource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRepDecidedStrictness ::Type ->TypeSource#

typeRepDecidedStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

typeRepDecidedStrictness =D1 (MetaData "DecidedStrictness" "GHC.Generics" "base"False) (C1 (MetaCons "DecidedLazy"PrefixIFalse) (U1 ::Type ->Type):+: (C1 (MetaCons "DecidedStrict"PrefixIFalse) (U1 ::Type ->Type):+:C1 (MetaCons "DecidedUnpack"PrefixIFalse) (U1 ::Type ->Type)))

dataMetaSource#

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

  • InMetaData 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, andnt is'True if the datatype is anewtype.
  • InMetaCons n f s,n is the constructor's name,f is its fixity, ands is'True if the constructor contains record selectors.
  • InMetaSel mn su ss ds, if the field uses record syntax, thenmn isJust the record name. Otherwise,mn isNothing.su andss are the field's unpackedness and strictness annotations, andds is the strictness that GHC infers for the field.

Since: 4.9.0.0

Constructors

MetaDataSymbolSymbolSymbolBool 
MetaConsSymbolFixityIBool 
MetaSel (MaybeSymbol)SourceUnpackednessSourceStrictnessDecidedStrictness 
Instances
(KnownSymbol n, SingI f, SingI r) =>Constructor (MetaCons n f r ::Meta)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

conName :: t (MetaCons n f r) f0 a -> [Char]Source#

conFixity :: t (MetaCons n f r) f0 a ->FixitySource#

conIsRecord :: t (MetaCons n f r) f0 a ->BoolSource#

(KnownSymbol n,KnownSymbol m,KnownSymbol p, SingI nt) =>Datatype (MetaData n m p nt ::Meta)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Methods

datatypeName :: t (MetaData n m p nt) f a -> [Char]Source#

moduleName :: t (MetaData n m p nt) f a -> [Char]Source#

packageName :: t (MetaData n m p nt) f a -> [Char]Source#

isNewtype :: t (MetaData n m p nt) f a ->BoolSource#

(SingI mn, SingI su, SingI ss, SingI ds) =>Selector (MetaSel mn su ss ds ::Meta)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Generic type classes

classGeneric awhereSource#

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

AGeneric instance must satisfy the following laws:

from .toidto .fromid

Associated Types

typeRep a ::Type ->TypeSource#

Generic representation type

Methods

from :: a ->Rep a xSource#

Convert from the datatype to its representation

to ::Rep a x -> aSource#

Convert from the representation to the datatype

Instances
GenericBoolSource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRepBool ::Type ->TypeSource#

GenericOrderingSource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRepOrdering ::Type ->TypeSource#

Generic ()Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep () ::Type ->TypeSource#

Methods

from :: () ->Rep () xSource#

to ::Rep () x -> ()Source#

GenericDecidedStrictnessSource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRepDecidedStrictness ::Type ->TypeSource#

GenericSourceStrictnessSource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRepSourceStrictness ::Type ->TypeSource#

GenericSourceUnpackednessSource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRepSourceUnpackedness ::Type ->TypeSource#

GenericAssociativitySource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRepAssociativity ::Type ->TypeSource#

GenericFixitySource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRepFixity ::Type ->TypeSource#

GenericAnySource# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRepAny ::Type ->TypeSource#

GenericAllSource# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRepAll ::Type ->TypeSource#

GenericExitCodeSource# 
Instance details

Defined inGHC.IO.Exception

Associated Types

typeRepExitCode ::Type ->TypeSource#

GenericVersionSource# 
Instance details

Defined inData.Version

Associated Types

typeRepVersion ::Type ->TypeSource#

GenericVoidSource# 
Instance details

Defined inData.Void

Associated Types

typeRepVoid ::Type ->TypeSource#

Generic [a]Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep [a] ::Type ->TypeSource#

Methods

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

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

Generic (Maybe a)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (Maybe a) ::Type ->TypeSource#

Methods

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

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

Generic (Par1 p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (Par1 p) ::Type ->TypeSource#

Methods

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

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

Generic (NonEmpty a)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (NonEmpty a) ::Type ->TypeSource#

Generic (Down a)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (Down a) ::Type ->TypeSource#

Methods

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

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

Generic (Product a)Source# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep (Product a) ::Type ->TypeSource#

Methods

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

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

Generic (Sum a)Source# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep (Sum a) ::Type ->TypeSource#

Methods

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

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

Generic (Endo a)Source# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep (Endo a) ::Type ->TypeSource#

Methods

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

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

Generic (Dual a)Source# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep (Dual a) ::Type ->TypeSource#

Methods

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

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

Generic (Last a)Source# 
Instance details

Defined inData.Monoid

Associated Types

typeRep (Last a) ::Type ->TypeSource#

Methods

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

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

Generic (First a)Source# 
Instance details

Defined inData.Monoid

Associated Types

typeRep (First a) ::Type ->TypeSource#

Methods

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

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

Generic (Identity a)Source# 
Instance details

Defined inData.Functor.Identity

Associated Types

typeRep (Identity a) ::Type ->TypeSource#

Generic (ZipList a)Source# 
Instance details

Defined inControl.Applicative

Associated Types

typeRep (ZipList a) ::Type ->TypeSource#

Methods

from ::ZipList a ->Rep (ZipList a) xSource#

to ::Rep (ZipList a) x ->ZipList aSource#

Generic (Option a)Source# 
Instance details

Defined inData.Semigroup

Associated Types

typeRep (Option a) ::Type ->TypeSource#

Methods

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

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

Generic (WrappedMonoid m)Source# 
Instance details

Defined inData.Semigroup

Associated Types

typeRep (WrappedMonoid m) ::Type ->TypeSource#

Generic (Last a)Source# 
Instance details

Defined inData.Semigroup

Associated Types

typeRep (Last a) ::Type ->TypeSource#

Methods

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

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

Generic (First a)Source# 
Instance details

Defined inData.Semigroup

Associated Types

typeRep (First a) ::Type ->TypeSource#

Methods

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

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

Generic (Max a)Source# 
Instance details

Defined inData.Semigroup

Associated Types

typeRep (Max a) ::Type ->TypeSource#

Methods

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

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

Generic (Min a)Source# 
Instance details

Defined inData.Semigroup

Associated Types

typeRep (Min a) ::Type ->TypeSource#

Methods

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

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

Generic (Complex a)Source# 
Instance details

Defined inData.Complex

Associated Types

typeRep (Complex a) ::Type ->TypeSource#

Methods

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

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

Generic (Either a b)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (Either a b) ::Type ->TypeSource#

Methods

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

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

Generic (V1 p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (V1 p) ::Type ->TypeSource#

Methods

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

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

Generic (U1 p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (U1 p) ::Type ->TypeSource#

Methods

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

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

Generic (a, b)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (a, b) ::Type ->TypeSource#

Methods

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

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

Generic (Proxy t)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (Proxy t) ::Type ->TypeSource#

Methods

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

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

Generic (WrappedMonad m a)Source# 
Instance details

Defined inControl.Applicative

Associated Types

typeRep (WrappedMonad m a) ::Type ->TypeSource#

Generic (Arg a b)Source# 
Instance details

Defined inData.Semigroup

Associated Types

typeRep (Arg a b) ::Type ->TypeSource#

Methods

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

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

Generic (Rec1 f p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (Rec1 f p) ::Type ->TypeSource#

Methods

from ::Rec1 f p ->Rep (Rec1 f p) xSource#

to ::Rep (Rec1 f p) x ->Rec1 f pSource#

Generic (URecWord p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (URecWord p) ::Type ->TypeSource#

Generic (URecInt p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (URecInt p) ::Type ->TypeSource#

Methods

from ::URecInt p ->Rep (URecInt p) xSource#

to ::Rep (URecInt p) x ->URecInt pSource#

Generic (URecFloat p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (URecFloat p) ::Type ->TypeSource#

Generic (URecDouble p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (URecDouble p) ::Type ->TypeSource#

Generic (URecChar p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (URecChar p) ::Type ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep (URec (Ptr ()) p) ::Type ->TypeSource#

Methods

from ::URec (Ptr ()) p ->Rep (URec (Ptr ()) p) xSource#

to ::Rep (URec (Ptr ()) p) x ->URec (Ptr ()) pSource#

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

Defined inGHC.Generics

Associated Types

typeRep (a, b, c) ::Type ->TypeSource#

Methods

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

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

Generic (Alt f a)Source# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep (Alt f a) ::Type ->TypeSource#

Methods

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

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

Generic (Ap f a)Source# 
Instance details

Defined inData.Monoid

Associated Types

typeRep (Ap f a) ::Type ->TypeSource#

Methods

from ::Ap f a ->Rep (Ap f a) xSource#

to ::Rep (Ap f a) x ->Ap f aSource#

Generic (Const a b)Source# 
Instance details

Defined inData.Functor.Const

Associated Types

typeRep (Const a b) ::Type ->TypeSource#

Methods

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

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

Generic (WrappedArrow a b c)Source# 
Instance details

Defined inControl.Applicative

Associated Types

typeRep (WrappedArrow a b c) ::Type ->TypeSource#

Methods

from ::WrappedArrow a b c ->Rep (WrappedArrow a b c) xSource#

to ::Rep (WrappedArrow a b c) x ->WrappedArrow a b cSource#

Generic (K1 i c p)Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep (K1 i c p) ::Type ->TypeSource#

Methods

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

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

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

Defined inGHC.Generics

Associated Types

typeRep ((f:+: g) p) ::Type ->TypeSource#

Methods

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

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

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

Defined inGHC.Generics

Associated Types

typeRep ((f:*: g) p) ::Type ->TypeSource#

Methods

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

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

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

Defined inGHC.Generics

Associated Types

typeRep (a, b, c, d) ::Type ->TypeSource#

Methods

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

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

Generic (Sum f g a)Source# 
Instance details

Defined inData.Functor.Sum

Associated Types

typeRep (Sum f g a) ::Type ->TypeSource#

Methods

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

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

Generic (Product f g a)Source# 
Instance details

Defined inData.Functor.Product

Associated Types

typeRep (Product f g a) ::Type ->TypeSource#

Methods

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

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

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

Defined inGHC.Generics

Associated Types

typeRep (M1 i c f p) ::Type ->TypeSource#

Methods

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

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

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

Defined inGHC.Generics

Associated Types

typeRep ((f:.: g) p) ::Type ->TypeSource#

Methods

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

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

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

Defined inGHC.Generics

Associated Types

typeRep (a, b, c, d, e) ::Type ->TypeSource#

Methods

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

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

Generic (Compose f g a)Source# 
Instance details

Defined inData.Functor.Compose

Associated Types

typeRep (Compose f g a) ::Type ->TypeSource#

Methods

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

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

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

Defined inGHC.Generics

Associated Types

typeRep (a, b, c, d, e, f) ::Type ->TypeSource#

Methods

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

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

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

Defined inGHC.Generics

Associated Types

typeRep (a, b, c, d, e, f, g) ::Type ->TypeSource#

Methods

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

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

classGeneric1 (f :: k ->Type)whereSource#

Representable types of kind* -> * (or kindk -> *, whenPolyKinds is enabled). This class is derivable in GHC with theDeriveGeneric flag on.

AGeneric1 instance must satisfy the following laws:

from1 .to1idto1 .from1id

Associated Types

typeRep1 f :: k ->TypeSource#

Generic representation type

Methods

from1 :: f a ->Rep1 f aSource#

Convert from the datatype to its representation

to1 ::Rep1 f a -> f aSource#

Convert from the representation to the datatype

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

Defined inGHC.Generics

Associated Types

typeRep1U1 :: k ->TypeSource#

Methods

from1 ::U1 a ->Rep1U1 aSource#

to1 ::Rep1U1 a ->U1 aSource#

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

Defined inGHC.Generics

Associated Types

typeRep1V1 :: k ->TypeSource#

Methods

from1 ::V1 a ->Rep1V1 aSource#

to1 ::Rep1V1 a ->V1 aSource#

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

Defined inGHC.Generics

Associated Types

typeRep1Proxy :: k ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (URecWord) :: k ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (URecInt) :: k ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (URecFloat) :: k ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (URecDouble) :: k ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (URecChar) :: k ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (URec (Ptr ())) :: k ->TypeSource#

Methods

from1 ::URec (Ptr ()) a ->Rep1 (URec (Ptr ())) aSource#

to1 ::Rep1 (URec (Ptr ())) a ->URec (Ptr ()) aSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (Rec1 f) :: k ->TypeSource#

Methods

from1 ::Rec1 f a ->Rep1 (Rec1 f) aSource#

to1 ::Rep1 (Rec1 f) a ->Rec1 f aSource#

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

Defined inData.Semigroup.Internal

Associated Types

typeRep1 (Alt f) :: k ->TypeSource#

Methods

from1 ::Alt f a ->Rep1 (Alt f) aSource#

to1 ::Rep1 (Alt f) a ->Alt f aSource#

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

Defined inData.Monoid

Associated Types

typeRep1 (Ap f) :: k ->TypeSource#

Methods

from1 ::Ap f a ->Rep1 (Ap f) aSource#

to1 ::Rep1 (Ap f) a ->Ap f aSource#

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

Defined inData.Functor.Const

Associated Types

typeRep1 (Const a) :: k ->TypeSource#

Methods

from1 ::Const a a0 ->Rep1 (Const a) a0Source#

to1 ::Rep1 (Const a) a0 ->Const a a0Source#

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

Defined inGHC.Generics

Associated Types

typeRep1 (f:*: g) :: k ->TypeSource#

Methods

from1 :: (f:*: g) a ->Rep1 (f:*: g) aSource#

to1 ::Rep1 (f:*: g) a -> (f:*: g) aSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (f:+: g) :: k ->TypeSource#

Methods

from1 :: (f:+: g) a ->Rep1 (f:+: g) aSource#

to1 ::Rep1 (f:+: g) a -> (f:+: g) aSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (K1 i c) :: k ->TypeSource#

Methods

from1 ::K1 i c a ->Rep1 (K1 i c) aSource#

to1 ::Rep1 (K1 i c) a ->K1 i c aSource#

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

Defined inData.Functor.Sum

Associated Types

typeRep1 (Sum f g) :: k ->TypeSource#

Methods

from1 ::Sum f g a ->Rep1 (Sum f g) aSource#

to1 ::Rep1 (Sum f g) a ->Sum f g aSource#

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

Defined inData.Functor.Product

Associated Types

typeRep1 (Product f g) :: k ->TypeSource#

Methods

from1 ::Product f g a ->Rep1 (Product f g) aSource#

to1 ::Rep1 (Product f g) a ->Product f g aSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (f:.: g) :: k ->TypeSource#

Methods

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

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

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

Defined inGHC.Generics

Associated Types

typeRep1 (M1 i c f) :: k ->TypeSource#

Methods

from1 ::M1 i c f a ->Rep1 (M1 i c f) aSource#

to1 ::Rep1 (M1 i c f) a ->M1 i c f aSource#

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

Defined inData.Functor.Compose

Associated Types

typeRep1 (Compose f g) :: k ->TypeSource#

Methods

from1 ::Compose f g a ->Rep1 (Compose f g) aSource#

to1 ::Rep1 (Compose f g) a ->Compose f g aSource#

Generic1 []Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep1 [] :: k ->TypeSource#

Methods

from1 :: [a] ->Rep1 [] aSource#

to1 ::Rep1 [] a -> [a]Source#

Generic1MaybeSource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep1Maybe :: k ->TypeSource#

Generic1Par1Source# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep1Par1 :: k ->TypeSource#

Generic1NonEmptySource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep1NonEmpty :: k ->TypeSource#

Generic1DownSource# 
Instance details

Defined inGHC.Generics

Associated Types

typeRep1Down :: k ->TypeSource#

Generic1ProductSource# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep1Product :: k ->TypeSource#

Generic1SumSource# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep1Sum :: k ->TypeSource#

Generic1DualSource# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep1Dual :: k ->TypeSource#

Generic1LastSource# 
Instance details

Defined inData.Monoid

Associated Types

typeRep1Last :: k ->TypeSource#

Generic1FirstSource# 
Instance details

Defined inData.Monoid

Associated Types

typeRep1First :: k ->TypeSource#

Generic1IdentitySource# 
Instance details

Defined inData.Functor.Identity

Associated Types

typeRep1Identity :: k ->TypeSource#

Generic1ZipListSource# 
Instance details

Defined inControl.Applicative

Associated Types

typeRep1ZipList :: k ->TypeSource#

Generic1OptionSource# 
Instance details

Defined inData.Semigroup

Associated Types

typeRep1Option :: k ->TypeSource#

Generic1WrappedMonoidSource# 
Instance details

Defined inData.Semigroup

Associated Types

typeRep1WrappedMonoid :: k ->TypeSource#

Generic1LastSource# 
Instance details

Defined inData.Semigroup

Associated Types

typeRep1Last :: k ->TypeSource#

Generic1FirstSource# 
Instance details

Defined inData.Semigroup

Associated Types

typeRep1First :: k ->TypeSource#

Generic1MaxSource# 
Instance details

Defined inData.Semigroup

Associated Types

typeRep1Max :: k ->TypeSource#

Generic1MinSource# 
Instance details

Defined inData.Semigroup

Associated Types

typeRep1Min :: k ->TypeSource#

Generic1ComplexSource# 
Instance details

Defined inData.Complex

Associated Types

typeRep1Complex :: k ->TypeSource#

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

Defined inGHC.Generics

Associated Types

typeRep1 (Either a) :: k ->TypeSource#

Methods

from1 ::Either a a0 ->Rep1 (Either a) a0Source#

to1 ::Rep1 (Either a) a0 ->Either a a0Source#

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

Defined inGHC.Generics

Associated Types

typeRep1 ((,) a) :: k ->TypeSource#

Methods

from1 :: (a, a0) ->Rep1 ((,) a) a0Source#

to1 ::Rep1 ((,) a) a0 -> (a, a0)Source#

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

Defined inControl.Applicative

Associated Types

typeRep1 (WrappedMonad m) :: k ->TypeSource#

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

Defined inData.Semigroup

Associated Types

typeRep1 (Arg a) :: k ->TypeSource#

Methods

from1 ::Arg a a0 ->Rep1 (Arg a) a0Source#

to1 ::Rep1 (Arg a) a0 ->Arg a a0Source#

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

Defined inGHC.Generics

Associated Types

typeRep1 ((,,) a b) :: k ->TypeSource#

Methods

from1 :: (a, b, a0) ->Rep1 ((,,) a b) a0Source#

to1 ::Rep1 ((,,) a b) a0 -> (a, b, a0)Source#

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

Defined inControl.Applicative

Associated Types

typeRep1 (WrappedArrow a b) :: k ->TypeSource#

Methods

from1 ::WrappedArrow a b a0 ->Rep1 (WrappedArrow a b) a0Source#

to1 ::Rep1 (WrappedArrow a b) a0 ->WrappedArrow a b a0Source#

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

Defined inGHC.Generics

Associated Types

typeRep1 ((,,,) a b c) :: k ->TypeSource#

Methods

from1 :: (a, b, c, a0) ->Rep1 ((,,,) a b c) a0Source#

to1 ::Rep1 ((,,,) a b c) a0 -> (a, b, c, a0)Source#

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

Defined inGHC.Generics

Associated Types

typeRep1 ((,,,,) a b c d) :: k ->TypeSource#

Methods

from1 :: (a, b, c, d, a0) ->Rep1 ((,,,,) a b c d) a0Source#

to1 ::Rep1 ((,,,,) a b c d) a0 -> (a, b, c, d, a0)Source#

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

Defined inGHC.Generics

Associated Types

typeRep1 ((,,,,,) a b c d e) :: k ->TypeSource#

Methods

from1 :: (a, b, c, d, e, a0) ->Rep1 ((,,,,,) a b c d e) a0Source#

to1 ::Rep1 ((,,,,,) a b c d e) a0 -> (a, b, c, d, e, a0)Source#

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

Defined inGHC.Generics

Associated Types

typeRep1 ((,,,,,,) a b c d e f) :: k ->TypeSource#

Methods

from1 :: (a, b, c, d, e, f, a0) ->Rep1 ((,,,,,,) a b c d e f) a0Source#

to1 ::Rep1 ((,,,,,,) a b c d e f) a0 -> (a, b, c, d, e, f, a0)Source#

Produced byHaddock version 2.20.0


[8]ページ先頭

©2009-2025 Movatter.jp