basement-0.0.15: Foundation scrap box of array & string
License BSD-style
Maintainer Vincent Hanquez <vincent@snarc.org>
Stability experimental
Portability portable
Safe Haskell None
Language Haskell2010

Basement.Compat.Base

Description

internal re-export of all the good base bits

Synopsis

Documentation

($) :: forall (r :: RuntimeRep ) a (b :: TYPE r). (a -> b) -> a -> b infixr 0 Source #

Application operator. This operator is redundant, since ordinary application (f x) means the same as (f $ x) . However, $ has low, right-associative binding precedence, so it sometimes allows parentheses to be omitted; for example:

f $ g $ h x  =  f (g (h x))

It is also useful in higher-order situations, such as map ( $ 0) xs , or zipWith ( $ ) fs xs .

Note that ( $ ) is levity-polymorphic in its result type, so that foo $ True where foo :: Bool -> Int# is well-typed.

($!) :: forall (r :: RuntimeRep ) a (b :: TYPE r). (a -> b) -> a -> b infixr 0 Source #

Strict (call-by-value) application operator. It takes a function and an argument, evaluates the argument to weak head normal form (WHNF), then calls the function with that value.

(&&) :: Bool -> Bool -> Bool infixr 3 Source #

Boolean "and", lazy in the second argument

(||) :: Bool -> Bool -> Bool infixr 2 Source #

Boolean "or", lazy in the second argument

(.) :: forall (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c infixr 9 Source #

morphism composition

(<$>) :: Functor f => (a -> b) -> f a -> f b infixl 4 Source #

An infix synonym for fmap .

The name of this operator is an allusion to $ . Note the similarities between their types:

 ($)  ::              (a -> b) ->   a ->   b
(<$>) :: Functor f => (a -> b) -> f a -> f b

Whereas $ is function application, <$> is function application lifted over a Functor .

Examples

Expand

Convert from a Maybe Int to a Maybe String using show :

>>> show <$> Nothing
Nothing
>>> show <$> Just 3
Just "3"

Convert from an Either Int Int to an Either Int String using show :

>>> show <$> Left 17
Left 17
>>> show <$> Right 17
Right "17"

Double each element of a list:

>>> (*2) <$> [1,2,3]
[2,4,6]

Apply even to the second element of a pair:

>>> even <$> (2,2)
(2,True)

otherwise :: Bool Source #

otherwise is defined as the value True . It helps to make guards more readable. eg.

 f x | x < 0     = ...
     | otherwise = ...

fst :: (a, b) -> a Source #

Extract the first component of a pair.

snd :: (a, b) -> b Source #

Extract the second component of a pair.

id :: forall (a :: k). Category cat => cat a a Source #

the identity morphism

maybe :: b -> (a -> b) -> Maybe a -> b Source #

The maybe function takes a default value, a function, and a Maybe value. If the Maybe value is Nothing , the function returns the default value. Otherwise, it applies the function to the value inside the Just and returns the result.

Examples

Expand

Basic usage:

>>> maybe False odd (Just 3)
True
>>> maybe False odd Nothing
False

Read an integer from a string using readMaybe . If we succeed, return twice the integer; that is, apply (*2) to it. If instead we fail to parse an integer, return 0 by default:

>>> import Text.Read ( readMaybe )
>>> maybe 0 (*2) (readMaybe "5")
10
>>> maybe 0 (*2) (readMaybe "")
0

Apply show to a Maybe Int . If we have Just n , we want to show the underlying Int n . But if we have Nothing , we return the empty string instead of (for example) "Nothing":

>>> maybe "" show (Just 5)
"5"
>>> maybe "" show Nothing
""

either :: (a -> c) -> (b -> c) -> Either a b -> c Source #

Case analysis for the Either type. If the value is Left a , apply the first function to a ; if it is Right b , apply the second function to b .

Examples

Expand

We create two values of type Either String Int , one using the Left constructor and another using the Right constructor. Then we apply "either" the length function (if we have a String ) or the "times-two" function (if we have an Int ):

>>> let s = Left "foo" :: Either String Int
>>> let n = Right 3 :: Either String Int
>>> either length (*2) s
3
>>> either length (*2) n
6

flip :: (a -> b -> c) -> b -> a -> c Source #

flip f takes its (first) two arguments in the reverse order of f .

>>> flip (++) "hello" "world"
"worldhello"

const :: a -> b -> a Source #

const x is a unary function which evaluates to x for all inputs.

>>> const 42 "hello"
42
>>> map (const 42) [0..3]
[42,42,42,42]

error :: forall (r :: RuntimeRep ) (a :: TYPE r). HasCallStack => [ Char ] -> a Source #

error stops execution and displays an error message.

and :: Foldable t => t Bool -> Bool Source #

and returns the conjunction of a container of Bools. For the result to be True , the container must be finite; False , however, results from a False value finitely far from the left end.

undefined :: forall (r :: RuntimeRep ) (a :: TYPE r). HasCallStack => a Source #

A special case of error . It is expected that compilers will recognize this and insert error messages which are more appropriate to the context in which undefined appears.

seq :: forall (r :: RuntimeRep ) a (b :: TYPE r). a -> b -> b infixr 0 Source #

The value of seq a b is bottom if a is bottom, and otherwise equal to b . In other words, it evaluates the first argument a to weak head normal form (WHNF). seq is usually introduced to improve performance by avoiding unneeded laziness.

A note on evaluation order: the expression seq a b does not guarantee that a will be evaluated before b . The only guarantee given by seq is that the both a and b will be evaluated before seq returns a value. In particular, this means that b may be evaluated before a . If you need to guarantee a specific order of evaluation, you must use the function pseq from the "parallel" package.

class Show a where Source #

Conversion of values to readable String s.

Derived instances of Show have the following properties, which are compatible with derived instances of Read :

  • The result of show is a syntactically correct Haskell expression containing only constants, given the fixity declarations in force at the point where the type is declared. It contains only the constructor names defined in the data type, parentheses, and spaces. When labelled constructor fields are used, braces, commas, field names, and equal signs are also used.
  • If the constructor is defined to be an infix operator, then showsPrec will produce infix applications of the constructor.
  • the representation will be enclosed in parentheses if the precedence of the top-level constructor in x is less than d (associativity is ignored). Thus, if d is 0 then the result is never surrounded in parentheses; if d is 11 it is always surrounded in parentheses, unless it is an atomic expression.
  • If the constructor is defined using record syntax, then show will produce the record-syntax form, with the fields given in the same order as the original declaration.

For example, given the declarations

infixr 5 :^:
data Tree a =  Leaf a  |  Tree a :^: Tree a

the derived instance of Show is equivalent to

instance (Show a) => Show (Tree a) where

       showsPrec d (Leaf m) = showParen (d > app_prec) $
            showString "Leaf " . showsPrec (app_prec+1) m
         where app_prec = 10

       showsPrec d (u :^: v) = showParen (d > up_prec) $
            showsPrec (up_prec+1) u .
            showString " :^: "      .
            showsPrec (up_prec+1) v
         where up_prec = 5

Note that right-associativity of :^: is ignored. For example,

  • show (Leaf 1 :^: Leaf 2 :^: Leaf 3) produces the string "Leaf 1 :^: (Leaf 2 :^: Leaf 3)" .

Minimal complete definition

showsPrec | show

Methods

showsPrec Source #

Arguments

:: Int

the operator precedence of the enclosing context (a number from 0 to 11 ). Function application has precedence 10 .

-> a

the value to be converted to a String

-> ShowS

Convert a value to a readable String .

showsPrec should satisfy the law

showsPrec d x r ++ s  ==  showsPrec d x (r ++ s)

Derived instances of Read and Show satisfy the following:

That is, readsPrec parses the string produced by showsPrec , and delivers the value that showsPrec started with.

show :: a -> String Source #

A specialised variant of showsPrec , using precedence context zero, and returning an ordinary String .

showList :: [a] -> ShowS Source #

The method showList is provided to allow the programmer to give a specialised way of showing lists of values. For example, this is used by the predefined Show instance of the Char type, where values of type String should be shown in double quotes, rather than between square brackets.

Instances

Instances details
Show Bool

Since: base-2.1

Instance details

Defined in GHC.Show

Show Char

Since: base-2.1

Instance details

Defined in GHC.Show

Show Int

Since: base-2.1

Instance details

Defined in GHC.Show

Show Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Show Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Show Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Show Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Show Integer

Since: base-2.1

Instance details

Defined in GHC.Show

Show Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Show

Show Ordering

Since: base-2.1

Instance details

Defined in GHC.Show

Show Word

Since: base-2.1

Instance details

Defined in GHC.Show

Show Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Show Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Show Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Show Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Show RuntimeRep

Since: base-4.11.0.0

Instance details

Defined in GHC.Show

Show VecCount

Since: base-4.11.0.0

Instance details

Defined in GHC.Show

Show VecElem

Since: base-4.11.0.0

Instance details

Defined in GHC.Show

Show CallStack

Since: base-4.9.0.0

Instance details

Defined in GHC.Show

Show SomeTypeRep

Since: base-4.10.0.0

Instance details

Defined in Data.Typeable.Internal

Show ()

Since: base-2.1

Instance details

Defined in GHC.Show

Show TyCon

Since: base-2.1

Instance details

Defined in GHC.Show

Show Module

Since: base-4.9.0.0

Instance details

Defined in GHC.Show

Show TrName

Since: base-4.9.0.0

Instance details

Defined in GHC.Show

Show KindRep
Instance details

Defined in GHC.Show

Show TypeLitSort

Since: base-4.11.0.0

Instance details

Defined in GHC.Show

Show DataType

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Show Constr

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Show DataRep

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Show ConstrRep

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Show Fixity

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Show Version

Since: base-2.1

Instance details

Defined in Data.Version

Show CDev
Instance details

Defined in System.Posix.Types

Show CIno
Instance details

Defined in System.Posix.Types

Show CMode
Instance details

Defined in System.Posix.Types

Show COff
Instance details

Defined in System.Posix.Types

Show CPid
Instance details

Defined in System.Posix.Types

Show CSsize
Instance details

Defined in System.Posix.Types

Show CGid
Instance details

Defined in System.Posix.Types

Show CNlink
Instance details

Defined in System.Posix.Types

Show CUid
Instance details

Defined in System.Posix.Types

Show CCc
Instance details

Defined in System.Posix.Types

Show CSpeed
Instance details

Defined in System.Posix.Types

Show CTcflag
Instance details

Defined in System.Posix.Types

Show CRLim
Instance details

Defined in System.Posix.Types

Show CBlkSize
Instance details

Defined in System.Posix.Types

Show CBlkCnt
Instance details

Defined in System.Posix.Types

Show CClockId
Instance details

Defined in System.Posix.Types

Show CFsBlkCnt
Instance details

Defined in System.Posix.Types

Show CFsFilCnt
Instance details

Defined in System.Posix.Types

Show CId
Instance details

Defined in System.Posix.Types

Show CKey
Instance details

Defined in System.Posix.Types

Show CSocklen
Instance details

Defined in System.Posix.Types

Show CNfds
Instance details

Defined in System.Posix.Types

Show Fd
Instance details

Defined in System.Posix.Types

Show BlockedIndefinitelyOnMVar

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Show BlockedIndefinitelyOnSTM

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Show Deadlock

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Show AllocationLimitExceeded

Since: base-4.7.1.0

Instance details

Defined in GHC.IO.Exception

Show CompactionFailed

Since: base-4.10.0.0

Instance details

Defined in GHC.IO.Exception

Show AssertionFailed

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Show SomeAsyncException

Since: base-4.7.0.0

Instance details

Defined in GHC.IO.Exception

Show AsyncException

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Show ArrayException

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Show FixIOException

Since: base-4.11.0.0

Instance details

Defined in GHC.IO.Exception

Show ExitCode
Instance details

Defined in GHC.IO.Exception

Show IOErrorType

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Show MaskingState

Since: base-4.3.0.0

Instance details

Defined in GHC.IO

Show IOException

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Show ErrorCall

Since: base-4.0.0.0

Instance details

Defined in GHC.Exception

Show ArithException

Since: base-4.0.0.0

Instance details

Defined in GHC.Exception.Type

Show All

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Show Any

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Show Fixity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Show Associativity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Show SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show SomeSymbol

Since: base-4.7.0.0

Instance details

Defined in GHC.TypeLits

Show SomeNat

Since: base-4.7.0.0

Instance details

Defined in GHC.TypeNats

Show CChar
Instance details

Defined in Foreign.C.Types

Show CSChar
Instance details

Defined in Foreign.C.Types

Show CUChar
Instance details

Defined in Foreign.C.Types

Show CShort
Instance details

Defined in Foreign.C.Types

Show CUShort
Instance details

Defined in Foreign.C.Types

Show CInt
Instance details

Defined in Foreign.C.Types

Show CUInt
Instance details

Defined in Foreign.C.Types

Show CLong
Instance details

Defined in Foreign.C.Types

Show CULong
Instance details

Defined in Foreign.C.Types

Show CLLong
Instance details

Defined in Foreign.C.Types

Show CULLong
Instance details

Defined in Foreign.C.Types

Show CBool
Instance details

Defined in Foreign.C.Types

Show CFloat
Instance details

Defined in Foreign.C.Types

Show CDouble
Instance details

Defined in Foreign.C.Types

Show CPtrdiff
Instance details

Defined in Foreign.C.Types

Show CSize
Instance details

Defined in Foreign.C.Types

Show CWchar
Instance details

Defined in Foreign.C.Types

Show CSigAtomic
Instance details

Defined in Foreign.C.Types

Show CClock
Instance details

Defined in Foreign.C.Types

Show CTime
Instance details

Defined in Foreign.C.Types

Show CUSeconds
Instance details

Defined in Foreign.C.Types

Show CSUSeconds
Instance details

Defined in Foreign.C.Types

Show CIntPtr
Instance details

Defined in Foreign.C.Types

Show CUIntPtr
Instance details

Defined in Foreign.C.Types

Show CIntMax
Instance details

Defined in Foreign.C.Types

Show CUIntMax
Instance details

Defined in Foreign.C.Types

Show WordPtr
Instance details

Defined in Foreign.Ptr

Show IntPtr
Instance details

Defined in Foreign.Ptr

Show GeneralCategory

Since: base-2.1

Instance details

Defined in GHC.Unicode

Show SrcLoc

Since: base-4.9.0.0

Instance details

Defined in GHC.Show

Show SomeException

Since: base-3.0

Instance details

Defined in GHC.Exception.Type

Show Endianness Source #
Instance details

Defined in Basement.Endianness

Show Char7 Source #
Instance details

Defined in Basement.Types.Char7

Show Word128 Source #
Instance details

Defined in Basement.Types.Word128

Show Word256 Source #
Instance details

Defined in Basement.Types.Word256

Show FileSize Source #
Instance details

Defined in Basement.Types.OffsetSize

Show NonEmptyCollectionIsEmpty Source #
Instance details

Defined in Basement.Exception

Show InvalidRecast Source #
Instance details

Defined in Basement.Exception

Show RecastDestinationSize Source #
Instance details

Defined in Basement.Exception

Show RecastSourceSize Source #
Instance details

Defined in Basement.Exception

Show OutOfBound Source #
Instance details

Defined in Basement.Exception

Show OutOfBoundOperation Source #
Instance details

Defined in Basement.Exception

Show AsciiString Source #
Instance details

Defined in Basement.Types.AsciiString

Show ValidationFailure Source #
Instance details

Defined in Basement.UTF8.Types

Show String Source #
Instance details

Defined in Basement.UTF8.Base

Show Encoding Source #
Instance details

Defined in Basement.String

Show a => Show [a]

Since: base-2.1

Instance details

Defined in GHC.Show

Show a => Show ( Maybe a)

Since: base-2.1

Instance details

Defined in GHC.Show

Show a => Show ( Ratio a)

Since: base-2.0.1

Instance details

Defined in GHC.Real

Show ( Ptr a)

Since: base-2.1

Instance details

Defined in GHC.Ptr

Show ( FunPtr a)

Since: base-2.1

Instance details

Defined in GHC.Ptr

Show p => Show ( Par1 p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Show a => Show ( Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Show a => Show ( Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Show a => Show ( First a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Show a => Show ( Last a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Show m => Show ( WrappedMonoid m)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Show a => Show ( Option a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Show a => Show ( ZipList a)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

Show a => Show ( Identity a)

This instance would be equivalent to the derived instances of the Identity newtype if the runIdentity field were removed

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Show ( ForeignPtr a)

Since: base-2.1

Instance details

Defined in GHC.ForeignPtr

Show a => Show ( First a)

Since: base-2.1

Instance details

Defined in Data.Monoid

Show a => Show ( Last a)

Since: base-2.1

Instance details

Defined in Data.Monoid

Show a => Show ( Dual a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Show a => Show ( Sum a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Show a => Show ( Product a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Show a => Show ( Down a)

This instance would be equivalent to the derived instances of the Down newtype if the getDown field were removed

Since: base-4.7.0.0

Instance details

Defined in Data.Ord

Show a => Show ( NonEmpty a)

Since: base-4.11.0.0

Instance details

Defined in GHC.Show

Show a => Show ( BE a) Source #
Instance details

Defined in Basement.Endianness

Show a => Show ( LE a) Source #
Instance details

Defined in Basement.Endianness

Show ( FinalPtr a) Source #
Instance details

Defined in Basement.FinalPtr

Show ( Zn n) Source #
Instance details

Defined in Basement.Bounded

Show ( Zn64 n) Source #
Instance details

Defined in Basement.Bounded

Show ( CountOf ty) Source #
Instance details

Defined in Basement.Types.OffsetSize

Show ( Offset ty) Source #
Instance details

Defined in Basement.Types.OffsetSize

Show a => Show ( NonEmpty a) Source #
Instance details

Defined in Basement.NonEmpty

( PrimType ty, Show ty) => Show ( Block ty) Source #
Instance details

Defined in Basement.Block.Base

Show ( Bits n) Source #
Instance details

Defined in Basement.Bits

( PrimType ty, Show ty) => Show ( UArray ty) Source #
Instance details

Defined in Basement.UArray.Base

Show a => Show ( Array a) Source #
Instance details

Defined in Basement.BoxedArray

( Show a, Show b) => Show ( Either a b)

Since: base-3.0

Instance details

Defined in Data.Either

Show ( V1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show ( U1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show ( TypeRep a)
Instance details

Defined in Data.Typeable.Internal

( Show a, Show b) => Show (a, b)

Since: base-2.1

Instance details

Defined in GHC.Show

( Show a, Show b) => Show ( Arg a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Show ( Proxy s)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

( Ix a, Show a, Show b) => Show ( Array a b)

Since: base-2.1

Instance details

Defined in GHC.Arr

Show ( ST s a)

Since: base-2.1

Instance details

Defined in GHC.ST

( Show a, Show b) => Show ( These a b) Source #
Instance details

Defined in Basement.These

Show a => Show ( ListN n a) Source #
Instance details

Defined in Basement.Sized.List

( PrimType a, Show a) => Show ( BlockN n a) Source #
Instance details

Defined in Basement.Sized.Block

Show a => Show ( Vect n a) Source #
Instance details

Defined in Basement.Sized.Vect

( PrimType a, Show a) => Show ( UVect n a) Source #
Instance details

Defined in Basement.Sized.UVect

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Show ( URec Char p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show ( URec Double p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show ( URec Float p)
Instance details

Defined in GHC.Generics

Show ( URec Int p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show ( URec Word p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

( Show a, Show b, Show c) => Show (a, b, c)

Since: base-2.1

Instance details

Defined in GHC.Show

Show a => Show ( Const a b)

This instance would be equivalent to the derived instances of the Const newtype if the getConst field were removed

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Const

Show (f a) => Show ( Ap f a)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Show (f a) => Show ( Alt f a)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Show ( Coercion a b)

Since: base-4.7.0.0

Instance details

Defined in Data.Type.Coercion

Show (a :~: b)

Since: base-4.7.0.0

Instance details

Defined in Data.Type.Equality

Show c => Show ( K1 i c p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

( Show a, Show b, Show c, Show d) => Show (a, b, c, d)

Since: base-2.1

Instance details

Defined in GHC.Show

Methods

showsPrec :: Int -> (a, b, c, d) -> ShowS Source #

show :: (a, b, c, d) -> String Source #

showList :: [(a, b, c, d)] -> ShowS Source #

Show (a :~~: b)

Since: base-4.10.0.0

Instance details

Defined in Data.Type.Equality

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

( Show a, Show b, Show c, Show d, Show e) => Show (a, b, c, d, e)

Since: base-2.1

Instance details

Defined in GHC.Show

Methods

showsPrec :: Int -> (a, b, c, d, e) -> ShowS Source #

show :: (a, b, c, d, e) -> String Source #

showList :: [(a, b, c, d, e)] -> ShowS Source #

( Show a, Show b, Show c, Show d, Show e, Show f) => Show (a, b, c, d, e, f)

Since: base-2.1

Instance details

Defined in GHC.Show

Methods

showsPrec :: Int -> (a, b, c, d, e, f) -> ShowS Source #

show :: (a, b, c, d, e, f) -> String Source #

showList :: [(a, b, c, d, e, f)] -> ShowS Source #

( Show a, Show b, Show c, Show d, Show e, Show f, Show g) => Show (a, b, c, d, e, f, g)

Since: base-2.1

Instance details

Defined in GHC.Show

Methods

showsPrec :: Int -> (a, b, c, d, e, f, g) -> ShowS Source #

show :: (a, b, c, d, e, f, g) -> String Source #

showList :: [(a, b, c, d, e, f, g)] -> ShowS Source #

( Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h) => Show (a, b, c, d, e, f, g, h)

Since: base-2.1

Instance details

Defined in GHC.Show

Methods

showsPrec :: Int -> (a, b, c, d, e, f, g, h) -> ShowS Source #

show :: (a, b, c, d, e, f, g, h) -> String Source #

showList :: [(a, b, c, d, e, f, g, h)] -> ShowS Source #

( Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i) => Show (a, b, c, d, e, f, g, h, i)

Since: base-2.1

Instance details

Defined in GHC.Show

Methods

showsPrec :: Int -> (a, b, c, d, e, f, g, h, i) -> ShowS Source #

show :: (a, b, c, d, e, f, g, h, i) -> String Source #

showList :: [(a, b, c, d, e, f, g, h, i)] -> ShowS Source #

( Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j) => Show (a, b, c, d, e, f, g, h, i, j)

Since: base-2.1

Instance details

Defined in GHC.Show

Methods

showsPrec :: Int -> (a, b, c, d, e, f, g, h, i, j) -> ShowS Source #

show :: (a, b, c, d, e, f, g, h, i, j) -> String Source #

showList :: [(a, b, c, d, e, f, g, h, i, j)] -> ShowS Source #

( Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k) => Show (a, b, c, d, e, f, g, h, i, j, k)

Since: base-2.1

Instance details

Defined in GHC.Show

Methods

showsPrec :: Int -> (a, b, c, d, e, f, g, h, i, j, k) -> ShowS Source #

show :: (a, b, c, d, e, f, g, h, i, j, k) -> String Source #

showList :: [(a, b, c, d, e, f, g, h, i, j, k)] -> ShowS Source #

( Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l) => Show (a, b, c, d, e, f, g, h, i, j, k, l)

Since: base-2.1

Instance details

Defined in GHC.Show

Methods

showsPrec :: Int -> (a, b, c, d, e, f, g, h, i, j, k, l) -> ShowS Source #

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

showList :: [(a, b, c, d, e, f, g, h, i, j, k, l)] -> ShowS Source #

( Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l, Show m) => Show (a, b, c, d, e, f, g, h, i, j, k, l, m)

Since: base-2.1

Instance details

Defined in GHC.Show

Methods

showsPrec :: Int -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> ShowS Source #

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

showList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m)] -> ShowS Source #

( Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l, Show m, Show n) => Show (a, b, c, d, e, f, g, h, i, j, k, l, m, n)

Since: base-2.1

Instance details

Defined in GHC.Show

Methods

showsPrec :: Int -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> ShowS Source #

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

showList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n)] -> ShowS Source #

( Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l, Show m, Show n, Show o) => Show (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)

Since: base-2.1

Instance details

Defined in GHC.Show

Methods

showsPrec :: Int -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> ShowS Source #

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

showList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)] -> ShowS Source #

class Eq a => Ord a where Source #

The Ord class is used for totally ordered datatypes.

Instances of Ord can be derived for any user-defined datatype whose constituent types are in Ord . The declared order of the constructors in the data declaration determines the ordering in derived Ord instances. The Ordering datatype allows a single comparison to determine the precise ordering of two objects.

The Haskell Report defines no laws for Ord . However, <= is customarily expected to implement a non-strict partial order and have the following properties:

Transitivity
if x <= y && y <= z = True , then x <= z = True
Reflexivity
x <= x = True
Antisymmetry
if x <= y && y <= x = True , then x == y = True

Note that the following operator interactions are expected to hold:

  1. x >= y = y <= x
  2. x < y = x <= y && x /= y
  3. x > y = y < x
  4. x < y = compare x y == LT
  5. x > y = compare x y == GT
  6. x == y = compare x y == EQ
  7. min x y == if x <= y then x else y = True
  8. max x y == if x >= y then x else y = True

Note that (7.) and (8.) do not require min and max to return either of their arguments. The result is merely required to equal one of the arguments in terms of (==) .

Minimal complete definition: either compare or <= . Using compare can be more efficient for complex types.

Minimal complete definition

compare | (<=)

Methods

compare :: a -> a -> Ordering Source #

(<) :: a -> a -> Bool infix 4 Source #

(<=) :: a -> a -> Bool infix 4 Source #

(>) :: a -> a -> Bool infix 4 Source #

(>=) :: a -> a -> Bool infix 4 Source #

max :: a -> a -> a Source #

min :: a -> a -> a Source #

Instances

Instances details
Ord Bool
Instance details

Defined in GHC.Classes

Ord Char
Instance details

Defined in GHC.Classes

Ord Double

Note that due to the presence of NaN , Double 's Ord instance does not satisfy reflexivity.

>>> 0/0 <= (0/0 :: Double)
False

Also note that, due to the same, Ord 's operator interactions are not respected by Double 's instance:

>>> (0/0 :: Double) > 1
False
>>> compare (0/0 :: Double) 1
GT
Instance details

Defined in GHC.Classes

Ord Float

Note that due to the presence of NaN , Float 's Ord instance does not satisfy reflexivity.

>>> 0/0 <= (0/0 :: Float)
False

Also note that, due to the same, Ord 's operator interactions are not respected by Float 's instance:

>>> (0/0 :: Float) > 1
False
>>> compare (0/0 :: Float) 1
GT
Instance details

Defined in GHC.Classes

Ord Int
Instance details

Defined in GHC.Classes

Ord Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Ord Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Ord Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Ord Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Ord Integer
Instance details

Defined in GHC.Integer.Type

Ord Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Natural

Ord Ordering
Instance details

Defined in GHC.Classes

Ord Word
Instance details

Defined in GHC.Classes

Ord Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Ord Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Ord Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Ord Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Ord SomeTypeRep
Instance details

Defined in Data.Typeable.Internal

Ord ()
Instance details

Defined in GHC.Classes

Ord TyCon
Instance details

Defined in GHC.Classes

Ord Version

Since: base-2.1

Instance details

Defined in Data.Version

Ord CDev
Instance details

Defined in System.Posix.Types

Ord CIno
Instance details

Defined in System.Posix.Types

Ord CMode
Instance details

Defined in System.Posix.Types

Ord COff
Instance details

Defined in System.Posix.Types

Ord CPid
Instance details

Defined in System.Posix.Types

Ord CSsize
Instance details

Defined in System.Posix.Types

Ord CGid
Instance details

Defined in System.Posix.Types

Ord CNlink
Instance details

Defined in System.Posix.Types

Ord CUid
Instance details

Defined in System.Posix.Types

Ord CCc
Instance details

Defined in System.Posix.Types

Ord CSpeed
Instance details

Defined in System.Posix.Types

Ord CTcflag
Instance details

Defined in System.Posix.Types

Ord CRLim
Instance details

Defined in System.Posix.Types

Ord CBlkSize
Instance details

Defined in System.Posix.Types

Ord CBlkCnt
Instance details

Defined in System.Posix.Types

Ord CClockId
Instance details

Defined in System.Posix.Types

Ord CFsBlkCnt
Instance details

Defined in System.Posix.Types

Ord CFsFilCnt
Instance details

Defined in System.Posix.Types

Ord CId
Instance details

Defined in System.Posix.Types

Ord CKey
Instance details

Defined in System.Posix.Types

Ord CSocklen
Instance details

Defined in System.Posix.Types

Ord CNfds
Instance details

Defined in System.Posix.Types

Ord Fd
Instance details

Defined in System.Posix.Types

Ord AsyncException

Since: base-4.2.0.0

Instance details

Defined in GHC.IO.Exception

Ord ArrayException

Since: base-4.2.0.0

Instance details

Defined in GHC.IO.Exception

Ord ExitCode
Instance details

Defined in GHC.IO.Exception

Ord ErrorCall

Since: base-4.7.0.0

Instance details

Defined in GHC.Exception

Ord ArithException

Since: base-3.0

Instance details

Defined in GHC.Exception.Type

Ord All

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Ord Any

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Ord Fixity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Ord Associativity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Ord SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ord SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ord DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ord SomeSymbol

Since: base-4.7.0.0

Instance details

Defined in GHC.TypeLits

Ord SomeNat

Since: base-4.7.0.0

Instance details

Defined in GHC.TypeNats

Ord CChar
Instance details

Defined in Foreign.C.Types

Ord CSChar
Instance details

Defined in Foreign.C.Types

Ord CUChar
Instance details

Defined in Foreign.C.Types

Ord CShort
Instance details

Defined in Foreign.C.Types

Ord CUShort
Instance details

Defined in Foreign.C.Types

Ord CInt
Instance details

Defined in Foreign.C.Types

Ord CUInt
Instance details

Defined in Foreign.C.Types

Ord CLong
Instance details

Defined in Foreign.C.Types

Ord CULong
Instance details

Defined in Foreign.C.Types

Ord CLLong
Instance details

Defined in Foreign.C.Types

Ord CULLong
Instance details

Defined in Foreign.C.Types

Ord CBool
Instance details

Defined in Foreign.C.Types

Ord CFloat
Instance details

Defined in Foreign.C.Types

Ord CDouble
Instance details

Defined in Foreign.C.Types

Ord CPtrdiff
Instance details

Defined in Foreign.C.Types

Ord CSize
Instance details

Defined in Foreign.C.Types

Ord CWchar
Instance details

Defined in Foreign.C.Types

Ord CSigAtomic
Instance details

Defined in Foreign.C.Types

Ord CClock
Instance details

Defined in Foreign.C.Types

Ord CTime
Instance details

Defined in Foreign.C.Types

Ord CUSeconds
Instance details

Defined in Foreign.C.Types

Ord CSUSeconds
Instance details

Defined in Foreign.C.Types

Ord CIntPtr
Instance details

Defined in Foreign.C.Types

Ord CUIntPtr
Instance details

Defined in Foreign.C.Types

Ord CIntMax
Instance details

Defined in Foreign.C.Types

Ord CUIntMax
Instance details

Defined in Foreign.C.Types

Ord WordPtr
Instance details

Defined in Foreign.Ptr

Ord IntPtr
Instance details

Defined in Foreign.Ptr

Ord GeneralCategory

Since: base-2.1

Instance details

Defined in GHC.Unicode

Ord BigNat
Instance details

Defined in GHC.Integer.Type

Ord Char7 Source #
Instance details

Defined in Basement.Types.Char7

Ord Word128 Source #
Instance details

Defined in Basement.Types.Word128

Ord Word256 Source #
Instance details

Defined in Basement.Types.Word256

Ord FileSize Source #
Instance details

Defined in Basement.Types.OffsetSize

Ord Addr Source #
Instance details

Defined in Basement.Types.Ptr

Ord AsciiString Source #
Instance details

Defined in Basement.Types.AsciiString

Ord String Source #
Instance details

Defined in Basement.UTF8.Base

Ord Encoding Source #
Instance details

Defined in Basement.String

Ord a => Ord [a]
Instance details

Defined in GHC.Classes

Methods

compare :: [a] -> [a] -> Ordering Source #

(<) :: [a] -> [a] -> Bool Source #

(<=) :: [a] -> [a] -> Bool Source #

(>) :: [a] -> [a] -> Bool Source #

(>=) :: [a] -> [a] -> Bool Source #

max :: [a] -> [a] -> [a] Source #

min :: [a] -> [a] -> [a] Source #

Ord a => Ord ( Maybe a)

Since: base-2.1

Instance details

Defined in GHC.Maybe

Integral a => Ord ( Ratio a)

Since: base-2.0.1

Instance details

Defined in GHC.Real

Ord ( Ptr a)

Since: base-2.1

Instance details

Defined in GHC.Ptr

Ord ( FunPtr a)
Instance details

Defined in GHC.Ptr

Ord p => Ord ( Par1 p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Ord a => Ord ( Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Ord a => Ord ( Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Ord a => Ord ( First a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Ord a => Ord ( Last a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Ord m => Ord ( WrappedMonoid m)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Ord a => Ord ( Option a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Ord a => Ord ( ZipList a)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

Ord a => Ord ( Identity a)

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Ord ( ForeignPtr a)

Since: base-2.1

Instance details

Defined in GHC.ForeignPtr

Ord a => Ord ( First a)

Since: base-2.1

Instance details

Defined in Data.Monoid

Ord a => Ord ( Last a)

Since: base-2.1

Instance details

Defined in Data.Monoid

Ord a => Ord ( Dual a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Ord a => Ord ( Sum a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Ord a => Ord ( Product a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Ord a => Ord ( Down a)

Since: base-4.6.0.0

Instance details

Defined in Data.Ord

Ord a => Ord ( NonEmpty a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

( ByteSwap a, Ord a) => Ord ( BE a) Source #
Instance details

Defined in Basement.Endianness

( ByteSwap a, Ord a) => Ord ( LE a) Source #
Instance details

Defined in Basement.Endianness

Ord ( FinalPtr a) Source #
Instance details

Defined in Basement.FinalPtr

Ord ( Zn n) Source #
Instance details

Defined in Basement.Bounded

Ord ( Zn64 n) Source #
Instance details

Defined in Basement.Bounded

Ord ( CountOf ty) Source #
Instance details

Defined in Basement.Types.OffsetSize

Ord ( Offset ty) Source #
Instance details

Defined in Basement.Types.OffsetSize

( PrimType ty, Ord ty) => Ord ( Block ty) Source #
Instance details

Defined in Basement.Block.Base

Ord ( Bits n) Source #
Instance details

Defined in Basement.Bits

( PrimType ty, Ord ty) => Ord ( UArray ty) Source #
Instance details

Defined in Basement.UArray.Base

Ord a => Ord ( Array a) Source #
Instance details

Defined in Basement.BoxedArray

( Ord a, Ord b) => Ord ( Either a b)

Since: base-2.1

Instance details

Defined in Data.Either

Ord ( V1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ord ( U1 p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Ord ( TypeRep a)

Since: base-4.4.0.0

Instance details

Defined in Data.Typeable.Internal

( Ord a, Ord b) => Ord (a, b)
Instance details

Defined in GHC.Classes

Methods

compare :: (a, b) -> (a, b) -> Ordering Source #

(<) :: (a, b) -> (a, b) -> Bool Source #

(<=) :: (a, b) -> (a, b) -> Bool Source #

(>) :: (a, b) -> (a, b) -> Bool Source #

(>=) :: (a, b) -> (a, b) -> Bool Source #

max :: (a, b) -> (a, b) -> (a, b) Source #

min :: (a, b) -> (a, b) -> (a, b) Source #

Ord a => Ord ( Arg a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Ord ( Proxy s)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

( Ix i, Ord e) => Ord ( Array i e)

Since: base-2.1

Instance details

Defined in GHC.Arr

( Ord a, Ord b) => Ord ( These a b) Source #
Instance details

Defined in Basement.These

Ord a => Ord ( ListN n a) Source #
Instance details

Defined in Basement.Sized.List

( PrimType a, Ord a) => Ord ( BlockN n a) Source #
Instance details

Defined in Basement.Sized.Block

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Ord ( URec ( Ptr ()) p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ord ( URec Char p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ord ( URec Double p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ord ( URec Float p)
Instance details

Defined in GHC.Generics

Ord ( URec Int p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ord ( URec Word p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

( Ord a, Ord b, Ord c) => Ord (a, b, c)
Instance details

Defined in GHC.Classes

Methods

compare :: (a, b, c) -> (a, b, c) -> Ordering Source #

(<) :: (a, b, c) -> (a, b, c) -> Bool Source #

(<=) :: (a, b, c) -> (a, b, c) -> Bool Source #

(>) :: (a, b, c) -> (a, b, c) -> Bool Source #

(>=) :: (a, b, c) -> (a, b, c) -> Bool Source #

max :: (a, b, c) -> (a, b, c) -> (a, b, c) Source #

min :: (a, b, c) -> (a, b, c) -> (a, b, c) Source #

Ord a => Ord ( Const a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Const

Ord (f a) => Ord ( Ap f a)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Ord (f a) => Ord ( Alt f a)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Ord ( Coercion a b)

Since: base-4.7.0.0

Instance details

Defined in Data.Type.Coercion

Ord (a :~: b)

Since: base-4.7.0.0

Instance details

Defined in Data.Type.Equality

Ord c => Ord ( K1 i c p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: (f :+: g) p -> (f :+: g) p -> Ordering Source #

(<) :: (f :+: g) p -> (f :+: g) p -> Bool Source #

(<=) :: (f :+: g) p -> (f :+: g) p -> Bool Source #

(>) :: (f :+: g) p -> (f :+: g) p -> Bool Source #

(>=) :: (f :+: g) p -> (f :+: g) p -> Bool Source #

max :: (f :+: g) p -> (f :+: g) p -> (f :+: g) p Source #

min :: (f :+: g) p -> (f :+: g) p -> (f :+: g) p Source #

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: (f :*: g) p -> (f :*: g) p -> Ordering Source #

(<) :: (f :*: g) p -> (f :*: g) p -> Bool Source #

(<=) :: (f :*: g) p -> (f :*: g) p -> Bool Source #

(>) :: (f :*: g) p -> (f :*: g) p -> Bool Source #

(>=) :: (f :*: g) p -> (f :*: g) p -> Bool Source #

max :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p Source #

min :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p Source #

( Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
Instance details

Defined in GHC.Classes

Methods

compare :: (a, b, c, d) -> (a, b, c, d) -> Ordering Source #

(<) :: (a, b, c, d) -> (a, b, c, d) -> Bool Source #

(<=) :: (a, b, c, d) -> (a, b, c, d) -> Bool Source #

(>) :: (a, b, c, d) -> (a, b, c, d) -> Bool Source #

(>=) :: (a, b, c, d) -> (a, b, c, d) -> Bool Source #

max :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) Source #

min :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) Source #

Ord (a :~~: b)

Since: base-4.10.0.0

Instance details

Defined in Data.Type.Equality

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: M1 i c f p -> M1 i c f p -> Ordering Source #

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

(<=) :: M1 i c f p -> M1 i c f p -> Bool Source #

(>) :: M1 i c f p -> M1 i c f p -> Bool Source #

(>=) :: M1 i c f p -> M1 i c f p -> Bool Source #

max :: M1 i c f p -> M1 i c f p -> M1 i c f p Source #

min :: M1 i c f p -> M1 i c f p -> M1 i c f p Source #

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: (f :.: g) p -> (f :.: g) p -> Ordering Source #

(<) :: (f :.: g) p -> (f :.: g) p -> Bool Source #

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

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

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

max :: (f :.: g) p -> (f :.: g) p -> (f :.: g) p Source #

min :: (f :.: g) p -> (f :.: g) p -> (f :.: g) p Source #

( Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
Instance details

Defined in GHC.Classes

Methods

compare :: (a, b, c, d, e) -> (a, b, c, d, e) -> Ordering Source #

(<) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool Source #

(<=) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool Source #

(>) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool Source #

(>=) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool Source #

max :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) Source #

min :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) Source #

( Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord (a, b, c, d, e, f)
Instance details

Defined in GHC.Classes

Methods

compare :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Ordering Source #

(<) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool Source #

(<=) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool Source #

(>) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool Source #

(>=) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool Source #

max :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> (a, b, c, d, e, f) Source #

min :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> (a, b, c, d, e, f) Source #

( Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => Ord (a, b, c, d, e, f, g)
Instance details

Defined in GHC.Classes

Methods

compare :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Ordering Source #

(<) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool Source #

(<=) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool Source #

(>) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool Source #

(>=) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool Source #

max :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) Source #

min :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) Source #

( Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h) => Ord (a, b, c, d, e, f, g, h)
Instance details

Defined in GHC.Classes

Methods

compare :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Ordering Source #

(<) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Source #

(<=) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Source #

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

(>=) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Source #

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

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

( Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i) => Ord (a, b, c, d, e, f, g, h, i)
Instance details

Defined in GHC.Classes

Methods

compare :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Ordering Source #

(<) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Source #

(<=) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Source #

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

(>=) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Source #

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

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

( Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j) => Ord (a, b, c, d, e, f, g, h, i, j)
Instance details

Defined in GHC.Classes

Methods

compare :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Ordering Source #

(<) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Source #

(<=) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Source #

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

(>=) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Source #

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

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

( Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k) => Ord (a, b, c, d, e, f, g, h, i, j, k)
Instance details

Defined in GHC.Classes

Methods

compare :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Ordering Source #

(<) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Source #

(<=) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Source #

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

(>=) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Source #

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

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

( Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l) => Ord (a, b, c, d, e, f, g, h, i, j, k, l)
Instance details

Defined in GHC.Classes

Methods

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

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

(<=) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool Source #

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

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

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

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

( Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m)
Instance details

Defined in GHC.Classes

Methods

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

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

(<=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool Source #

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

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

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

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

( Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
Instance details

Defined in GHC.Classes

Methods

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

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

(<=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Bool Source #

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

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

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

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

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

Defined in GHC.Classes

Methods

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

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

(<=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Bool Source #

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

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

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

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

class Eq a where Source #

The Eq class defines equality ( == ) and inequality ( /= ). All the basic datatypes exported by the Prelude are instances of Eq , and Eq may be derived for any datatype whose constituents are also instances of Eq .

The Haskell Report defines no laws for Eq . However, == is customarily expected to implement an equivalence relationship where two values comparing equal are indistinguishable by "public" functions, with a "public" function being one not allowing to see implementation details. For example, for a type representing non-normalised natural numbers modulo 100, a "public" function doesn't make the difference between 1 and 201. It is expected to have the following properties:

Reflexivity
x == x = True
Symmetry
x == y = y == x
Transitivity
if x == y && y == z = True , then x == z = True
Substitutivity
if x == y = True and f is a "public" function whose return type is an instance of Eq , then f x == f y = True
Negation
x /= y = not (x == y)

Minimal complete definition: either == or /= .

Minimal complete definition

(==) | (/=)

Methods

(==) :: a -> a -> Bool infix 4 Source #

(/=) :: a -> a -> Bool infix 4 Source #

Instances

Instances details
Eq Bool
Instance details

Defined in GHC.Classes

Eq Char
Instance details

Defined in GHC.Classes

Eq Double

Note that due to the presence of NaN , Double 's Eq instance does not satisfy reflexivity.

>>> 0/0 == (0/0 :: Double)
False

Also note that Double 's Eq instance does not satisfy substitutivity:

>>> 0 == (-0 :: Double)
True
>>> recip 0 == recip (-0 :: Double)
False
Instance details

Defined in GHC.Classes

Eq Float

Note that due to the presence of NaN , Float 's Eq instance does not satisfy reflexivity.

>>> 0/0 == (0/0 :: Float)
False

Also note that Float 's Eq instance does not satisfy substitutivity:

>>> 0 == (-0 :: Float)
True
>>> recip 0 == recip (-0 :: Float)
False
Instance details

Defined in GHC.Classes

Eq Int
Instance details

Defined in GHC.Classes

Eq Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Eq Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Eq Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Eq Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Eq Integer
Instance details

Defined in GHC.Integer.Type

Eq Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Natural

Eq Ordering
Instance details

Defined in GHC.Classes

Eq Word
Instance details

Defined in GHC.Classes

Eq Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Eq Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Eq Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Eq Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Eq SomeTypeRep
Instance details

Defined in Data.Typeable.Internal

Eq ()
Instance details

Defined in GHC.Classes

Methods

(==) :: () -> () -> Bool Source #

(/=) :: () -> () -> Bool Source #

Eq TyCon
Instance details

Defined in GHC.Classes

Eq Module
Instance details

Defined in GHC.Classes

Eq TrName
Instance details

Defined in GHC.Classes

Eq SpecConstrAnnotation

Since: base-4.3.0.0

Instance details

Defined in GHC.Exts

Eq Constr

Equality of constructors

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Eq DataRep

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Eq ConstrRep

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Eq Fixity

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Eq Version

Since: base-2.1

Instance details

Defined in Data.Version

Eq CDev
Instance details

Defined in System.Posix.Types

Eq CIno
Instance details

Defined in System.Posix.Types

Eq CMode
Instance details

Defined in System.Posix.Types

Eq COff
Instance details

Defined in System.Posix.Types

Eq CPid
Instance details

Defined in System.Posix.Types

Eq CSsize
Instance details

Defined in System.Posix.Types

Eq CGid
Instance details

Defined in System.Posix.Types

Eq CNlink
Instance details

Defined in System.Posix.Types

Eq CUid
Instance details

Defined in System.Posix.Types

Eq CCc
Instance details

Defined in System.Posix.Types

Eq CSpeed
Instance details

Defined in System.Posix.Types

Eq CTcflag
Instance details

Defined in System.Posix.Types

Eq CRLim
Instance details

Defined in System.Posix.Types

Eq CBlkSize
Instance details

Defined in System.Posix.Types

Eq CBlkCnt
Instance details

Defined in System.Posix.Types

Eq CClockId
Instance details

Defined in System.Posix.Types

Eq CFsBlkCnt
Instance details

Defined in System.Posix.Types

Eq CFsFilCnt
Instance details

Defined in System.Posix.Types

Eq CId
Instance details

Defined in System.Posix.Types

Eq CKey
Instance details

Defined in System.Posix.Types

Eq CSocklen
Instance details

Defined in System.Posix.Types

Eq CNfds
Instance details

Defined in System.Posix.Types

Eq Fd
Instance details

Defined in System.Posix.Types

Eq Errno

Since: base-2.1

Instance details

Defined in Foreign.C.Error

Eq AsyncException

Since: base-4.2.0.0

Instance details

Defined in GHC.IO.Exception

Eq ArrayException

Since: base-4.2.0.0

Instance details

Defined in GHC.IO.Exception

Eq ExitCode
Instance details

Defined in GHC.IO.Exception

Eq IOErrorType

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Eq MaskingState

Since: base-4.3.0.0

Instance details

Defined in GHC.IO

Eq IOException

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Eq ErrorCall

Since: base-4.7.0.0

Instance details

Defined in GHC.Exception

Eq ArithException

Since: base-3.0

Instance details

Defined in GHC.Exception.Type

Eq All

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Eq Any

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Eq Fixity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Eq Associativity

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Eq SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq SomeSymbol

Since: base-4.7.0.0

Instance details

Defined in GHC.TypeLits

Eq SomeNat

Since: base-4.7.0.0

Instance details

Defined in GHC.TypeNats

Eq CChar
Instance details

Defined in Foreign.C.Types

Eq CSChar
Instance details

Defined in Foreign.C.Types

Eq CUChar
Instance details

Defined in Foreign.C.Types

Eq CShort
Instance details

Defined in Foreign.C.Types

Eq CUShort
Instance details

Defined in Foreign.C.Types

Eq CInt
Instance details

Defined in Foreign.C.Types

Eq CUInt
Instance details

Defined in Foreign.C.Types

Eq CLong
Instance details

Defined in Foreign.C.Types

Eq CULong
Instance details

Defined in Foreign.C.Types

Eq CLLong
Instance details

Defined in Foreign.C.Types

Eq CULLong
Instance details

Defined in Foreign.C.Types

Eq CBool
Instance details

Defined in Foreign.C.Types

Eq CFloat
Instance details

Defined in Foreign.C.Types

Eq CDouble
Instance details

Defined in Foreign.C.Types

Eq CPtrdiff
Instance details

Defined in Foreign.C.Types

Eq CSize
Instance details

Defined in Foreign.C.Types

Eq CWchar
Instance details

Defined in Foreign.C.Types

Eq CSigAtomic
Instance details

Defined in Foreign.C.Types

Eq CClock
Instance details

Defined in Foreign.C.Types

Eq CTime
Instance details

Defined in Foreign.C.Types

Eq CUSeconds
Instance details

Defined in Foreign.C.Types

Eq CSUSeconds
Instance details

Defined in Foreign.C.Types

Eq CIntPtr
Instance details

Defined in Foreign.C.Types

Eq CUIntPtr
Instance details

Defined in Foreign.C.Types

Eq CIntMax
Instance details

Defined in Foreign.C.Types

Eq CUIntMax
Instance details

Defined in Foreign.C.Types

Eq WordPtr
Instance details

Defined in Foreign.Ptr

Eq IntPtr
Instance details

Defined in Foreign.Ptr

Eq GeneralCategory

Since: base-2.1

Instance details

Defined in GHC.Unicode

Eq SrcLoc

Since: base-4.9.0.0

Instance details

Defined in GHC.Stack.Types

Eq BigNat
Instance details

Defined in GHC.Integer.Type

Eq PinnedStatus Source #
Instance details

Defined in Basement.Compat.Primitive

Eq Endianness Source #
Instance details

Defined in Basement.Endianness

Eq Char7 Source #
Instance details

Defined in Basement.Types.Char7

Eq Word128 Source #
Instance details

Defined in Basement.Types.Word128

Eq Word256 Source #
Instance details

Defined in Basement.Types.Word256

Eq FileSize Source #
Instance details

Defined in Basement.Types.OffsetSize

Eq Addr Source #
Instance details

Defined in Basement.Types.Ptr

Eq RecastDestinationSize Source #
Instance details

Defined in Basement.Exception

Eq RecastSourceSize Source #
Instance details

Defined in Basement.Exception

Eq OutOfBoundOperation Source #
Instance details

Defined in Basement.Exception

Eq AsciiString Source #
Instance details

Defined in Basement.Types.AsciiString

Eq ValidationFailure Source #
Instance details

Defined in Basement.UTF8.Types

Eq String Source #
Instance details

Defined in Basement.UTF8.Base

Eq Encoding Source #
Instance details

Defined in Basement.String

Eq a => Eq [a]
Instance details

Defined in GHC.Classes

Methods

(==) :: [a] -> [a] -> Bool Source #

(/=) :: [a] -> [a] -> Bool Source #

Eq a => Eq ( Maybe a)

Since: base-2.1

Instance details

Defined in GHC.Maybe

Eq a => Eq ( Ratio a)

Since: base-2.1

Instance details

Defined in GHC.Real

Eq ( StablePtr a)

Since: base-2.1

Instance details

Defined in GHC.Stable

Eq ( Ptr a)

Since: base-2.1

Instance details

Defined in GHC.Ptr

Eq ( FunPtr a)
Instance details

Defined in GHC.Ptr

Eq p => Eq ( Par1 p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Eq a => Eq ( Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Eq a => Eq ( Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Eq a => Eq ( First a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Eq a => Eq ( Last a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Eq m => Eq ( WrappedMonoid m)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Eq a => Eq ( Option a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Eq a => Eq ( ZipList a)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

Eq a => Eq ( Identity a)

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Eq ( ForeignPtr a)

Since: base-2.1

Instance details

Defined in GHC.ForeignPtr

Eq ( IORef a)

Pointer equality.

Since: base-4.0.0.0

Instance details

Defined in GHC.IORef

Eq a => Eq ( First a)

Since: base-2.1

Instance details

Defined in Data.Monoid

Eq a => Eq ( Last a)

Since: base-2.1

Instance details

Defined in Data.Monoid

Eq a => Eq ( Dual a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Eq a => Eq ( Sum a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Eq a => Eq ( Product a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Eq a => Eq ( Down a)

Since: base-4.6.0.0

Instance details

Defined in Data.Ord

Eq a => Eq ( NonEmpty a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Eq a => Eq ( BE a) Source #
Instance details

Defined in Basement.Endianness

Eq a => Eq ( LE a) Source #
Instance details

Defined in Basement.Endianness

Eq ( FinalPtr a) Source #
Instance details

Defined in Basement.FinalPtr

Eq ( Zn n) Source #
Instance details

Defined in Basement.Bounded

Eq ( Zn64 n) Source #
Instance details

Defined in Basement.Bounded

Eq ( CountOf ty) Source #
Instance details

Defined in Basement.Types.OffsetSize

Eq ( Offset ty) Source #
Instance details

Defined in Basement.Types.OffsetSize

Eq a => Eq ( NonEmpty a) Source #
Instance details

Defined in Basement.NonEmpty

( PrimType ty, Eq ty) => Eq ( Block ty) Source #
Instance details

Defined in Basement.Block.Base

Eq ( Bits n) Source #
Instance details

Defined in Basement.Bits

( PrimType ty, Eq ty) => Eq ( UArray ty) Source #
Instance details

Defined in Basement.UArray.Base

Eq a => Eq ( Array a) Source #
Instance details

Defined in Basement.BoxedArray

( Eq a, Eq b) => Eq ( Either a b)

Since: base-2.1

Instance details

Defined in Data.Either

Eq ( V1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq ( U1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq ( TypeRep a)

Since: base-2.1

Instance details

Defined in Data.Typeable.Internal

( Eq a, Eq b) => Eq (a, b)
Instance details

Defined in GHC.Classes

Methods

(==) :: (a, b) -> (a, b) -> Bool Source #

(/=) :: (a, b) -> (a, b) -> Bool Source #

Eq a => Eq ( Arg a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Eq ( Proxy s)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

( Ix i, Eq e) => Eq ( Array i e)

Since: base-2.1

Instance details

Defined in GHC.Arr

Eq ( STRef s a)

Pointer equality.

Since: base-2.1

Instance details

Defined in GHC.STRef

( Eq a, Eq b) => Eq ( These a b) Source #
Instance details

Defined in Basement.These

Eq a => Eq ( ListN n a) Source #
Instance details

Defined in Basement.Sized.List

PrimType a => Eq ( BlockN n a) Source #
Instance details

Defined in Basement.Sized.Block

Eq a => Eq ( Vect n a) Source #
Instance details

Defined in Basement.Sized.Vect

PrimType a => Eq ( UVect n a) Source #
Instance details

Defined in Basement.Sized.UVect

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Eq ( URec ( Ptr ()) p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq ( URec Char p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq ( URec Double p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq ( URec Float p)
Instance details

Defined in GHC.Generics

Eq ( URec Int p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq ( URec Word p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

( Eq a, Eq b, Eq c) => Eq (a, b, c)
Instance details

Defined in GHC.Classes

Methods

(==) :: (a, b, c) -> (a, b, c) -> Bool Source #

(/=) :: (a, b, c) -> (a, b, c) -> Bool Source #

Eq a => Eq ( Const a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Const

Eq (f a) => Eq ( Ap f a)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Eq (f a) => Eq ( Alt f a)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Eq ( Coercion a b)

Since: base-4.7.0.0

Instance details

Defined in Data.Type.Coercion

Eq (a :~: b)

Since: base-4.7.0.0

Instance details

Defined in Data.Type.Equality

Eq ( STArray s i e)

Since: base-2.1

Instance details

Defined in GHC.Arr

Eq c => Eq ( K1 i c p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: (f :+: g) p -> (f :+: g) p -> Bool Source #

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

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: (f :*: g) p -> (f :*: g) p -> Bool Source #

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

( Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
Instance details

Defined in GHC.Classes

Methods

(==) :: (a, b, c, d) -> (a, b, c, d) -> Bool Source #

(/=) :: (a, b, c, d) -> (a, b, c, d) -> Bool Source #

Eq (a :~~: b)

Since: base-4.10.0.0

Instance details

Defined in Data.Type.Equality

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: M1 i c f p -> M1 i c f p -> Bool Source #

(/=) :: M1 i c f p -> M1 i c f p -> Bool Source #

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

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

( Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
Instance details

Defined in GHC.Classes

Methods

(==) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool Source #

(/=) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool Source #

( Eq a, Eq b, Eq c, Eq d, Eq e, Eq f) => Eq (a, b, c, d, e, f)
Instance details

Defined in GHC.Classes

Methods

(==) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool Source #

(/=) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool Source #

( Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g) => Eq (a, b, c, d, e, f, g)
Instance details

Defined in GHC.Classes

Methods

(==) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool Source #

(/=) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool Source #

( Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h) => Eq (a, b, c, d, e, f, g, h)
Instance details

Defined in GHC.Classes

Methods

(==) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Source #

(/=) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Source #

( Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i) => Eq (a, b, c, d, e, f, g, h, i)
Instance details

Defined in GHC.Classes

Methods

(==) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Source #

(/=) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Source #

( Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j) => Eq (a, b, c, d, e, f, g, h, i, j)
Instance details

Defined in GHC.Classes

Methods

(==) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Source #

(/=) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Source #

( Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k) => Eq (a, b, c, d, e, f, g, h, i, j, k)
Instance details

Defined in GHC.Classes

Methods

(==) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Source #

(/=) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Source #

( Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k, Eq l) => Eq (a, b, c, d, e, f, g, h, i, j, k, l)
Instance details

Defined in GHC.Classes

Methods

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

(/=) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool Source #

( Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k, Eq l, Eq m) => Eq (a, b, c, d, e, f, g, h, i, j, k, l, m)
Instance details

Defined in GHC.Classes

Methods

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

(/=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool Source #

( Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k, Eq l, Eq m, Eq n) => Eq (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
Instance details

Defined in GHC.Classes

Methods

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

(/=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Bool Source #

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

Defined in GHC.Classes

Methods

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

(/=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Bool Source #

class Bounded a where Source #

The Bounded class is used to name the upper and lower limits of a type. Ord is not a superclass of Bounded since types that are not totally ordered may also have upper and lower bounds.

The Bounded class may be derived for any enumeration type; minBound is the first constructor listed in the data declaration and maxBound is the last. Bounded may also be derived for single-constructor datatypes whose constituent types are in Bounded .

Instances

Instances details
Bounded Bool

Since: base-2.1

Instance details

Defined in GHC.Enum

Bounded Char

Since: base-2.1

Instance details

Defined in GHC.Enum

Bounded Int

Since: base-2.1

Instance details

Defined in GHC.Enum

Bounded Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Bounded Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Bounded Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Bounded Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Bounded Ordering

Since: base-2.1

Instance details

Defined in GHC.Enum

Bounded Word

Since: base-2.1

Instance details

Defined in GHC.Enum

Bounded Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Bounded Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Bounded Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Bounded Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Bounded VecCount

Since: base-4.10.0.0

Instance details

Defined in GHC.Enum

Bounded VecElem

Since: base-4.10.0.0

Instance details

Defined in GHC.Enum

Bounded ()

Since: base-2.1

Instance details

Defined in GHC.Enum

Bounded CDev
Instance details

Defined in System.Posix.Types

Bounded CIno
Instance details

Defined in System.Posix.Types

Bounded CMode
Instance details

Defined in System.Posix.Types

Bounded COff
Instance details

Defined in System.Posix.Types

Bounded CPid
Instance details

Defined in System.Posix.Types

Bounded CSsize
Instance details

Defined in System.Posix.Types

Bounded CGid
Instance details

Defined in System.Posix.Types

Bounded CNlink
Instance details

Defined in System.Posix.Types

Bounded CUid
Instance details

Defined in System.Posix.Types

Bounded CTcflag
Instance details

Defined in System.Posix.Types

Bounded CRLim
Instance details

Defined in System.Posix.Types

Bounded CBlkSize
Instance details

Defined in System.Posix.Types

Bounded CBlkCnt
Instance details

Defined in System.Posix.Types

Bounded CClockId
Instance details

Defined in System.Posix.Types

Bounded CFsBlkCnt
Instance details

Defined in System.Posix.Types

Bounded CFsFilCnt
Instance details

Defined in System.Posix.Types

Bounded CId
Instance details

Defined in System.Posix.Types

Bounded CKey
Instance details

Defined in System.Posix.Types

Bounded CSocklen
Instance details

Defined in System.Posix.Types

Bounded CNfds
Instance details

Defined in System.Posix.Types

Bounded Fd
Instance details

Defined in System.Posix.Types

Bounded All

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Bounded Any

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Bounded Associativity

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Bounded SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Bounded SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Bounded DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Bounded CChar
Instance details

Defined in Foreign.C.Types

Bounded CSChar
Instance details

Defined in Foreign.C.Types

Bounded CUChar
Instance details

Defined in Foreign.C.Types

Bounded CShort
Instance details

Defined in Foreign.C.Types

Bounded CUShort
Instance details

Defined in Foreign.C.Types

Bounded CInt
Instance details

Defined in Foreign.C.Types

Bounded CUInt
Instance details

Defined in Foreign.C.Types

Bounded CLong
Instance details

Defined in Foreign.C.Types

Bounded CULong
Instance details

Defined in Foreign.C.Types

Bounded CLLong
Instance details

Defined in Foreign.C.Types

Bounded CULLong
Instance details

Defined in Foreign.C.Types

Bounded CBool
Instance details

Defined in Foreign.C.Types

Bounded CPtrdiff
Instance details

Defined in Foreign.C.Types

Bounded CSize
Instance details

Defined in Foreign.C.Types

Bounded CWchar
Instance details

Defined in Foreign.C.Types

Bounded CSigAtomic
Instance details

Defined in Foreign.C.Types

Bounded CIntPtr
Instance details

Defined in Foreign.C.Types

Bounded CUIntPtr
Instance details

Defined in Foreign.C.Types

Bounded CIntMax
Instance details

Defined in Foreign.C.Types

Bounded CUIntMax
Instance details

Defined in Foreign.C.Types

Bounded WordPtr
Instance details

Defined in Foreign.Ptr

Bounded IntPtr
Instance details

Defined in Foreign.Ptr

Bounded GeneralCategory

Since: base-2.1

Instance details

Defined in GHC.Unicode

Bounded Word128 Source #
Instance details

Defined in Basement.Types.Word128

Bounded Word256 Source #
Instance details

Defined in Basement.Types.Word256

Bounded Encoding Source #
Instance details

Defined in Basement.String

Bounded a => Bounded ( Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Bounded a => Bounded ( Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Bounded a => Bounded ( First a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Bounded a => Bounded ( Last a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Bounded m => Bounded ( WrappedMonoid m)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Bounded a => Bounded ( Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Bounded a => Bounded ( Dual a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Bounded a => Bounded ( Sum a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Bounded a => Bounded ( Product a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Bounded a => Bounded ( Down a)

Since: base-4.14.0.0

Instance details

Defined in Data.Ord

SizeValid n => Bounded ( Bits n) Source #
Instance details

Defined in Basement.Bits

( Bounded a, Bounded b) => Bounded (a, b)

Since: base-2.1

Instance details

Defined in GHC.Enum

Bounded ( Proxy t)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

( Bounded a, Bounded b, Bounded c) => Bounded (a, b, c)

Since: base-2.1

Instance details

Defined in GHC.Enum

Methods

minBound :: (a, b, c) Source #

maxBound :: (a, b, c) Source #

Bounded a => Bounded ( Const a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Const

( Applicative f, Bounded a) => Bounded ( Ap f a)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Coercible a b => Bounded ( Coercion a b)

Since: base-4.7.0.0

Instance details

Defined in Data.Type.Coercion

a ~ b => Bounded (a :~: b)

Since: base-4.7.0.0

Instance details

Defined in Data.Type.Equality

( Bounded a, Bounded b, Bounded c, Bounded d) => Bounded (a, b, c, d)

Since: base-2.1

Instance details

Defined in GHC.Enum

Methods

minBound :: (a, b, c, d) Source #

maxBound :: (a, b, c, d) Source #

a ~~ b => Bounded (a :~~: b)

Since: base-4.10.0.0

Instance details

Defined in Data.Type.Equality

( Bounded a, Bounded b, Bounded c, Bounded d, Bounded e) => Bounded (a, b, c, d, e)

Since: base-2.1

Instance details

Defined in GHC.Enum

Methods

minBound :: (a, b, c, d, e) Source #

maxBound :: (a, b, c, d, e) Source #

( Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f) => Bounded (a, b, c, d, e, f)

Since: base-2.1

Instance details

Defined in GHC.Enum

Methods

minBound :: (a, b, c, d, e, f) Source #

maxBound :: (a, b, c, d, e, f) Source #

( Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g) => Bounded (a, b, c, d, e, f, g)

Since: base-2.1

Instance details

Defined in GHC.Enum

Methods

minBound :: (a, b, c, d, e, f, g) Source #

maxBound :: (a, b, c, d, e, f, g) Source #

( Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h) => Bounded (a, b, c, d, e, f, g, h)

Since: base-2.1

Instance details

Defined in GHC.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h) Source #

maxBound :: (a, b, c, d, e, f, g, h) Source #

( Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i) => Bounded (a, b, c, d, e, f, g, h, i)

Since: base-2.1

Instance details

Defined in GHC.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h, i) Source #

maxBound :: (a, b, c, d, e, f, g, h, i) Source #

( Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j) => Bounded (a, b, c, d, e, f, g, h, i, j)

Since: base-2.1

Instance details

Defined in GHC.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h, i, j) Source #

maxBound :: (a, b, c, d, e, f, g, h, i, j) Source #

( Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k) => Bounded (a, b, c, d, e, f, g, h, i, j, k)

Since: base-2.1

Instance details

Defined in GHC.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h, i, j, k) Source #

maxBound :: (a, b, c, d, e, f, g, h, i, j, k) Source #

( Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l) => Bounded (a, b, c, d, e, f, g, h, i, j, k, l)

Since: base-2.1

Instance details

Defined in GHC.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h, i, j, k, l) Source #

maxBound :: (a, b, c, d, e, f, g, h, i, j, k, l) Source #

( Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l, Bounded m) => Bounded (a, b, c, d, e, f, g, h, i, j, k, l, m)

Since: base-2.1

Instance details

Defined in GHC.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

maxBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

( Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l, Bounded m, Bounded n) => Bounded (a, b, c, d, e, f, g, h, i, j, k, l, m, n)

Since: base-2.1

Instance details

Defined in GHC.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

maxBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

( Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l, Bounded m, Bounded n, Bounded o) => Bounded (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)

Since: base-2.1

Instance details

Defined in GHC.Enum

Methods

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

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

class Enum a where Source #

Class Enum defines operations on sequentially ordered types.

The enumFrom ... methods are used in Haskell's translation of arithmetic sequences.

Instances of Enum may be derived for any enumeration type (types whose constructors have no fields). The nullary constructors are assumed to be numbered left-to-right by fromEnum from 0 through n-1 . See Chapter 10 of the Haskell Report for more details.

For any type that is an instance of class Bounded as well as Enum , the following should hold:

   enumFrom     x   = enumFromTo     x maxBound
   enumFromThen x y = enumFromThenTo x y bound
     where
       bound | fromEnum y >= fromEnum x = maxBound
             | otherwise                = minBound

Minimal complete definition

toEnum , fromEnum

Methods

succ :: a -> a Source #

the successor of a value. For numeric types, succ adds 1.

pred :: a -> a Source #

the predecessor of a value. For numeric types, pred subtracts 1.

toEnum :: Int -> a Source #

Convert from an Int .

fromEnum :: a -> Int Source #

Convert to an Int . It is implementation-dependent what fromEnum returns when applied to a value that is too large to fit in an Int .

enumFrom :: a -> [a] Source #

Used in Haskell's translation of [n..] with [n..] = enumFrom n , a possible implementation being enumFrom n = n : enumFrom (succ n) . For example:

  • enumFrom 4 :: [Integer] = [4,5,6,7,...]
  • enumFrom 6 :: [Int] = [6,7,8,9,...,maxBound :: Int]

enumFromThen :: a -> a -> [a] Source #

Used in Haskell's translation of [n,n'..] with [n,n'..] = enumFromThen n n' , a possible implementation being enumFromThen n n' = n : n' : worker (f x) (f x n') , worker s v = v : worker s (s v) , x = fromEnum n' - fromEnum n and f n y | n > 0 = f (n - 1) (succ y) | n < 0 = f (n + 1) (pred y) | otherwise = y For example:

  • enumFromThen 4 6 :: [Integer] = [4,6,8,10...]
  • enumFromThen 6 2 :: [Int] = [6,2,-2,-6,...,minBound :: Int]

enumFromTo :: a -> a -> [a] Source #

Used in Haskell's translation of [n..m] with [n..m] = enumFromTo n m , a possible implementation being enumFromTo n m | n <= m = n : enumFromTo (succ n) m | otherwise = [] . For example:

  • enumFromTo 6 10 :: [Int] = [6,7,8,9,10]
  • enumFromTo 42 1 :: [Integer] = []

enumFromThenTo :: a -> a -> a -> [a] Source #

Used in Haskell's translation of [n,n'..m] with [n,n'..m] = enumFromThenTo n n' m , a possible implementation being enumFromThenTo n n' m = worker (f x) (c x) n m , x = fromEnum n' - fromEnum n , c x = bool (>=) ( (x 0) f n y | n > 0 = f (n - 1) (succ y) | n < 0 = f (n + 1) (pred y) | otherwise = y and worker s c v m | c v m = v : worker s c (s v) m | otherwise = [] For example:

  • enumFromThenTo 4 2 -6 :: [Integer] = [4,2,0,-2,-4,-6]
  • enumFromThenTo 6 8 2 :: [Int] = []

Instances

Instances details
Enum Bool

Since: base-2.1

Instance details

Defined in GHC.Enum

Enum Char

Since: base-2.1

Instance details

Defined in GHC.Enum

Enum Int

Since: base-2.1

Instance details

Defined in GHC.Enum

Enum Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Enum Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Enum Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Enum Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Enum Integer

Since: base-2.1

Instance details

Defined in GHC.Enum

Enum Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Enum

Enum Ordering

Since: base-2.1

Instance details

Defined in GHC.Enum

Enum Word

Since: base-2.1

Instance details

Defined in GHC.Enum

Enum Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Enum Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Enum Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Enum Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Enum VecCount

Since: base-4.10.0.0

Instance details

Defined in GHC.Enum

Enum VecElem

Since: base-4.10.0.0

Instance details

Defined in GHC.Enum

Enum ()

Since: base-2.1

Instance details

Defined in GHC.Enum

Enum CDev
Instance details

Defined in System.Posix.Types

Enum CIno
Instance details

Defined in System.Posix.Types

Enum CMode
Instance details

Defined in System.Posix.Types

Enum COff
Instance details

Defined in System.Posix.Types

Enum CPid
Instance details

Defined in System.Posix.Types

Enum CSsize
Instance details

Defined in System.Posix.Types

Enum CGid
Instance details

Defined in System.Posix.Types

Enum CNlink
Instance details

Defined in System.Posix.Types

Enum CUid
Instance details

Defined in System.Posix.Types

Enum CCc
Instance details

Defined in System.Posix.Types

Enum CSpeed
Instance details

Defined in System.Posix.Types

Enum CTcflag
Instance details

Defined in System.Posix.Types

Enum CRLim
Instance details

Defined in System.Posix.Types

Enum CBlkSize
Instance details

Defined in System.Posix.Types

Enum CBlkCnt
Instance details

Defined in System.Posix.Types

Enum CClockId
Instance details

Defined in System.Posix.Types

Enum CFsBlkCnt
Instance details

Defined in System.Posix.Types

Enum CFsFilCnt
Instance details

Defined in System.Posix.Types

Enum CId
Instance details

Defined in System.Posix.Types

Enum CKey
Instance details

Defined in System.Posix.Types

Enum CSocklen
Instance details

Defined in System.Posix.Types

Enum CNfds
Instance details

Defined in System.Posix.Types

Enum Fd
Instance details

Defined in System.Posix.Types

Enum Associativity

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Enum SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Enum SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Enum DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Enum CChar
Instance details

Defined in Foreign.C.Types

Enum CSChar
Instance details

Defined in Foreign.C.Types

Enum CUChar
Instance details

Defined in Foreign.C.Types

Enum CShort
Instance details

Defined in Foreign.C.Types

Enum CUShort
Instance details

Defined in Foreign.C.Types

Enum CInt
Instance details

Defined in Foreign.C.Types

Enum CUInt
Instance details

Defined in Foreign.C.Types

Enum CLong
Instance details

Defined in Foreign.C.Types

Enum CULong
Instance details

Defined in Foreign.C.Types

Enum CLLong
Instance details

Defined in Foreign.C.Types

Enum CULLong
Instance details

Defined in Foreign.C.Types

Enum CBool
Instance details

Defined in Foreign.C.Types

Enum CFloat
Instance details

Defined in Foreign.C.Types

Enum CDouble
Instance details

Defined in Foreign.C.Types

Enum CPtrdiff
Instance details

Defined in Foreign.C.Types

Enum CSize
Instance details

Defined in Foreign.C.Types

Enum CWchar
Instance details

Defined in Foreign.C.Types

Enum CSigAtomic
Instance details

Defined in Foreign.C.Types

Enum CClock
Instance details

Defined in Foreign.C.Types

Enum CTime
Instance details

Defined in Foreign.C.Types

Enum CUSeconds
Instance details

Defined in Foreign.C.Types

Enum CSUSeconds
Instance details

Defined in Foreign.C.Types

Enum CIntPtr
Instance details

Defined in Foreign.C.Types

Enum CUIntPtr
Instance details

Defined in Foreign.C.Types

Enum CIntMax
Instance details

Defined in Foreign.C.Types

Enum CUIntMax
Instance details

Defined in Foreign.C.Types

Enum WordPtr
Instance details

Defined in Foreign.Ptr

Enum IntPtr
Instance details

Defined in Foreign.Ptr

Enum GeneralCategory

Since: base-2.1

Instance details

Defined in GHC.Unicode

Enum Word128 Source #
Instance details

Defined in Basement.Types.Word128

Enum Word256 Source #
Instance details

Defined in Basement.Types.Word256

Enum Encoding Source #
Instance details

Defined in Basement.String

Integral a => Enum ( Ratio a)

Since: base-2.0.1

Instance details

Defined in GHC.Real

Enum a => Enum ( Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Enum a => Enum ( Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Enum a => Enum ( First a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Enum a => Enum ( Last a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Enum a => Enum ( WrappedMonoid a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Enum a => Enum ( Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Enum a => Enum ( Down a)

Since: base-4.14.0.0

Instance details

Defined in Data.Ord

Enum ( CountOf ty) Source #
Instance details

Defined in Basement.Types.OffsetSize

Enum ( Offset ty) Source #
Instance details

Defined in Basement.Types.OffsetSize

SizeValid n => Enum ( Bits n) Source #
Instance details

Defined in Basement.Bits

Enum ( Proxy s)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Enum a => Enum ( Const a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Const

Enum (f a) => Enum ( Ap f a)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Enum (f a) => Enum ( Alt f a)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Coercible a b => Enum ( Coercion a b)

Since: base-4.7.0.0

Instance details

Defined in Data.Type.Coercion

a ~ b => Enum (a :~: b)

Since: base-4.7.0.0

Instance details

Defined in Data.Type.Equality

a ~~ b => Enum (a :~~: b)

Since: base-4.10.0.0

Instance details

Defined in Data.Type.Equality

class Functor (f :: Type -> Type ) where Source #

A type f is a Functor if it provides a function fmap which, given any types a and b lets you apply any function from (a -> b) to turn an f a into an f b , preserving the structure of f . Furthermore f needs to adhere to the following:

Identity
fmap id == id
Composition
fmap (f . g) == fmap f . fmap g

Note, that the second law follows from the free theorem of the type fmap and the first law, so you need only check that the former condition holds.

Minimal complete definition

fmap

Methods

fmap :: (a -> b) -> f a -> f b Source #

Using ApplicativeDo : ' fmap f as ' can be understood as the do expression

do a <- as
   pure (f a)

with an inferred Functor constraint.

(<$) :: a -> f b -> f a infixl 4 Source #

Replace all locations in the input with the same value. The default definition is fmap . const , but this may be overridden with a more efficient version.

Using ApplicativeDo : ' a <$ bs ' can be understood as the do expression

do bs
   pure a

with an inferred Functor constraint.

Instances

Instances details
Functor []

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

fmap :: (a -> b) -> [a] -> [b] Source #

(<$) :: a -> [b] -> [a] Source #

Functor Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

Functor IO

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

fmap :: (a -> b) -> IO a -> IO b Source #

(<$) :: a -> IO b -> IO a Source #

Functor Par1

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Functor Min

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

fmap :: (a -> b) -> Min a -> Min b Source #

(<$) :: a -> Min b -> Min a Source #

Functor Max

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

fmap :: (a -> b) -> Max a -> Max b Source #

(<$) :: a -> Max b -> Max a Source #

Functor First

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Functor Last

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Functor Option

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Functor ZipList

Since: base-2.1

Instance details

Defined in Control.Applicative

Functor Identity

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Functor Handler

Since: base-4.6.0.0

Instance details

Defined in Control.Exception

Functor First

Since: base-4.8.0.0

Instance details

Defined in Data.Monoid

Functor Last

Since: base-4.8.0.0

Instance details

Defined in Data.Monoid

Functor Dual

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Functor Sum

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

fmap :: (a -> b) -> Sum a -> Sum b Source #

(<$) :: a -> Sum b -> Sum a Source #

Functor Product

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Functor Down

Since: base-4.11.0.0

Instance details

Defined in Data.Ord

Functor NonEmpty

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Functor Array Source #
Instance details

Defined in Basement.BoxedArray

Functor ( Either a)

Since: base-3.0

Instance details

Defined in Data.Either

Methods

fmap :: (a0 -> b) -> Either a a0 -> Either a b Source #

(<$) :: a0 -> Either a b -> Either a a0 Source #

Functor ( V1 :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

Functor ( U1 :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

Functor ( (,) a)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

fmap :: (a0 -> b) -> (a, a0) -> (a, b) Source #

(<$) :: a0 -> (a, b) -> (a, a0) Source #

Functor ( Arg a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

fmap :: (a0 -> b) -> Arg a a0 -> Arg a b Source #

(<$) :: a0 -> Arg a b -> Arg a a0 Source #

Monad m => Functor ( WrappedMonad m)

Since: base-2.1

Instance details

Defined in Control.Applicative

Arrow a => Functor ( ArrowMonad a)

Since: base-4.6.0.0

Instance details

Defined in Control.Arrow

Functor ( Proxy :: Type -> Type )

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Functor ( Array i)

Since: base-2.1

Instance details

Defined in GHC.Arr

Methods

fmap :: (a -> b) -> Array i a -> Array i b Source #

(<$) :: a -> Array i b -> Array i a Source #

Functor ( ST s)

Since: base-2.1

Instance details

Defined in GHC.ST

Methods

fmap :: (a -> b) -> ST s a -> ST s b Source #

(<$) :: a -> ST s b -> ST s a Source #

Functor ( These a) Source #
Instance details

Defined in Basement.These

Methods

fmap :: (a0 -> b) -> These a a0 -> These a b Source #

(<$) :: a0 -> These a b -> These a a0 Source #

Functor ( Vect n) Source #
Instance details

Defined in Basement.Sized.Vect

Methods

fmap :: (a -> b) -> Vect n a -> Vect n b Source #

(<$) :: a -> Vect n b -> Vect n a Source #

Functor f => Functor ( Rec1 f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

Functor ( URec Char :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Functor ( URec Double :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Functor ( URec Float :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Functor ( URec Int :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Functor ( URec Word :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

Functor ( (,,) a b)

Since: base-4.14.0.0

Instance details

Defined in GHC.Base

Methods

fmap :: (a0 -> b0) -> (a, b, a0) -> (a, b, b0) Source #

(<$) :: a0 -> (a, b, b0) -> (a, b, a0) Source #

Arrow a => Functor ( WrappedArrow a b)

Since: base-2.1

Instance details

Defined in Control.Applicative

Functor m => Functor ( Kleisli m a)

Since: base-4.14.0.0

Instance details

Defined in Control.Arrow

Methods

fmap :: (a0 -> b) -> Kleisli m a a0 -> Kleisli m a b Source #

(<$) :: a0 -> Kleisli m a b -> Kleisli m a a0 Source #

Functor ( Const m :: Type -> Type )

Since: base-2.1

Instance details

Defined in Data.Functor.Const

Methods

fmap :: (a -> b) -> Const m a -> Const m b Source #

(<$) :: a -> Const m b -> Const m a Source #

Functor f => Functor ( Ap f)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Methods

fmap :: (a -> b) -> Ap f a -> Ap f b Source #

(<$) :: a -> Ap f b -> Ap f a Source #

Functor f => Functor ( Alt f)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

fmap :: (a -> b) -> Alt f a -> Alt f b Source #

(<$) :: a -> Alt f b -> Alt f a Source #

Monad m => Functor ( Reader r m) Source #
Instance details

Defined in Basement.Compat.MonadTrans

Methods

fmap :: (a -> b) -> Reader r m a -> Reader r m b Source #

(<$) :: a -> Reader r m b -> Reader r m a Source #

Monad m => Functor ( State s m) Source #
Instance details

Defined in Basement.Compat.MonadTrans

Methods

fmap :: (a -> b) -> State s m a -> State s m b Source #

(<$) :: a -> State s m b -> State s m a Source #

Functor ((->) r :: Type -> Type )

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

fmap :: (a -> b) -> (r -> a) -> r -> b Source #

(<$) :: a -> (r -> b) -> r -> a Source #

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

Functor ( (,,,) a b c)

Since: base-4.14.0.0

Instance details

Defined in GHC.Base

Methods

fmap :: (a0 -> b0) -> (a, b, c, a0) -> (a, b, c, b0) Source #

(<$) :: a0 -> (a, b, c, b0) -> (a, b, c, a0) Source #

Functor f => Functor ( M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

Monad state => Functor ( Builder collection mutCollection step state err) Source #
Instance details

Defined in Basement.MutableBuilder

Methods

fmap :: (a -> b) -> Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b Source #

(<$) :: a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err a Source #

class Functor f => Applicative (f :: Type -> Type ) where Source #

A functor with application, providing operations to

  • embed pure expressions ( pure ), and
  • sequence computations and combine their results ( <*> and liftA2 ).

A minimal complete definition must include implementations of pure and of either <*> or liftA2 . If it defines both, then they must behave the same as their default definitions:

(<*>) = liftA2 id
liftA2 f x y = f <$> x <*> y

Further, any definition must satisfy the following:

Identity
pure id <*> v = v
Composition
pure (.) <*> u <*> v <*> w = u <*> (v <*> w)
Homomorphism
pure f <*> pure x = pure (f x)
Interchange
u <*> pure y = pure ($ y) <*> u

The other methods have the following default definitions, which may be overridden with equivalent specialized implementations:

As a consequence of these laws, the Functor instance for f will satisfy

It may be useful to note that supposing

forall x y. p (q x y) = f x . g y

it follows from the above that

liftA2 p (liftA2 q u v) = liftA2 f u . liftA2 g v

If f is also a Monad , it should satisfy

(which implies that pure and <*> satisfy the applicative functor laws).

Minimal complete definition

pure , ( (<*>) | liftA2 )

Methods

pure :: a -> f a Source #

Lift a value.

(<*>) :: f (a -> b) -> f a -> f b infixl 4 Source #

Sequential application.

A few functors support an implementation of <*> that is more efficient than the default one.

Using ApplicativeDo : ' fs <*> as ' can be understood as the do expression

do f <- fs
   a <- as
   pure (f a)

liftA2 :: (a -> b -> c) -> f a -> f b -> f c Source #

Lift a binary function to actions.

Some functors support an implementation of liftA2 that is more efficient than the default one. In particular, if fmap is an expensive operation, it is likely better to use liftA2 than to fmap over the structure and then use <*> .

This became a typeclass method in 4.10.0.0. Prior to that, it was a function defined in terms of <*> and fmap .

Using ApplicativeDo : ' liftA2 f as bs ' can be understood as the do expression

do a <- as
   b <- bs
   pure (f a b)

(*>) :: f a -> f b -> f b infixl 4 Source #

Sequence actions, discarding the value of the first argument.

' as *> bs ' can be understood as the do expression

do as
   bs

This is a tad complicated for our ApplicativeDo extension which will give it a Monad constraint. For an Applicative constraint we write it of the form

do _ <- as
   b <- bs
   pure b

(<*) :: f a -> f b -> f a infixl 4 Source #

Sequence actions, discarding the value of the second argument.

Using ApplicativeDo : ' as <* bs ' can be understood as the do expression

do a <- as
   bs
   pure a

Instances

Instances details
Applicative []

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

pure :: a -> [a] Source #

(<*>) :: [a -> b] -> [a] -> [b] Source #

liftA2 :: (a -> b -> c) -> [a] -> [b] -> [c] Source #

(*>) :: [a] -> [b] -> [b] Source #

(<*) :: [a] -> [b] -> [a] Source #

Applicative Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

Applicative IO

Since: base-2.1

Instance details

Defined in GHC.Base

Applicative Par1

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Applicative Min

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Applicative Max

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Applicative First

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Applicative Last

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Applicative Option

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Applicative ZipList
f <$> ZipList xs1 <*> ... <*> ZipList xsN
    = ZipList (zipWithN f xs1 ... xsN)

where zipWithN refers to the zipWith function of the appropriate arity ( zipWith , zipWith3 , zipWith4 , ...). For example:

(\a b c -> stimes c [a, b]) <$> ZipList "abcd" <*> ZipList "567" <*> ZipList [1..]
    = ZipList (zipWith3 (\a b c -> stimes c [a, b]) "abcd" "567" [1..])
    = ZipList {getZipList = ["a5","b6b6","c7c7c7"]}

Since: base-2.1

Instance details

Defined in Control.Applicative

Applicative Identity

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Applicative First

Since: base-4.8.0.0

Instance details

Defined in Data.Monoid

Applicative Last

Since: base-4.8.0.0

Instance details

Defined in Data.Monoid

Applicative Dual

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Applicative Sum

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Applicative Product

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Applicative Down

Since: base-4.11.0.0

Instance details

Defined in Data.Ord

Applicative NonEmpty

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Applicative ( Either e)

Since: base-3.0

Instance details

Defined in Data.Either

Applicative ( U1 :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Monoid a => Applicative ( (,) a)

For tuples, the Monoid constraint on a determines how the first values merge. For example, String s concatenate:

("hello ", (+15)) <*> ("world!", 2002)
("hello world!",2017)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

pure :: a0 -> (a, a0) Source #

(<*>) :: (a, a0 -> b) -> (a, a0) -> (a, b) Source #

liftA2 :: (a0 -> b -> c) -> (a, a0) -> (a, b) -> (a, c) Source #

(*>) :: (a, a0) -> (a, b) -> (a, b) Source #

(<*) :: (a, a0) -> (a, b) -> (a, a0) Source #

Monad m => Applicative ( WrappedMonad m)

Since: base-2.1

Instance details

Defined in Control.Applicative

Arrow a => Applicative ( ArrowMonad a)

Since: base-4.6.0.0

Instance details

Defined in Control.Arrow

Applicative ( Proxy :: Type -> Type )

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Applicative ( ST s)

Since: base-4.4.0.0

Instance details

Defined in GHC.ST

Methods

pure :: a -> ST s a Source #

(<*>) :: ST s (a -> b) -> ST s a -> ST s b Source #

liftA2 :: (a -> b -> c) -> ST s a -> ST s b -> ST s c Source #

(*>) :: ST s a -> ST s b -> ST s b Source #

(<*) :: ST s a -> ST s b -> ST s a Source #

Applicative f => Applicative ( Rec1 f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

( Monoid a, Monoid b) => Applicative ( (,,) a b)

Since: base-4.14.0.0

Instance details

Defined in GHC.Base

Methods

pure :: a0 -> (a, b, a0) Source #

(<*>) :: (a, b, a0 -> b0) -> (a, b, a0) -> (a, b, b0) Source #

liftA2 :: (a0 -> b0 -> c) -> (a, b, a0) -> (a, b, b0) -> (a, b, c) Source #

(*>) :: (a, b, a0) -> (a, b, b0) -> (a, b, b0) Source #

(<*) :: (a, b, a0) -> (a, b, b0) -> (a, b, a0) Source #

Arrow a => Applicative ( WrappedArrow a b)

Since: base-2.1

Instance details

Defined in Control.Applicative

Applicative m => Applicative ( Kleisli m a)

Since: base-4.14.0.0

Instance details

Defined in Control.Arrow

Monoid m => Applicative ( Const m :: Type -> Type )

Since: base-2.0.1

Instance details

Defined in Data.Functor.Const

Applicative f => Applicative ( Ap f)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Methods

pure :: a -> Ap f a Source #

(<*>) :: Ap f (a -> b) -> Ap f a -> Ap f b Source #

liftA2 :: (a -> b -> c) -> Ap f a -> Ap f b -> Ap f c Source #

(*>) :: Ap f a -> Ap f b -> Ap f b Source #

(<*) :: Ap f a -> Ap f b -> Ap f a Source #

Applicative f => Applicative ( Alt f)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Monad m => Applicative ( Reader r m) Source #
Instance details

Defined in Basement.Compat.MonadTrans

Monad m => Applicative ( State s m) Source #
Instance details

Defined in Basement.Compat.MonadTrans

Methods

pure :: a -> State s m a Source #

(<*>) :: State s m (a -> b) -> State s m a -> State s m b Source #

liftA2 :: (a -> b -> c) -> State s m a -> State s m b -> State s m c Source #

(*>) :: State s m a -> State s m b -> State s m b Source #

(<*) :: State s m a -> State s m b -> State s m a Source #

Applicative ((->) r :: Type -> Type )

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

pure :: a -> r -> a Source #

(<*>) :: (r -> (a -> b)) -> (r -> a) -> r -> b Source #

liftA2 :: (a -> b -> c) -> (r -> a) -> (r -> b) -> r -> c Source #

(*>) :: (r -> a) -> (r -> b) -> r -> b Source #

(<*) :: (r -> a) -> (r -> b) -> r -> a Source #

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

pure :: a -> K1 i c a Source #

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

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

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

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

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

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

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

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

( Monoid a, Monoid b, Monoid c) => Applicative ( (,,,) a b c)

Since: base-4.14.0.0

Instance details

Defined in GHC.Base

Methods

pure :: a0 -> (a, b, c, a0) Source #

(<*>) :: (a, b, c, a0 -> b0) -> (a, b, c, a0) -> (a, b, c, b0) Source #

liftA2 :: (a0 -> b0 -> c0) -> (a, b, c, a0) -> (a, b, c, b0) -> (a, b, c, c0) Source #

(*>) :: (a, b, c, a0) -> (a, b, c, b0) -> (a, b, c, b0) Source #

(<*) :: (a, b, c, a0) -> (a, b, c, b0) -> (a, b, c, a0) Source #

Applicative f => Applicative ( M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

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

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

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

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

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

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

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

Monad state => Applicative ( Builder collection mutCollection step state err) Source #
Instance details

Defined in Basement.MutableBuilder

Methods

pure :: a -> Builder collection mutCollection step state err a Source #

(<*>) :: Builder collection mutCollection step state err (a -> b) -> Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b Source #

liftA2 :: (a -> b -> c) -> Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err c Source #

(*>) :: Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err b Source #

(<*) :: Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err a Source #

class Applicative m => Monad (m :: Type -> Type ) where Source #

The Monad class defines the basic operations over a monad , a concept from a branch of mathematics known as category theory . From the perspective of a Haskell programmer, however, it is best to think of a monad as an abstract datatype of actions. Haskell's do expressions provide a convenient syntax for writing monadic expressions.

Instances of Monad should satisfy the following:

Left identity
return a >>= k = k a
Right identity
m >>= return = m
Associativity
m >>= (\x -> k x >>= h) = (m >>= k) >>= h

Furthermore, the Monad and Applicative operations should relate as follows:

The above laws imply:

and that pure and ( <*> ) satisfy the applicative functor laws.

The instances of Monad for lists, Maybe and IO defined in the Prelude satisfy these laws.

Minimal complete definition

(>>=)

Methods

(>>=) :: m a -> (a -> m b) -> m b infixl 1 Source #

Sequentially compose two actions, passing any value produced by the first as an argument to the second.

' as >>= bs ' can be understood as the do expression

do a <- as
   bs a

(>>) :: m a -> m b -> m b infixl 1 Source #

Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in imperative languages.

' as >> bs ' can be understood as the do expression

do as
   bs

return :: a -> m a Source #

Inject a value into the monadic type.

Instances

Instances details
Monad []

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

(>>=) :: [a] -> (a -> [b]) -> [b] Source #

(>>) :: [a] -> [b] -> [b] Source #

return :: a -> [a] Source #

Monad Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

Monad IO

Since: base-2.1

Instance details

Defined in GHC.Base

Monad Par1

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Monad Min

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Monad Max

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Monad First

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Monad Last

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Monad Option

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Monad Identity

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Monad First

Since: base-4.8.0.0

Instance details

Defined in Data.Monoid

Monad Last

Since: base-4.8.0.0

Instance details

Defined in Data.Monoid

Monad Dual

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Monad Sum

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Monad Product

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Monad Down

Since: base-4.11.0.0

Instance details

Defined in Data.Ord

Monad NonEmpty

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Monad ( Either e)

Since: base-4.4.0.0

Instance details

Defined in Data.Either

Monad ( U1 :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Monoid a => Monad ( (,) a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(>>=) :: (a, a0) -> (a0 -> (a, b)) -> (a, b) Source #

(>>) :: (a, a0) -> (a, b) -> (a, b) Source #

return :: a0 -> (a, a0) Source #

Monad m => Monad ( WrappedMonad m)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

ArrowApply a => Monad ( ArrowMonad a)

Since: base-2.1

Instance details

Defined in Control.Arrow

Monad ( Proxy :: Type -> Type )

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Monad ( ST s)

Since: base-2.1

Instance details

Defined in GHC.ST

Monad f => Monad ( Rec1 f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

( Monoid a, Monoid b) => Monad ( (,,) a b)

Since: base-4.14.0.0

Instance details

Defined in GHC.Base

Methods

(>>=) :: (a, b, a0) -> (a0 -> (a, b, b0)) -> (a, b, b0) Source #

(>>) :: (a, b, a0) -> (a, b, b0) -> (a, b, b0) Source #

return :: a0 -> (a, b, a0) Source #

Monad m => Monad ( Kleisli m a)

Since: base-4.14.0.0

Instance details

Defined in Control.Arrow

Monad f => Monad ( Ap f)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Monad f => Monad ( Alt f)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Monad m => Monad ( Reader r m) Source #
Instance details

Defined in Basement.Compat.MonadTrans

Monad m => Monad ( State r m) Source #
Instance details

Defined in Basement.Compat.MonadTrans

Monad ((->) r :: Type -> Type )

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

(>>=) :: (r -> a) -> (a -> r -> b) -> r -> b Source #

(>>) :: (r -> a) -> (r -> b) -> r -> b Source #

return :: a -> r -> a Source #

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

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

( Monoid a, Monoid b, Monoid c) => Monad ( (,,,) a b c)

Since: base-4.14.0.0

Instance details

Defined in GHC.Base

Methods

(>>=) :: (a, b, c, a0) -> (a0 -> (a, b, c, b0)) -> (a, b, c, b0) Source #

(>>) :: (a, b, c, a0) -> (a, b, c, b0) -> (a, b, c, b0) Source #

return :: a0 -> (a, b, c, a0) Source #

Monad f => Monad ( M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

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

Monad state => Monad ( Builder collection mutCollection step state err) Source #
Instance details

Defined in Basement.MutableBuilder

Methods

(>>=) :: Builder collection mutCollection step state err a -> (a -> Builder collection mutCollection step state err b) -> Builder collection mutCollection step state err b Source #

(>>) :: Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err b Source #

return :: a -> Builder collection mutCollection step state err a Source #

when :: Applicative f => Bool -> f () -> f () Source #

Conditional execution of Applicative expressions. For example,

when debug (putStrLn "Debugging")

will output the string Debugging if the Boolean value debug is True , and otherwise do nothing.

unless :: Applicative f => Bool -> f () -> f () Source #

The reverse of when .

data Maybe a Source #

The Maybe type encapsulates an optional value. A value of type Maybe a either contains a value of type a (represented as Just a ), or it is empty (represented as Nothing ). Using Maybe is a good way to deal with errors or exceptional cases without resorting to drastic measures such as error .

The Maybe type is also a monad. It is a simple kind of error monad, where all errors are represented by Nothing . A richer error monad can be built using the Either type.

Constructors

Nothing
Just a

Instances

Instances details
Monad Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

Functor Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

Applicative Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

Foldable Maybe

Since: base-2.1

Instance details

Defined in Data.Foldable

Traversable Maybe

Since: base-2.1

Instance details

Defined in Data.Traversable

Alternative Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

MonadPlus Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

MonadFailure Maybe Source #
Instance details

Defined in Basement.Monad

Associated Types

type Failure Maybe Source #

Eq a => Eq ( Maybe a)

Since: base-2.1

Instance details

Defined in GHC.Maybe

Data a => Data ( Maybe a)

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Maybe a -> Constr Source #

dataTypeOf :: Maybe a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Maybe a -> Maybe a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Maybe a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Maybe a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Maybe a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Maybe a -> m ( Maybe a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Maybe a -> m ( Maybe a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Maybe a -> m ( Maybe a) Source #

Ord a => Ord ( Maybe a)

Since: base-2.1

Instance details

Defined in GHC.Maybe

Read a => Read ( Maybe a)

Since: base-2.1

Instance details

Defined in GHC.Read

Show a => Show ( Maybe a)

Since: base-2.1

Instance details

Defined in GHC.Show

Generic ( Maybe a)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Semigroup a => Semigroup ( Maybe a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Semigroup a => Monoid ( Maybe a)

Lift a semigroup into Maybe forming a Monoid according to http://en.wikipedia.org/wiki/Monoid : "Any semigroup S may be turned into a monoid simply by adjoining an element e not in S and defining e*e = e and e*s = s = s*e for all s ∈ S ."

Since 4.11.0 : constraint on inner a value generalised from Monoid to Semigroup .

Since: base-2.1

Instance details

Defined in GHC.Base

SingKind a => SingKind ( Maybe a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type DemoteRep ( Maybe a)

Methods

fromSing :: forall (a0 :: Maybe a). Sing a0 -> DemoteRep ( Maybe a)

NormalForm a => NormalForm ( Maybe a) Source #
Instance details

Defined in Basement.NormalForm

Generic1 Maybe

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 Maybe :: k -> Type Source #

Methods

from1 :: forall (a :: k). Maybe a -> Rep1 Maybe a Source #

to1 :: forall (a :: k). Rep1 Maybe a -> Maybe a Source #

SingI (' Nothing :: Maybe a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing ' Nothing

SingI a2 => SingI (' Just a2 :: Maybe a1)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing (' Just a2)

From ( Maybe a) ( Either () a) Source #
Instance details

Defined in Basement.From

type Failure Maybe Source #
Instance details

Defined in Basement.Monad

type Rep ( Maybe a)
Instance details

Defined in GHC.Generics

type DemoteRep ( Maybe a)
Instance details

Defined in GHC.Generics

type DemoteRep ( Maybe a) = Maybe (DemoteRep a)
data Sing (b :: Maybe a)
Instance details

Defined in GHC.Generics

data Sing (b :: Maybe a) where
type Rep1 Maybe
Instance details

Defined in GHC.Generics

data Ordering Source #

Constructors

LT
EQ
GT

Instances

Instances details
Bounded Ordering

Since: base-2.1

Instance details

Defined in GHC.Enum

Enum Ordering

Since: base-2.1

Instance details

Defined in GHC.Enum

Eq Ordering
Instance details

Defined in GHC.Classes

Data Ordering

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Ordering -> Constr Source #

dataTypeOf :: Ordering -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Ordering -> Ordering Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Ordering -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Ordering -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Ordering -> u Source #

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

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

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

Ord Ordering
Instance details

Defined in GHC.Classes

Read Ordering

Since: base-2.1

Instance details

Defined in GHC.Read

Show Ordering

Since: base-2.1

Instance details

Defined in GHC.Show

Ix Ordering

Since: base-2.1

Instance details

Defined in GHC.Ix

Generic Ordering

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Semigroup Ordering

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Monoid Ordering

Since: base-2.1

Instance details

Defined in GHC.Base

type Rep Ordering
Instance details

Defined in GHC.Generics

data Bool Source #

Constructors

False
True

Instances

Instances details
Bounded Bool

Since: base-2.1

Instance details

Defined in GHC.Enum

Enum Bool

Since: base-2.1

Instance details

Defined in GHC.Enum

Eq Bool
Instance details

Defined in GHC.Classes

Data Bool

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Bool -> Constr Source #

dataTypeOf :: Bool -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Bool -> Bool Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Bool -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Bool -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Bool -> u Source #

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

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

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

Ord Bool
Instance details

Defined in GHC.Classes

Read Bool

Since: base-2.1

Instance details

Defined in GHC.Read

Show Bool

Since: base-2.1

Instance details

Defined in GHC.Show

Ix Bool

Since: base-2.1

Instance details

Defined in GHC.Ix

Generic Bool

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep Bool :: Type -> Type Source #

Storable Bool

Since: base-2.1

Instance details

Defined in Foreign.Storable

Bits Bool

Interpret Bool as 1-bit bit-field

Since: base-4.7.0.0

Instance details

Defined in Data.Bits

FiniteBits Bool

Since: base-4.7.0.0

Instance details

Defined in Data.Bits

SingKind Bool

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type DemoteRep Bool

Methods

fromSing :: forall (a :: Bool ). Sing a -> DemoteRep Bool

NormalForm Bool Source #
Instance details

Defined in Basement.NormalForm

BitOps Bool Source #
Instance details

Defined in Basement.Bits

FiniteBitsOps Bool Source #
Instance details

Defined in Basement.Bits

SingI ' False

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing ' False

SingI ' True

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing ' True

type Rep Bool
Instance details

Defined in GHC.Generics

type DemoteRep Bool
Instance details

Defined in GHC.Generics

type DemoteRep Bool = Bool
data Sing (a :: Bool )
Instance details

Defined in GHC.Generics

data Sing (a :: Bool ) where

data Int Source #

A fixed-precision integer type with at least the range [-2^29 .. 2^29-1] . The exact range for a given implementation can be determined by using minBound and maxBound from the Bounded class.

Instances

Instances details
Bounded Int

Since: base-2.1

Instance details

Defined in GHC.Enum

Enum Int

Since: base-2.1

Instance details

Defined in GHC.Enum

Eq Int
Instance details

Defined in GHC.Classes

Integral Int

Since: base-2.0.1

Instance details

Defined in GHC.Real

Data Int

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Int -> Constr Source #

dataTypeOf :: Int -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Int -> Int Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Int -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Int -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Int -> u Source #

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

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

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

Num Int

Since: base-2.1

Instance details

Defined in GHC.Num

Ord Int
Instance details

Defined in GHC.Classes

Read Int

Since: base-2.1

Instance details

Defined in GHC.Read

Real Int

Since: base-2.0.1

Instance details

Defined in GHC.Real

Show Int

Since: base-2.1

Instance details

Defined in GHC.Show

Ix Int

Since: base-2.1

Instance details

Defined in GHC.Ix

Storable Int

Since: base-2.1

Instance details

Defined in Foreign.Storable

Bits Int

Since: base-2.1

Instance details

Defined in Data.Bits

FiniteBits Int

Since: base-4.6.0.0

Instance details

Defined in Data.Bits

HasNegation Int Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Int Source #
Instance details

Defined in Basement.Compat.NumLiteral

IsIntegral Int Source #
Instance details

Defined in Basement.Numerical.Number

Subtractive Int Source #
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Int Source #

Additive Int Source #
Instance details

Defined in Basement.Numerical.Additive

IDivisible Int Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Int Source #
Instance details

Defined in Basement.Numerical.Multiplicative

PrimMemoryComparable Int Source #
Instance details

Defined in Basement.PrimType

PrimType Int Source #
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Int :: Nat Source #

NormalForm Int Source #
Instance details

Defined in Basement.NormalForm

IntegralUpsize Int Int64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int8 Int Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int16 Int Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int32 Int Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Int Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int Int8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int Int16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int Int32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int Source #
Instance details

Defined in Basement.IntegralConv

Cast Int Int64 Source #
Instance details

Defined in Basement.Cast

Cast Int Word Source #
Instance details

Defined in Basement.Cast

Cast Int Word64 Source #
Instance details

Defined in Basement.Cast

Cast Int64 Int Source #
Instance details

Defined in Basement.Cast

Cast Word Int Source #
Instance details

Defined in Basement.Cast

Cast Word64 Int Source #
Instance details

Defined in Basement.Cast

From Int Int64 Source #
Instance details

Defined in Basement.From

From Int8 Int Source #
Instance details

Defined in Basement.From

From Int16 Int Source #
Instance details

Defined in Basement.From

From Int32 Int Source #
Instance details

Defined in Basement.From

From Word8 Int Source #
Instance details

Defined in Basement.From

From Word16 Int Source #
Instance details

Defined in Basement.From

From Word32 Int Source #
Instance details

Defined in Basement.From

TryFrom Int ( CountOf ty) Source #
Instance details

Defined in Basement.From

TryFrom Int ( Offset ty) Source #
Instance details

Defined in Basement.From

Generic1 ( URec Int :: k -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Foldable ( UInt :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Traversable ( UInt :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

From ( CountOf ty) Int Source #
Instance details

Defined in Basement.From

Functor ( URec Int :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq ( URec Int p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ord ( URec Int p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show ( URec Int p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Generic ( URec Int p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

type NatNumMaxBound Int Source #
Instance details

Defined in Basement.Nat

type Difference Int Source #
Instance details

Defined in Basement.Numerical.Subtractive

type PrimSize Int Source #
Instance details

Defined in Basement.PrimType

data URec Int (p :: k)

Used for marking occurrences of Int#

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

type Rep1 ( URec Int :: k -> Type )
Instance details

Defined in GHC.Generics

type Rep ( URec Int p)
Instance details

Defined in GHC.Generics

data Integer Source #

Arbitrary precision integers. In contrast with fixed-size integral types such as Int , the Integer type represents the entire infinite range of integers.

For more information about this type's representation, see the comments in its implementation.

Instances

Instances details
Enum Integer

Since: base-2.1

Instance details

Defined in GHC.Enum

Eq Integer
Instance details

Defined in GHC.Integer.Type

Integral Integer

Since: base-2.0.1

Instance details

Defined in GHC.Real

Data Integer

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Integer -> Constr Source #

dataTypeOf :: Integer -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Integer -> Integer Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Integer -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Integer -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Integer -> u Source #

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

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

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

Num Integer

Since: base-2.1

Instance details

Defined in GHC.Num

Ord Integer
Instance details

Defined in GHC.Integer.Type

Read Integer

Since: base-2.1

Instance details

Defined in GHC.Read

Real Integer

Since: base-2.0.1

Instance details

Defined in GHC.Real

Show Integer

Since: base-2.1

Instance details

Defined in GHC.Show

Ix Integer

Since: base-2.1

Instance details

Defined in GHC.Ix

Bits Integer

Since: base-2.1

Instance details

Defined in Data.Bits

HasNegation Integer Source #
Instance details

Defined in Basement.Compat.NumLiteral

Fractional Rational Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Integer Source #
Instance details

Defined in Basement.Compat.NumLiteral

IsIntegral Integer Source #
Instance details

Defined in Basement.Numerical.Number

Subtractive Integer Source #
Instance details

Defined in Basement.Numerical.Subtractive

Additive Integer Source #
Instance details

Defined in Basement.Numerical.Additive

Additive Rational Source #
Instance details

Defined in Basement.Numerical.Additive

Divisible Rational Source #
Instance details

Defined in Basement.Numerical.Multiplicative

IDivisible Integer Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Integer Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Rational Source #
Instance details

Defined in Basement.Numerical.Multiplicative

NormalForm Integer Source #
Instance details

Defined in Basement.NormalForm

IsIntegral a => IntegralUpsize a Integer Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Int8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Int16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Int32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Int64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Natural Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Word8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Word16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Word32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Word64 Source #
Instance details

Defined in Basement.IntegralConv

IsIntegral n => From n Integer Source #
Instance details

Defined in Basement.From

type Difference Integer Source #
Instance details

Defined in Basement.Numerical.Subtractive

data Char Source #

The character type Char is an enumeration whose values represent Unicode (or equivalently ISO/IEC 10646) code points (i.e. characters, see http://www.unicode.org/ for details). This set extends the ISO 8859-1 (Latin-1) character set (the first 256 characters), which is itself an extension of the ASCII character set (the first 128 characters). A character literal in Haskell has type Char .

To convert a Char to or from the corresponding Int value defined by Unicode, use toEnum and fromEnum from the Enum class respectively (or equivalently ord and chr ).

Instances

Instances details
Bounded Char

Since: base-2.1

Instance details

Defined in GHC.Enum

Enum Char

Since: base-2.1

Instance details

Defined in GHC.Enum

Eq Char
Instance details

Defined in GHC.Classes

Data Char

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Char -> Constr Source #

dataTypeOf :: Char -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Char -> Char Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Char -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Char -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Char -> u Source #

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

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

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

Ord Char
Instance details

Defined in GHC.Classes

Read Char

Since: base-2.1

Instance details

Defined in GHC.Read

Show Char

Since: base-2.1

Instance details

Defined in GHC.Show

Ix Char

Since: base-2.1

Instance details

Defined in GHC.Ix

Storable Char

Since: base-2.1

Instance details

Defined in Foreign.Storable

Subtractive Char Source #
Instance details

Defined in Basement.Numerical.Subtractive

PrimMemoryComparable Char Source #
Instance details

Defined in Basement.PrimType

PrimType Char Source #
Instance details

Defined in Basement.PrimType

NormalForm Char Source #
Instance details

Defined in Basement.NormalForm

Generic1 ( URec Char :: k -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Foldable ( UChar :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Traversable ( UChar :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Functor ( URec Char :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq ( URec Char p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ord ( URec Char p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show ( URec Char p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Generic ( URec Char p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

type NatNumMaxBound Char Source #
Instance details

Defined in Basement.Nat

type Difference Char Source #
Instance details

Defined in Basement.Numerical.Subtractive

type PrimSize Char Source #
Instance details

Defined in Basement.PrimType

data URec Char (p :: k)

Used for marking occurrences of Char#

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

type Rep1 ( URec Char :: k -> Type )
Instance details

Defined in GHC.Generics

type Rep ( URec Char p)
Instance details

Defined in GHC.Generics

class Integral a where Source #

Integral Literal support

e.g. 123 :: Integer 123 :: Word8

Instances

Instances details
Integral Double Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Float Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Int Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Int8 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Int16 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Int32 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Int64 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Integer Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Natural Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Word Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Word8 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Word16 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Word32 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Word64 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral COff Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CChar Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CSChar Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CUChar Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CShort Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CUShort Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CInt Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CUInt Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CLong Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CULong Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CLLong Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CULLong Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CBool Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CFloat Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CDouble Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CPtrdiff Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CSize Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CWchar Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CSigAtomic Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CClock Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CTime Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CUSeconds Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CSUSeconds Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CIntPtr Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CUIntPtr Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CIntMax Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral CUIntMax Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral IntPtr Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Word128 Source #
Instance details

Defined in Basement.Types.Word128

Integral Word256 Source #
Instance details

Defined in Basement.Types.Word256

KnownNat n => Integral ( Zn n) Source #
Instance details

Defined in Basement.Bounded

( KnownNat n, NatWithinBound Word64 n) => Integral ( Zn64 n) Source #
Instance details

Defined in Basement.Bounded

Integral ( CountOf ty) Source #
Instance details

Defined in Basement.Types.OffsetSize

Integral ( Offset ty) Source #
Instance details

Defined in Basement.Types.OffsetSize

class HasNegation a where Source #

Negation support

e.g. -(f x)

Methods

negate :: a -> a Source #

Instances

Instances details
HasNegation Double Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation Float Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation Int Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation Int8 Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation Int16 Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation Int32 Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation Int64 Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation Integer Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation Word Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation Word8 Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation Word16 Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation Word32 Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation Word64 Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation CChar Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation CSChar Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation CShort Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation CInt Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation CLong Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation CLLong Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation CFloat Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation CDouble Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation CPtrdiff Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation CWchar Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation CIntMax Source #
Instance details

Defined in Basement.Compat.NumLiteral

HasNegation Word128 Source #
Instance details

Defined in Basement.Types.Word128

HasNegation Word256 Source #
Instance details

Defined in Basement.Types.Word256

data Int8 Source #

8-bit signed integer type

Instances

Instances details
Bounded Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Enum Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Eq Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Integral Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Data Int8

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Int8 -> Constr Source #

dataTypeOf :: Int8 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Int8 -> Int8 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Int8 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Int8 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Int8 -> u Source #

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

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

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

Num Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Ord Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Read Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Real Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Show Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Ix Int8

Since: base-2.1

Instance details

Defined in GHC.Int

Storable Int8

Since: base-2.1

Instance details

Defined in Foreign.Storable

Bits Int8

Since: base-2.1

Instance details

Defined in GHC.Int

FiniteBits Int8

Since: base-4.6.0.0

Instance details

Defined in GHC.Int

HasNegation Int8 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Int8 Source #
Instance details

Defined in Basement.Compat.NumLiteral

IsIntegral Int8 Source #
Instance details

Defined in Basement.Numerical.Number

Subtractive Int8 Source #
Instance details

Defined in Basement.Numerical.Subtractive

Additive Int8 Source #
Instance details

Defined in Basement.Numerical.Additive

IDivisible Int8 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Int8 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

PrimMemoryComparable Int8 Source #
Instance details

Defined in Basement.PrimType

PrimType Int8 Source #
Instance details

Defined in Basement.PrimType

NormalForm Int8 Source #
Instance details

Defined in Basement.NormalForm

BitOps Int8 Source #
Instance details

Defined in Basement.Bits

FiniteBitsOps Int8 Source #
Instance details

Defined in Basement.Bits

IntegralUpsize Int8 Int Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int8 Int16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int8 Int32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int8 Int64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int Int8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Int8 Source #
Instance details

Defined in Basement.IntegralConv

Cast Int8 Word8 Source #
Instance details

Defined in Basement.Cast

Cast Word8 Int8 Source #
Instance details

Defined in Basement.Cast

From Int8 Int Source #
Instance details

Defined in Basement.From

From Int8 Int16 Source #
Instance details

Defined in Basement.From

From Int8 Int32 Source #
Instance details

Defined in Basement.From

From Int8 Int64 Source #
Instance details

Defined in Basement.From

type NatNumMaxBound Int8 Source #
Instance details

Defined in Basement.Nat

type Difference Int8 Source #
Instance details

Defined in Basement.Numerical.Subtractive

type PrimSize Int8 Source #
Instance details

Defined in Basement.PrimType

data Int16 Source #

16-bit signed integer type

Instances

Instances details
Bounded Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Enum Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Eq Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Integral Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Data Int16

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Int16 -> Constr Source #

dataTypeOf :: Int16 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Int16 -> Int16 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Int16 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Int16 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Int16 -> u Source #

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

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

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

Num Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Ord Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Read Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Real Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Show Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Ix Int16

Since: base-2.1

Instance details

Defined in GHC.Int

Storable Int16

Since: base-2.1

Instance details

Defined in Foreign.Storable

Bits Int16

Since: base-2.1

Instance details

Defined in GHC.Int

FiniteBits Int16

Since: base-4.6.0.0

Instance details

Defined in GHC.Int

HasNegation Int16 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Int16 Source #
Instance details

Defined in Basement.Compat.NumLiteral

IsIntegral Int16 Source #
Instance details

Defined in Basement.Numerical.Number

Subtractive Int16 Source #
Instance details

Defined in Basement.Numerical.Subtractive

Additive Int16 Source #
Instance details

Defined in Basement.Numerical.Additive

IDivisible Int16 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Int16 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

PrimMemoryComparable Int16 Source #
Instance details

Defined in Basement.PrimType

PrimType Int16 Source #
Instance details

Defined in Basement.PrimType

NormalForm Int16 Source #
Instance details

Defined in Basement.NormalForm

BitOps Int16 Source #
Instance details

Defined in Basement.Bits

FiniteBitsOps Int16 Source #
Instance details

Defined in Basement.Bits

IntegralUpsize Int8 Int16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int16 Int Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int16 Int32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int16 Int64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Int16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int Int16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Int16 Source #
Instance details

Defined in Basement.IntegralConv

Cast Int16 Word16 Source #
Instance details

Defined in Basement.Cast

Cast Word16 Int16 Source #
Instance details

Defined in Basement.Cast

From Int8 Int16 Source #
Instance details

Defined in Basement.From

From Int16 Int Source #
Instance details

Defined in Basement.From

From Int16 Int32 Source #
Instance details

Defined in Basement.From

From Int16 Int64 Source #
Instance details

Defined in Basement.From

From Word8 Int16 Source #
Instance details

Defined in Basement.From

type NatNumMaxBound Int16 Source #
Instance details

Defined in Basement.Nat

type Difference Int16 Source #
Instance details

Defined in Basement.Numerical.Subtractive

type PrimSize Int16 Source #
Instance details

Defined in Basement.PrimType

data Int32 Source #

32-bit signed integer type

Instances

Instances details
Bounded Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Enum Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Eq Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Integral Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Data Int32

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Int32 -> Constr Source #

dataTypeOf :: Int32 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Int32 -> Int32 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Int32 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Int32 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Int32 -> u Source #

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

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

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

Num Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Ord Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Read Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Real Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Show Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Ix Int32

Since: base-2.1

Instance details

Defined in GHC.Int

Storable Int32

Since: base-2.1

Instance details

Defined in Foreign.Storable

Bits Int32

Since: base-2.1

Instance details

Defined in GHC.Int

FiniteBits Int32

Since: base-4.6.0.0

Instance details

Defined in GHC.Int

HasNegation Int32 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Int32 Source #
Instance details

Defined in Basement.Compat.NumLiteral

IsIntegral Int32 Source #
Instance details

Defined in Basement.Numerical.Number

Subtractive Int32 Source #
Instance details

Defined in Basement.Numerical.Subtractive

Additive Int32 Source #
Instance details

Defined in Basement.Numerical.Additive

IDivisible Int32 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Int32 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

PrimMemoryComparable Int32 Source #
Instance details

Defined in Basement.PrimType

PrimType Int32 Source #
Instance details

Defined in Basement.PrimType

NormalForm Int32 Source #
Instance details

Defined in Basement.NormalForm

BitOps Int32 Source #
Instance details

Defined in Basement.Bits

FiniteBitsOps Int32 Source #
Instance details

Defined in Basement.Bits

IntegralUpsize Int8 Int32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int16 Int32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int32 Int Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int32 Int64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Int32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int Int32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Int32 Source #
Instance details

Defined in Basement.IntegralConv

Cast Int32 Word32 Source #
Instance details

Defined in Basement.Cast

Cast Word32 Int32 Source #
Instance details

Defined in Basement.Cast

From Int8 Int32 Source #
Instance details

Defined in Basement.From

From Int16 Int32 Source #
Instance details

Defined in Basement.From

From Int32 Int Source #
Instance details

Defined in Basement.From

From Int32 Int64 Source #
Instance details

Defined in Basement.From

From Word8 Int32 Source #
Instance details

Defined in Basement.From

From Word16 Int32 Source #
Instance details

Defined in Basement.From

type NatNumMaxBound Int32 Source #
Instance details

Defined in Basement.Nat

type NatNumMaxBound Int32 = 2147483647
type Difference Int32 Source #
Instance details

Defined in Basement.Numerical.Subtractive

type PrimSize Int32 Source #
Instance details

Defined in Basement.PrimType

data Int64 Source #

64-bit signed integer type

Instances

Instances details
Bounded Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Enum Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Eq Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Integral Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Data Int64

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Int64 -> Constr Source #

dataTypeOf :: Int64 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Int64 -> Int64 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Int64 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Int64 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Int64 -> u Source #

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

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

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

Num Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Ord Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Read Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Real Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Show Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Ix Int64

Since: base-2.1

Instance details

Defined in GHC.Int

Storable Int64

Since: base-2.1

Instance details

Defined in Foreign.Storable

Bits Int64

Since: base-2.1

Instance details

Defined in GHC.Int

FiniteBits Int64

Since: base-4.6.0.0

Instance details

Defined in GHC.Int

HasNegation Int64 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Int64 Source #
Instance details

Defined in Basement.Compat.NumLiteral

IsIntegral Int64 Source #
Instance details

Defined in Basement.Numerical.Number

Subtractive Int64 Source #
Instance details

Defined in Basement.Numerical.Subtractive

Additive Int64 Source #
Instance details

Defined in Basement.Numerical.Additive

IDivisible Int64 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Int64 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

PrimMemoryComparable Int64 Source #
Instance details

Defined in Basement.PrimType

PrimType Int64 Source #
Instance details

Defined in Basement.PrimType

NormalForm Int64 Source #
Instance details

Defined in Basement.NormalForm

BitOps Int64 Source #
Instance details

Defined in Basement.Bits

FiniteBitsOps Int64 Source #
Instance details

Defined in Basement.Bits

IntegralUpsize Int Int64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int8 Int64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int16 Int64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int32 Int64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Int64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Int64 Source #
Instance details

Defined in Basement.IntegralConv

Cast Int Int64 Source #
Instance details

Defined in Basement.Cast

Cast Int64 Int Source #
Instance details

Defined in Basement.Cast

Cast Int64 Word Source #
Instance details

Defined in Basement.Cast

Cast Int64 Word64 Source #
Instance details

Defined in Basement.Cast

Cast Word Int64 Source #
Instance details

Defined in Basement.Cast

Cast Word64 Int64 Source #
Instance details

Defined in Basement.Cast

From Int Int64 Source #
Instance details

Defined in Basement.From

From Int8 Int64 Source #
Instance details

Defined in Basement.From

From Int16 Int64 Source #
Instance details

Defined in Basement.From

From Int32 Int64 Source #
Instance details

Defined in Basement.From

From Word8 Int64 Source #
Instance details

Defined in Basement.From

From Word16 Int64 Source #
Instance details

Defined in Basement.From

From Word32 Int64 Source #
Instance details

Defined in Basement.From

type NatNumMaxBound Int64 Source #
Instance details

Defined in Basement.Nat

type NatNumMaxBound Int64 = 9223372036854775807
type Difference Int64 Source #
Instance details

Defined in Basement.Numerical.Subtractive

type PrimSize Int64 Source #
Instance details

Defined in Basement.PrimType

data Word8 Source #

8-bit unsigned integer type

Instances

Instances details
Bounded Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Enum Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Eq Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Integral Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Data Word8

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Word8 -> Constr Source #

dataTypeOf :: Word8 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Word8 -> Word8 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Word8 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Word8 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Word8 -> u Source #

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

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

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

Num Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Ord Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Read Word8

Since: base-2.1

Instance details

Defined in GHC.Read

Real Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Show Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Ix Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Storable Word8

Since: base-2.1

Instance details

Defined in Foreign.Storable

Bits Word8

Since: base-2.1

Instance details

Defined in GHC.Word

FiniteBits Word8

Since: base-4.6.0.0

Instance details

Defined in GHC.Word

HasNegation Word8 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Word8 Source #
Instance details

Defined in Basement.Compat.NumLiteral

IsNatural Word8 Source #
Instance details

Defined in Basement.Numerical.Number

IsIntegral Word8 Source #
Instance details

Defined in Basement.Numerical.Number

Subtractive Word8 Source #
Instance details

Defined in Basement.Numerical.Subtractive

Additive Word8 Source #
Instance details

Defined in Basement.Numerical.Additive

IDivisible Word8 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Word8 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

PrimMemoryComparable Word8 Source #
Instance details

Defined in Basement.PrimType

PrimType Word8 Source #
Instance details

Defined in Basement.PrimType

NormalForm Word8 Source #
Instance details

Defined in Basement.NormalForm

BitOps Word8 Source #
Instance details

Defined in Basement.Bits

FiniteBitsOps Word8 Source #
Instance details

Defined in Basement.Bits

IntegralUpsize Word8 Int Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Int16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Int32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Int64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Word Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Word16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Word32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Word64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Word8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Natural Word8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word Word8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word16 Word8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word32 Word8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word64 Word8 Source #
Instance details

Defined in Basement.IntegralConv

Cast Int8 Word8 Source #
Instance details

Defined in Basement.Cast

Cast Word8 Int8 Source #
Instance details

Defined in Basement.Cast

From Word8 Int Source #
Instance details

Defined in Basement.From

From Word8 Int16 Source #
Instance details

Defined in Basement.From

From Word8 Int32 Source #
Instance details

Defined in Basement.From

From Word8 Int64 Source #
Instance details

Defined in Basement.From

From Word8 Word Source #
Instance details

Defined in Basement.From

From Word8 Word16 Source #
Instance details

Defined in Basement.From

From Word8 Word32 Source #
Instance details

Defined in Basement.From

From Word8 Word64 Source #
Instance details

Defined in Basement.From

From Word8 Word128 Source #
Instance details

Defined in Basement.From

From Word8 Word256 Source #
Instance details

Defined in Basement.From

From AsciiString ( UArray Word8 ) Source #
Instance details

Defined in Basement.From

From String ( UArray Word8 ) Source #
Instance details

Defined in Basement.From

TryFrom ( UArray Word8 ) String Source #
Instance details

Defined in Basement.From

( KnownNat n, NatWithinBound Word8 n) => From ( Zn n) Word8 Source #
Instance details

Defined in Basement.From

( KnownNat n, NatWithinBound Word8 n) => From ( Zn64 n) Word8 Source #
Instance details

Defined in Basement.From

Cast ( Block a) ( Block Word8 ) Source #
Instance details

Defined in Basement.Cast

type NatNumMaxBound Word8 Source #
Instance details

Defined in Basement.Nat

type Difference Word8 Source #
Instance details

Defined in Basement.Numerical.Subtractive

type PrimSize Word8 Source #
Instance details

Defined in Basement.PrimType

data Word16 Source #

16-bit unsigned integer type

Instances

Instances details
Bounded Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Enum Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Eq Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Integral Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Data Word16

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Word16 -> Constr Source #

dataTypeOf :: Word16 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Word16 -> Word16 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Word16 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Word16 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Word16 -> u Source #

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

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

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

Num Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Ord Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Read Word16

Since: base-2.1

Instance details

Defined in GHC.Read

Real Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Show Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Ix Word16

Since: base-2.1

Instance details

Defined in GHC.Word

Storable Word16

Since: base-2.1

Instance details

Defined in Foreign.Storable

Bits Word16

Since: base-2.1

Instance details

Defined in GHC.Word

FiniteBits Word16

Since: base-4.6.0.0

Instance details

Defined in GHC.Word

HasNegation Word16 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Word16 Source #
Instance details

Defined in Basement.Compat.NumLiteral

ByteSwap Word16 Source #
Instance details

Defined in Basement.Endianness

IsNatural Word16 Source #
Instance details

Defined in Basement.Numerical.Number

IsIntegral Word16 Source #
Instance details

Defined in Basement.Numerical.Number

Subtractive Word16 Source #
Instance details

Defined in Basement.Numerical.Subtractive

Additive Word16 Source #
Instance details

Defined in Basement.Numerical.Additive

IDivisible Word16 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Word16 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

PrimMemoryComparable Word16 Source #
Instance details

Defined in Basement.PrimType

PrimType Word16 Source #
Instance details

Defined in Basement.PrimType

NormalForm Word16 Source #
Instance details

Defined in Basement.NormalForm

BitOps Word16 Source #
Instance details

Defined in Basement.Bits

FiniteBitsOps Word16 Source #
Instance details

Defined in Basement.Bits

IntegralUpsize Word8 Word16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word16 Word Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word16 Word32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word16 Word64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Word16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Natural Word16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word Word16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word16 Word8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word32 Word16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word64 Word16 Source #
Instance details

Defined in Basement.IntegralConv

Cast Int16 Word16 Source #
Instance details

Defined in Basement.Cast

Cast Word16 Int16 Source #
Instance details

Defined in Basement.Cast

From Word8 Word16 Source #
Instance details

Defined in Basement.From

From Word16 Int Source #
Instance details

Defined in Basement.From

From Word16 Int32 Source #
Instance details

Defined in Basement.From

From Word16 Int64 Source #
Instance details

Defined in Basement.From

From Word16 Word Source #
Instance details

Defined in Basement.From

From Word16 Word32 Source #
Instance details

Defined in Basement.From

From Word16 Word64 Source #
Instance details

Defined in Basement.From

From Word16 Word128 Source #
Instance details

Defined in Basement.From

From Word16 Word256 Source #
Instance details

Defined in Basement.From

( KnownNat n, NatWithinBound Word16 n) => From ( Zn n) Word16 Source #
Instance details

Defined in Basement.From

( KnownNat n, NatWithinBound Word16 n) => From ( Zn64 n) Word16 Source #
Instance details

Defined in Basement.From

type NatNumMaxBound Word16 Source #
Instance details

Defined in Basement.Nat

type Difference Word16 Source #
Instance details

Defined in Basement.Numerical.Subtractive

type PrimSize Word16 Source #
Instance details

Defined in Basement.PrimType

data Word32 Source #

32-bit unsigned integer type

Instances

Instances details
Bounded Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Enum Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Eq Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Integral Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Data Word32

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Word32 -> Constr Source #

dataTypeOf :: Word32 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Word32 -> Word32 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Word32 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Word32 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Word32 -> u Source #

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

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

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

Num Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Ord Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Read Word32

Since: base-2.1

Instance details

Defined in GHC.Read

Real Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Show Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Ix Word32

Since: base-2.1

Instance details

Defined in GHC.Word

Storable Word32

Since: base-2.1

Instance details

Defined in Foreign.Storable

Bits Word32

Since: base-2.1

Instance details

Defined in GHC.Word

FiniteBits Word32

Since: base-4.6.0.0

Instance details

Defined in GHC.Word

HasNegation Word32 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Word32 Source #
Instance details

Defined in Basement.Compat.NumLiteral

ByteSwap Word32 Source #
Instance details

Defined in Basement.Endianness

IsNatural Word32 Source #
Instance details

Defined in Basement.Numerical.Number

IsIntegral Word32 Source #
Instance details

Defined in Basement.Numerical.Number

Subtractive Word32 Source #
Instance details

Defined in Basement.Numerical.Subtractive

Additive Word32 Source #
Instance details

Defined in Basement.Numerical.Additive

IDivisible Word32 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Word32 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

PrimMemoryComparable Word32 Source #
Instance details

Defined in Basement.PrimType

PrimType Word32 Source #
Instance details

Defined in Basement.PrimType

NormalForm Word32 Source #
Instance details

Defined in Basement.NormalForm

BitOps Word32 Source #
Instance details

Defined in Basement.Bits

FiniteBitsOps Word32 Source #
Instance details

Defined in Basement.Bits

IntegralUpsize Word8 Word32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word16 Word32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word32 Word Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word32 Word64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Word32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Natural Word32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word Word32 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word32 Word8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word32 Word16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word64 Word32 Source #
Instance details

Defined in Basement.IntegralConv

Cast Int32 Word32 Source #
Instance details

Defined in Basement.Cast

Cast Word32 Int32 Source #
Instance details

Defined in Basement.Cast

From Word8 Word32 Source #
Instance details

Defined in Basement.From

From Word16 Word32 Source #
Instance details

Defined in Basement.From

From Word32 Int Source #
Instance details

Defined in Basement.From

From Word32 Int64 Source #
Instance details

Defined in Basement.From

From Word32 Word Source #
Instance details

Defined in Basement.From

From Word32 Word64 Source #
Instance details

Defined in Basement.From

From Word32 Word128 Source #
Instance details

Defined in Basement.From

From Word32 Word256 Source #
Instance details

Defined in Basement.From

( KnownNat n, NatWithinBound Word32 n) => From ( Zn n) Word32 Source #
Instance details

Defined in Basement.From

( KnownNat n, NatWithinBound Word32 n) => From ( Zn64 n) Word32 Source #
Instance details

Defined in Basement.From

type NatNumMaxBound Word32 Source #
Instance details

Defined in Basement.Nat

type NatNumMaxBound Word32 = 4294967295
type Difference Word32 Source #
Instance details

Defined in Basement.Numerical.Subtractive

type PrimSize Word32 Source #
Instance details

Defined in Basement.PrimType

data Word64 Source #

64-bit unsigned integer type

Instances

Instances details
Bounded Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Enum Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Eq Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Integral Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Data Word64

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Word64 -> Constr Source #

dataTypeOf :: Word64 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Word64 -> Word64 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Word64 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Word64 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Word64 -> u Source #

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

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

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

Num Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Ord Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Read Word64

Since: base-2.1

Instance details

Defined in GHC.Read

Real Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Show Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Ix Word64

Since: base-2.1

Instance details

Defined in GHC.Word

Storable Word64

Since: base-2.1

Instance details

Defined in Foreign.Storable

Bits Word64

Since: base-2.1

Instance details

Defined in GHC.Word

FiniteBits Word64

Since: base-4.6.0.0

Instance details

Defined in GHC.Word

HasNegation Word64 Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Word64 Source #
Instance details

Defined in Basement.Compat.NumLiteral

ByteSwap Word64 Source #
Instance details

Defined in Basement.Endianness

IsNatural Word64 Source #
Instance details

Defined in Basement.Numerical.Number

IsIntegral Word64 Source #
Instance details

Defined in Basement.Numerical.Number

Subtractive Word64 Source #
Instance details

Defined in Basement.Numerical.Subtractive

Additive Word64 Source #
Instance details

Defined in Basement.Numerical.Additive

IDivisible Word64 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Word64 Source #
Instance details

Defined in Basement.Numerical.Multiplicative

PrimMemoryComparable Word64 Source #
Instance details

Defined in Basement.PrimType

PrimType Word64 Source #
Instance details

Defined in Basement.PrimType

NormalForm Word64 Source #
Instance details

Defined in Basement.NormalForm

BitOps Word64 Source #
Instance details

Defined in Basement.Bits

FiniteBitsOps Word64 Source #
Instance details

Defined in Basement.Bits

IntegralUpsize Word Word64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Word64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word16 Word64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word32 Word64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Word64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Natural Word64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word64 Word8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word64 Word16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word64 Word32 Source #
Instance details

Defined in Basement.IntegralConv

Cast Int Word64 Source #
Instance details

Defined in Basement.Cast

Cast Int64 Word64 Source #
Instance details

Defined in Basement.Cast

Cast Word Word64 Source #
Instance details

Defined in Basement.Cast

Cast Word64 Int Source #
Instance details

Defined in Basement.Cast

Cast Word64 Int64 Source #
Instance details

Defined in Basement.Cast

Cast Word64 Word Source #
Instance details

Defined in Basement.Cast

From Word Word64 Source #
Instance details

Defined in Basement.From

From Word8 Word64 Source #
Instance details

Defined in Basement.From

From Word16 Word64 Source #
Instance details

Defined in Basement.From

From Word32 Word64 Source #
Instance details

Defined in Basement.From

From Word64 Word128 Source #
Instance details

Defined in Basement.From

From Word64 Word256 Source #
Instance details

Defined in Basement.From

( KnownNat n, NatWithinBound Word64 n) => From ( Zn n) Word64 Source #
Instance details

Defined in Basement.From

From ( Zn64 n) Word64 Source #
Instance details

Defined in Basement.From

type NatNumMaxBound Word64 Source #
Instance details

Defined in Basement.Nat

type NatNumMaxBound Word64 = 18446744073709551615
type Difference Word64 Source #
Instance details

Defined in Basement.Numerical.Subtractive

type PrimSize Word64 Source #
Instance details

Defined in Basement.PrimType

data Word Source #

A Word is an unsigned integral type, with the same size as Int .

Instances

Instances details
Bounded Word

Since: base-2.1

Instance details

Defined in GHC.Enum

Enum Word

Since: base-2.1

Instance details

Defined in GHC.Enum

Eq Word
Instance details

Defined in GHC.Classes

Integral Word

Since: base-2.1

Instance details

Defined in GHC.Real

Data Word

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Word -> Constr Source #

dataTypeOf :: Word -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Word -> Word Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Word -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Word -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Word -> u Source #

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

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

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

Num Word

Since: base-2.1

Instance details

Defined in GHC.Num

Ord Word
Instance details

Defined in GHC.Classes

Read Word

Since: base-4.5.0.0

Instance details

Defined in GHC.Read

Real Word

Since: base-2.1

Instance details

Defined in GHC.Real

Show Word

Since: base-2.1

Instance details

Defined in GHC.Show

Ix Word

Since: base-4.6.0.0

Instance details

Defined in GHC.Ix

Storable Word

Since: base-2.1

Instance details

Defined in Foreign.Storable

Bits Word

Since: base-2.1

Instance details

Defined in Data.Bits

FiniteBits Word

Since: base-4.6.0.0

Instance details

Defined in Data.Bits

HasNegation Word Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Word Source #
Instance details

Defined in Basement.Compat.NumLiteral

IsNatural Word Source #
Instance details

Defined in Basement.Numerical.Number

IsIntegral Word Source #
Instance details

Defined in Basement.Numerical.Number

Subtractive Word Source #
Instance details

Defined in Basement.Numerical.Subtractive

Additive Word Source #
Instance details

Defined in Basement.Numerical.Additive

IDivisible Word Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Word Source #
Instance details

Defined in Basement.Numerical.Multiplicative

PrimMemoryComparable Word Source #
Instance details

Defined in Basement.PrimType

PrimType Word Source #
Instance details

Defined in Basement.PrimType

NormalForm Word Source #
Instance details

Defined in Basement.NormalForm

BitOps Word Source #
Instance details

Defined in Basement.Bits

FiniteBitsOps Word Source #
Instance details

Defined in Basement.Bits

IntegralUpsize Word Word64 Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Word Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word16 Word Source #
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word32 Word Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word Word8 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word Word16 Source #
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word Word32 Source #
Instance details

Defined in Basement.IntegralConv

Cast Int Word Source #
Instance details

Defined in Basement.Cast

Cast Int64 Word Source #
Instance details

Defined in Basement.Cast

Cast Word Int Source #
Instance details

Defined in Basement.Cast

Cast Word Int64 Source #
Instance details

Defined in Basement.Cast

Cast Word Word64 Source #
Instance details

Defined in Basement.Cast

Cast Word64 Word Source #
Instance details

Defined in Basement.Cast

From Word Word64 Source #
Instance details

Defined in Basement.From

From Word8 Word Source #
Instance details

Defined in Basement.From

From Word16 Word Source #
Instance details

Defined in Basement.From

From Word32 Word Source #
Instance details

Defined in Basement.From

From Word ( CountOf ty) Source #
Instance details

Defined in Basement.From

From Word ( Offset ty) Source #
Instance details

Defined in Basement.From

Generic1 ( URec Word :: k -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Foldable ( UWord :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Traversable ( UWord :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

From ( CountOf ty) Word Source #
Instance details

Defined in Basement.From

Functor ( URec Word :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq ( URec Word p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ord ( URec Word p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show ( URec Word p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Generic ( URec Word p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

type NatNumMaxBound Word Source #
Instance details

Defined in Basement.Nat

type Difference Word Source #
Instance details

Defined in Basement.Numerical.Subtractive

type PrimSize Word Source #
Instance details

Defined in Basement.PrimType

data URec Word (p :: k)

Used for marking occurrences of Word#

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

type Rep1 ( URec Word :: k -> Type )
Instance details

Defined in GHC.Generics

type Rep ( URec Word p)
Instance details

Defined in GHC.Generics

data Double Source #

Double-precision floating point numbers. It is desirable that this type be at least equal in range and precision to the IEEE double-precision type.

Instances

Instances details
Eq Double

Note that due to the presence of NaN , Double 's Eq instance does not satisfy reflexivity.

>>> 0/0 == (0/0 :: Double)
False

Also note that Double 's Eq instance does not satisfy substitutivity:

>>> 0 == (-0 :: Double)
True
>>> recip 0 == recip (-0 :: Double)
False
Instance details

Defined in GHC.Classes

Floating Double

Since: base-2.1

Instance details

Defined in GHC.Float

Data Double

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Double -> Constr Source #

dataTypeOf :: Double -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Double -> Double Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Double -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Double -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Double -> u Source #

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

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

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

Ord Double

Note that due to the presence of NaN , Double 's Ord instance does not satisfy reflexivity.

>>> 0/0 <= (0/0 :: Double)
False

Also note that, due to the same, Ord 's operator interactions are not respected by Double 's instance:

>>> (0/0 :: Double) > 1
False
>>> compare (0/0 :: Double) 1
GT
Instance details

Defined in GHC.Classes

Read Double

Since: base-2.1

Instance details

Defined in GHC.Read

RealFloat Double

Since: base-2.1

Instance details

Defined in GHC.Float

Storable Double

Since: base-2.1

Instance details

Defined in Foreign.Storable

HasNegation Double Source #
Instance details

Defined in Basement.Compat.NumLiteral

Fractional Double Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Double Source #
Instance details

Defined in Basement.Compat.NumLiteral

Subtractive Double Source #
Instance details

Defined in Basement.Numerical.Subtractive

Additive Double Source #
Instance details

Defined in Basement.Numerical.Additive

Divisible Double Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Double Source #
Instance details

Defined in Basement.Numerical.Multiplicative

PrimType Double Source #
Instance details

Defined in Basement.PrimType

NormalForm Double Source #
Instance details

Defined in Basement.NormalForm

Generic1 ( URec Double :: k -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Foldable ( UDouble :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Traversable ( UDouble :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Functor ( URec Double :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq ( URec Double p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ord ( URec Double p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Show ( URec Double p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Generic ( URec Double p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

type Difference Double Source #
Instance details

Defined in Basement.Numerical.Subtractive

type PrimSize Double Source #
Instance details

Defined in Basement.PrimType

data URec Double (p :: k)

Used for marking occurrences of Double#

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

type Rep1 ( URec Double :: k -> Type )
Instance details

Defined in GHC.Generics

type Rep ( URec Double p)
Instance details

Defined in GHC.Generics

data Float Source #

Single-precision floating point numbers. It is desirable that this type be at least equal in range and precision to the IEEE single-precision type.

Instances

Instances details
Eq Float

Note that due to the presence of NaN , Float 's Eq instance does not satisfy reflexivity.

>>> 0/0 == (0/0 :: Float)
False

Also note that Float 's Eq instance does not satisfy substitutivity:

>>> 0 == (-0 :: Float)
True
>>> recip 0 == recip (-0 :: Float)
False
Instance details

Defined in GHC.Classes

Floating Float

Since: base-2.1

Instance details

Defined in GHC.Float

Data Float

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Float -> Constr Source #

dataTypeOf :: Float -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Float -> Float Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Float -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Float -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Float -> u Source #

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

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

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

Ord Float

Note that due to the presence of NaN , Float 's Ord instance does not satisfy reflexivity.

>>> 0/0 <= (0/0 :: Float)
False

Also note that, due to the same, Ord 's operator interactions are not respected by Float 's instance:

>>> (0/0 :: Float) > 1
False
>>> compare (0/0 :: Float) 1
GT
Instance details

Defined in GHC.Classes

Read Float

Since: base-2.1

Instance details

Defined in GHC.Read

RealFloat Float

Since: base-2.1

Instance details

Defined in GHC.Float

Storable Float

Since: base-2.1

Instance details

Defined in Foreign.Storable

HasNegation Float Source #
Instance details

Defined in Basement.Compat.NumLiteral

Fractional Float Source #
Instance details

Defined in Basement.Compat.NumLiteral

Integral Float Source #
Instance details

Defined in Basement.Compat.NumLiteral

Subtractive Float Source #
Instance details

Defined in Basement.Numerical.Subtractive

Additive Float Source #
Instance details

Defined in Basement.Numerical.Additive

Divisible Float Source #
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Float Source #
Instance details

Defined in Basement.Numerical.Multiplicative

PrimType Float Source #
Instance details

Defined in Basement.PrimType

NormalForm Float Source #
Instance details

Defined in Basement.NormalForm

Generic1 ( URec Float :: k -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Foldable ( UFloat :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Traversable ( UFloat :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Functor ( URec Float :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Eq ( URec Float p)
Instance details

Defined in GHC.Generics

Ord ( URec Float p)
Instance details

Defined in GHC.Generics

Show ( URec Float p)
Instance details

Defined in GHC.Generics

Generic ( URec Float p)
Instance details

Defined in GHC.Generics

type Difference Float Source #
Instance details

Defined in Basement.Numerical.Subtractive

type PrimSize Float Source #
Instance details

Defined in Basement.PrimType

data URec Float (p :: k)

Used for marking occurrences of Float#

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

type Rep1 ( URec Float :: k -> Type )
Instance details

Defined in GHC.Generics

type Rep ( URec Float p)
Instance details

Defined in GHC.Generics

data IO a Source #

A value of type IO a is a computation which, when performed, does some I/O before returning a value of type a .

There is really only one way to "perform" an I/O action: bind it to Main.main in your program. When your program is run, the I/O will be performed. It isn't possible to perform I/O from an arbitrary function, unless that function is itself in the IO monad and called at some point, directly or indirectly, from Main.main .

IO is a monad, so IO actions can be combined using either the do-notation or the >> and >>= operations from the Monad class.

Instances

Instances details
Monad IO

Since: base-2.1

Instance details

Defined in GHC.Base

Functor IO

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

fmap :: (a -> b) -> IO a -> IO b Source #

(<$) :: a -> IO b -> IO a Source #

Applicative IO

Since: base-2.1

Instance details

Defined in GHC.Base

Alternative IO

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

MonadPlus IO

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

PrimMonad IO Source #
Instance details

Defined in Basement.Monad

Semigroup a => Semigroup ( IO a)

Since: base-4.10.0.0

Instance details

Defined in GHC.Base

Monoid a => Monoid ( IO a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

type PrimState IO Source #
Instance details

Defined in Basement.Monad

type PrimVar IO Source #
Instance details

Defined in Basement.Monad

class IsList l where Source #

The IsList class and its methods are intended to be used in conjunction with the OverloadedLists extension.

Since: base-4.7.0.0

Minimal complete definition

fromList , toList

Associated Types

type Item l Source #

The Item type function returns the type of items of the structure l .

Methods

fromList :: [ Item l] -> l Source #

The fromList function constructs the structure l from the given list of Item l

fromListN :: Int -> [ Item l] -> l Source #

The fromListN function takes the input list's length as a hint. Its behaviour should be equivalent to fromList . The hint can be used to construct the structure l more efficiently compared to fromList . If the given hint does not equal to the input list's length the behaviour of fromListN is not specified.

toList :: l -> [ Item l] Source #

The toList function extracts a list of Item l from the structure l . It should satisfy fromList . toList = id.

Instances

Instances details
IsList CallStack

Be aware that 'fromList . toList = id' only for unfrozen CallStack s, since toList removes frozenness information.

Since: base-4.9.0.0

Instance details

Defined in GHC.Exts

Associated Types

type Item CallStack Source #

IsList Version

Since: base-4.8.0.0

Instance details

Defined in GHC.Exts

Associated Types

type Item Version Source #

IsList AsciiString Source #
Instance details

Defined in Basement.Types.AsciiString

IsList String Source #
Instance details

Defined in Basement.UTF8.Base

Associated Types

type Item String Source #

IsList [a]

Since: base-4.7.0.0

Instance details

Defined in GHC.Exts

Associated Types

type Item [a] Source #

IsList ( ZipList a)

Since: base-4.15.0.0

Instance details

Defined in GHC.Exts

Associated Types

type Item ( ZipList a) Source #

IsList ( NonEmpty a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Exts

Associated Types

type Item ( NonEmpty a) Source #

IsList c => IsList ( NonEmpty c) Source #
Instance details

Defined in Basement.NonEmpty

Associated Types

type Item ( NonEmpty c) Source #

PrimType ty => IsList ( Block ty) Source #
Instance details

Defined in Basement.Block.Base

Associated Types

type Item ( Block ty) Source #

PrimType ty => IsList ( UArray ty) Source #
Instance details

Defined in Basement.UArray.Base

Associated Types

type Item ( UArray ty) Source #

IsList ( Array ty) Source #
Instance details

Defined in Basement.BoxedArray

Associated Types

type Item ( Array ty) Source #

class IsString a where Source #

Class for string-like datastructures; used by the overloaded string extension (-XOverloadedStrings in GHC).

Instances

Instances details
IsString AsciiString Source #
Instance details

Defined in Basement.Types.AsciiString

IsString String Source #
Instance details

Defined in Basement.UTF8.Base

a ~ Char => IsString [a]

(a ~ Char) context was introduced in 4.9.0.0

Since: base-2.1

Instance details

Defined in Data.String

IsString a => IsString ( Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.String

IsString a => IsString ( Const a b)

Since: base-4.9.0.0

Instance details

Defined in Data.String

class Generic a Source #

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

A Generic instance must satisfy the following laws:

from . to ≡ id
to . from ≡ id

Minimal complete definition

from , to

Instances

Instances details
Generic Bool

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep Bool :: Type -> Type Source #

Generic Ordering

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Generic ()

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

from :: () -> Rep () x Source #

to :: Rep () x -> () Source #

Generic Version

Since: base-4.9.0.0

Instance details

Defined in Data.Version

Generic ExitCode
Instance details

Defined in GHC.IO.Exception

Generic All

Since: base-4.7.0.0

Instance details

Defined in Data.Semigroup.Internal

Associated Types

type Rep All :: Type -> Type Source #

Generic Any

Since: base-4.7.0.0

Instance details

Defined in Data.Semigroup.Internal

Associated Types

type Rep Any :: Type -> Type Source #

Generic Fixity

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Generic Associativity

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Generic SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Generic SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Generic DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Generic [a]

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

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

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

Generic ( Maybe a)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Generic ( Par1 p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Generic ( Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Associated Types

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

Generic ( Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Associated Types

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

Generic ( First a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Associated Types

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

Generic ( Last a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Associated Types

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

Generic ( WrappedMonoid m)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Generic ( Option a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Associated Types

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

Generic ( ZipList a)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

Associated Types

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

Generic ( Identity a)

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Associated Types

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

Generic ( First a)

Since: base-4.7.0.0

Instance details

Defined in Data.Monoid

Associated Types

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

Generic ( Last a)

Since: base-4.7.0.0

Instance details

Defined in Data.Monoid

Associated Types

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

Generic ( Dual a)

Since: base-4.7.0.0

Instance details

Defined in Data.Semigroup.Internal

Associated Types

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

Generic ( Endo a)

Since: base-4.7.0.0

Instance details

Defined in Data.Semigroup.Internal

Associated Types

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

Generic ( Sum a)

Since: base-4.7.0.0

Instance details

Defined in Data.Semigroup.Internal

Associated Types

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

Generic ( Product a)

Since: base-4.7.0.0

Instance details

Defined in Data.Semigroup.Internal

Associated Types

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

Generic ( Down a)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Generic ( NonEmpty a)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Generic ( Either a b)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Generic ( V1 p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Generic ( U1 p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Generic (a, b)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

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

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

Generic ( Arg a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Associated Types

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

Generic ( WrappedMonad m a)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

Associated Types

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

Generic ( Proxy t)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Generic ( ListN n a) Source #
Instance details

Defined in Basement.Sized.List

Associated Types

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

Generic ( Rec1 f p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Generic ( URec ( Ptr ()) p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Generic ( URec Char p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Generic ( URec Double p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Generic ( URec Float p)
Instance details

Defined in GHC.Generics

Generic ( URec Int p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Generic ( URec Word p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Generic (a, b, c)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

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

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

Generic ( WrappedArrow a b c)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

Associated Types

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

Generic ( Kleisli m a b)

Since: base-4.14.0.0

Instance details

Defined in Control.Arrow

Associated Types

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

Generic ( Const a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Const

Associated Types

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

Generic ( Ap f a)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Associated Types

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

Generic ( Alt f a)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Associated Types

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

Generic ( K1 i c p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

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

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

Generic ((f :+: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

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

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

Generic ((f :*: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

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

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

Generic (a, b, c, d)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

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

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

Generic ( M1 i c f p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

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

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

Generic ((f :.: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

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

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

Generic (a, b, c, d, e)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

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

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

Generic (a, b, c, d, e, f)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

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

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

Generic (a, b, c, d, e, f, g)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

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

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

data Either a b Source #

The Either type represents values with two possibilities: a value of type Either a b is either Left a or Right b .

The Either type is sometimes used to represent a value which is either correct or an error; by convention, the Left constructor is used to hold an error value and the Right constructor is used to hold a correct value (mnemonic: "right" also means "correct").

Examples

Expand

The type Either String Int is the type of values which can be either a String or an Int . The Left constructor can be used only on String s, and the Right constructor can be used only on Int s:

>>> let s = Left "foo" :: Either String Int
>>> s
Left "foo"
>>> let n = Right 3 :: Either String Int
>>> n
Right 3
>>> :type s
s :: Either String Int
>>> :type n
n :: Either String Int

The fmap from our Functor instance will ignore Left values, but will apply the supplied function to values contained in a Right :

>>> let s = Left "foo" :: Either String Int
>>> let n = Right 3 :: Either String Int
>>> fmap (*2) s
Left "foo"
>>> fmap (*2) n
Right 6

The Monad instance for Either allows us to chain together multiple actions which may fail, and fail overall if any of the individual steps failed. First we'll write a function that can either parse an Int from a Char , or fail.

>>> import Data.Char ( digitToInt, isDigit )
>>> :{
    let parseEither :: Char -> Either String Int
        parseEither c
          | isDigit c = Right (digitToInt c)
          | otherwise = Left "parse error"
>>> :}

The following should work, since both '1' and '2' can be parsed as Int s.

>>> :{
    let parseMultiple :: Either String Int
        parseMultiple = do
          x <- parseEither '1'
          y <- parseEither '2'
          return (x + y)
>>> :}
>>> parseMultiple
Right 3

But the following should fail overall, since the first operation where we attempt to parse 'm' as an Int will fail:

>>> :{
    let parseMultiple :: Either String Int
        parseMultiple = do
          x <- parseEither 'm'
          y <- parseEither '2'
          return (x + y)
>>> :}
>>> parseMultiple
Left "parse error"

Constructors

Left a
Right b

Instances

Instances details
Bifunctor Either

Since: base-4.8.0.0

Instance details

Defined in Data.Bifunctor

Methods

bimap :: (a -> b) -> (c -> d) -> Either a c -> Either b d Source #

first :: (a -> b) -> Either a c -> Either b c Source #

second :: (b -> c) -> Either a b -> Either a c Source #

Monad ( Either e)

Since: base-4.4.0.0

Instance details

Defined in Data.Either

Functor ( Either a)

Since: base-3.0

Instance details

Defined in Data.Either

Methods

fmap :: (a0 -> b) -> Either a a0 -> Either a b Source #

(<$) :: a0 -> Either a b -> Either a a0 Source #

Applicative ( Either e)

Since: base-3.0

Instance details

Defined in Data.Either

Foldable ( Either a)

Since: base-4.7.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => Either a m -> m Source #

foldMap :: Monoid m => (a0 -> m) -> Either a a0 -> m Source #

foldMap' :: Monoid m => (a0 -> m) -> Either a a0 -> m Source #

foldr :: (a0 -> b -> b) -> b -> Either a a0 -> b Source #

foldr' :: (a0 -> b -> b) -> b -> Either a a0 -> b Source #

foldl :: (b -> a0 -> b) -> b -> Either a a0 -> b Source #

foldl' :: (b -> a0 -> b) -> b -> Either a a0 -> b Source #

foldr1 :: (a0 -> a0 -> a0) -> Either a a0 -> a0 Source #

foldl1 :: (a0 -> a0 -> a0) -> Either a a0 -> a0 Source #

toList :: Either a a0 -> [a0] Source #

null :: Either a a0 -> Bool Source #

length :: Either a a0 -> Int Source #

elem :: Eq a0 => a0 -> Either a a0 -> Bool Source #

maximum :: Ord a0 => Either a a0 -> a0 Source #

minimum :: Ord a0 => Either a a0 -> a0 Source #

sum :: Num a0 => Either a a0 -> a0 Source #

product :: Num a0 => Either a a0 -> a0 Source #

Traversable ( Either a)

Since: base-4.7.0.0

Instance details

Defined in Data.Traversable

Methods

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

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

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

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

MonadFailure ( Either a) Source #
Instance details

Defined in Basement.Monad

Associated Types

type Failure ( Either a) Source #

Generic1 ( Either a :: Type -> Type )

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

from1 :: forall (a0 :: k). Either a a0 -> Rep1 ( Either a) a0 Source #

to1 :: forall (a0 :: k). Rep1 ( Either a) a0 -> Either a a0 Source #

From ( Maybe a) ( Either () a) Source #
Instance details

Defined in Basement.From

( Eq a, Eq b) => Eq ( Either a b)

Since: base-2.1

Instance details

Defined in Data.Either

( Data a, Data b) => Data ( Either a b)

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b0. Data d => c (d -> b0) -> d -> c b0) -> ( forall g. g -> c g) -> Either a b -> c ( Either a b) Source #

gunfold :: ( forall b0 r. Data b0 => c (b0 -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c ( Either a b) Source #

toConstr :: Either a b -> Constr Source #

dataTypeOf :: Either a b -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c ( Either a b)) Source #

dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c ( Either a b)) Source #

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> Either a b -> Either a b Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Either a b -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Either a b -> r Source #

gmapQ :: ( forall d. Data d => d -> u) -> Either a b -> [u] Source #

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Either a b -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Either a b -> m ( Either a b) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Either a b -> m ( Either a b) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Either a b -> m ( Either a b) Source #

( Ord a, Ord b) => Ord ( Either a b)

Since: base-2.1

Instance details

Defined in Data.Either

( Read a, Read b) => Read ( Either a b)

Since: base-3.0

Instance details

Defined in Data.Either

( Show a, Show b) => Show ( Either a b)

Since: base-3.0

Instance details

Defined in Data.Either

Generic ( Either a b)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Semigroup ( Either a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Either

( NormalForm l, NormalForm r) => NormalForm ( Either l r) Source #
Instance details

Defined in Basement.NormalForm

From ( Either a b) ( These a b) Source #
Instance details

Defined in Basement.From

type Failure ( Either a) Source #
Instance details

Defined in Basement.Monad

type Failure ( Either a) = a
type Rep1 ( Either a :: Type -> Type )
Instance details

Defined in GHC.Generics

type Rep ( Either a b)
Instance details

Defined in GHC.Generics

class Typeable a => Data a where Source #

The Data class comprehends a fundamental primitive gfoldl for folding over constructor applications, say terms. This primitive can be instantiated in several ways to map over the immediate subterms of a term; see the gmap combinators later in this class. Indeed, a generic programmer does not necessarily need to use the ingenious gfoldl primitive but rather the intuitive gmap combinators. The gfoldl primitive is completed by means to query top-level constructors, to turn constructor representations into proper terms, and to list all possible datatype constructors. This completion allows us to serve generic programming scenarios like read, show, equality, term generation.

The combinators gmapT , gmapQ , gmapM , etc are all provided with default definitions in terms of gfoldl , leaving open the opportunity to provide datatype-specific definitions. (The inclusion of the gmap combinators as members of class Data allows the programmer or the compiler to derive specialised, and maybe more efficient code per datatype. Note : gfoldl is more higher-order than the gmap combinators. This is subject to ongoing benchmarking experiments. It might turn out that the gmap combinators will be moved out of the class Data .)

Conceptually, the definition of the gmap combinators in terms of the primitive gfoldl requires the identification of the gfoldl function arguments. Technically, we also need to identify the type constructor c for the construction of the result type from the folded term type.

In the definition of gmapQ x combinators, we use phantom type constructors for the c in the type of gfoldl because the result type of a query does not involve the (polymorphic) type of the term argument. In the definition of gmapQl we simply use the plain constant type constructor because gfoldl is left-associative anyway and so it is readily suited to fold a left-associative binary operation over the immediate subterms. In the definition of gmapQr, extra effort is needed. We use a higher-order accumulation trick to mediate between left-associative constructor application vs. right-associative binary operation (e.g., (:) ). When the query is meant to compute a value of type r , then the result type withing generic folding is r -> r . So the result of folding is a function to which we finally pass the right unit.

With the -XDeriveDataTypeable option, GHC can generate instances of the Data class automatically. For example, given the declaration

data T a b = C1 a b | C2 deriving (Typeable, Data)

GHC will generate an instance that is equivalent to

instance (Data a, Data b) => Data (T a b) where
    gfoldl k z (C1 a b) = z C1 `k` a `k` b
    gfoldl k z C2       = z C2

    gunfold k z c = case constrIndex c of
                        1 -> k (k (z C1))
                        2 -> z C2

    toConstr (C1 _ _) = con_C1
    toConstr C2       = con_C2

    dataTypeOf _ = ty_T

con_C1 = mkConstr ty_T "C1" [] Prefix
con_C2 = mkConstr ty_T "C2" [] Prefix
ty_T   = mkDataType "Module.T" [con_C1, con_C2]

This is suitable for datatypes that are exported transparently.

Minimal complete definition

gunfold , toConstr , dataTypeOf

Methods

gfoldl Source #

Arguments

:: ( forall d b. Data d => c (d -> b) -> d -> c b)

defines how nonempty constructor applications are folded. It takes the folded tail of the constructor application and its head, i.e., an immediate subterm, and combines them in some way.

-> ( forall g. g -> c g)

defines how the empty constructor application is folded, like the neutral / start element for list folding.

-> a

structure to be folded.

-> c a

result, with a type defined in terms of a , but variability is achieved by means of type constructor c for the construction of the actual result type.

Left-associative fold operation for constructor applications.

The type of gfoldl is a headache, but operationally it is a simple generalisation of a list fold.

The default definition for gfoldl is const id , which is suitable for abstract datatypes with no substructures.

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

Unfolding constructor applications

toConstr :: a -> Constr Source #

Obtaining the constructor from a given datum. For proper terms, this is meant to be the top-level constructor. Primitive datatypes are here viewed as potentially infinite sets of values (i.e., constructors).

dataTypeOf :: a -> DataType Source #

The outer type constructor of the type

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

Mediate types and unary type constructors.

In Data instances of the form

    instance (Data a, ...) => Data (T a)

dataCast1 should be defined as gcast1 .

The default definition is const Nothing , which is appropriate for instances of other forms.

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

Mediate types and binary type constructors.

In Data instances of the form

    instance (Data a, Data b, ...) => Data (T a b)

dataCast2 should be defined as gcast2 .

The default definition is const Nothing , which is appropriate for instances of other forms.

gmapT :: ( forall b. Data b => b -> b) -> a -> a Source #

A generic transformation that maps over the immediate subterms

The default definition instantiates the type constructor c in the type of gfoldl to an identity datatype constructor, using the isomorphism pair as injection and projection.

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> a -> r Source #

A generic query with a left-associative binary operator

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> a -> r Source #

A generic query with a right-associative binary operator

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

A generic query that processes the immediate subterms and returns a list of results. The list is given in the same order as originally specified in the declaration of the data constructors.

gmapQi :: Int -> ( forall d. Data d => d -> u) -> a -> u Source #

A generic query that processes one child by index (zero-based)

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

A generic monadic transformation that maps over the immediate subterms

The default definition instantiates the type constructor c in the type of gfoldl to the monad datatype constructor, defining injection and projection using return and >>= .

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

Transformation of at least one immediate subterm does not fail

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

Transformation of one immediate subterm with success

Instances

Instances details
Data Bool

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Bool -> Constr Source #

dataTypeOf :: Bool -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Bool -> Bool Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Bool -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Bool -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Bool -> u Source #

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

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

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

Data Char

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Char -> Constr Source #

dataTypeOf :: Char -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Char -> Char Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Char -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Char -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Char -> u Source #

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

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

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

Data Double

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Double -> Constr Source #

dataTypeOf :: Double -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Double -> Double Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Double -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Double -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Double -> u Source #

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

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

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

Data Float

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Float -> Constr Source #

dataTypeOf :: Float -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Float -> Float Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Float -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Float -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Float -> u Source #

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

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

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

Data Int

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Int -> Constr Source #

dataTypeOf :: Int -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Int -> Int Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Int -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Int -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Int -> u Source #

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

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

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

Data Int8

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Int8 -> Constr Source #

dataTypeOf :: Int8 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Int8 -> Int8 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Int8 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Int8 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Int8 -> u Source #

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

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

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

Data Int16

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Int16 -> Constr Source #

dataTypeOf :: Int16 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Int16 -> Int16 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Int16 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Int16 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Int16 -> u Source #

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

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

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

Data Int32

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Int32 -> Constr Source #

dataTypeOf :: Int32 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Int32 -> Int32 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Int32 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Int32 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Int32 -> u Source #

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

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

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

Data Int64

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Int64 -> Constr Source #

dataTypeOf :: Int64 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Int64 -> Int64 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Int64 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Int64 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Int64 -> u Source #

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

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

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

Data Integer

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Integer -> Constr Source #

dataTypeOf :: Integer -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Integer -> Integer Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Integer -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Integer -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Integer -> u Source #

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

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

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

Data Natural

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Natural -> Constr Source #

dataTypeOf :: Natural -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Natural -> Natural Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Natural -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Natural -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Natural -> u Source #

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

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

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

Data Ordering

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Ordering -> Constr Source #

dataTypeOf :: Ordering -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Ordering -> Ordering Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Ordering -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Ordering -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Ordering -> u Source #

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

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

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

Data Word

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Word -> Constr Source #

dataTypeOf :: Word -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Word -> Word Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Word -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Word -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Word -> u Source #

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

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

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

Data Word8

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Word8 -> Constr Source #

dataTypeOf :: Word8 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Word8 -> Word8 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Word8 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Word8 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Word8 -> u Source #

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

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

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

Data Word16

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Word16 -> Constr Source #

dataTypeOf :: Word16 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Word16 -> Word16 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Word16 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Word16 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Word16 -> u Source #

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

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

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

Data Word32

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Word32 -> Constr Source #

dataTypeOf :: Word32 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Word32 -> Word32 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Word32 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Word32 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Word32 -> u Source #

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

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

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

Data Word64

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Word64 -> Constr Source #

dataTypeOf :: Word64 -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Word64 -> Word64 Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Word64 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Word64 -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Word64 -> u Source #

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

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

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

Data ()

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: () -> Constr Source #

dataTypeOf :: () -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> () -> () Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> () -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> () -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> () -> u Source #

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

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

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

Data SpecConstrAnnotation

Since: base-4.3.0.0

Instance details

Defined in GHC.Exts

Data Version

Since: base-4.7.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Version -> Constr Source #

dataTypeOf :: Version -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Version -> Version Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Version -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Version -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Version -> u Source #

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

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

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

Data All

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: All -> Constr Source #

dataTypeOf :: All -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> All -> All Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> All -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> All -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> All -> u Source #

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

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

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

Data Any

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Any -> Constr Source #

dataTypeOf :: Any -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Any -> Any Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Any -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Any -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Any -> u Source #

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

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

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

Data Fixity

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Fixity -> Constr Source #

dataTypeOf :: Fixity -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Fixity -> Fixity Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Fixity -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Fixity -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Fixity -> u Source #

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

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

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

Data Associativity

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Associativity -> Constr Source #

dataTypeOf :: Associativity -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Associativity -> Associativity Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Associativity -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Associativity -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Associativity -> u Source #

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

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

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

Data SourceUnpackedness

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: SourceUnpackedness -> Constr Source #

dataTypeOf :: SourceUnpackedness -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> SourceUnpackedness -> SourceUnpackedness Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> SourceUnpackedness -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> SourceUnpackedness -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> SourceUnpackedness -> u Source #

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

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

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

Data SourceStrictness

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: SourceStrictness -> Constr Source #

dataTypeOf :: SourceStrictness -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> SourceStrictness -> SourceStrictness Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> SourceStrictness -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> SourceStrictness -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> SourceStrictness -> u Source #

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

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

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

Data DecidedStrictness

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: DecidedStrictness -> Constr Source #

dataTypeOf :: DecidedStrictness -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> DecidedStrictness -> DecidedStrictness Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> DecidedStrictness -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> DecidedStrictness -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> DecidedStrictness -> u Source #

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

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

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

Data WordPtr

Since: base-4.11.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: WordPtr -> Constr Source #

dataTypeOf :: WordPtr -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> WordPtr -> WordPtr Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> WordPtr -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> WordPtr -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> WordPtr -> u Source #

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

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

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

Data IntPtr

Since: base-4.11.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: IntPtr -> Constr Source #

dataTypeOf :: IntPtr -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> IntPtr -> IntPtr Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> IntPtr -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> IntPtr -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> IntPtr -> u Source #

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

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

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

Data String Source #
Instance details

Defined in Basement.UTF8.Base

Methods

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

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

toConstr :: String -> Constr Source #

dataTypeOf :: String -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> String -> String Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> String -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> String -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> String -> u Source #

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

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

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

Data Encoding Source #
Instance details

Defined in Basement.String

Methods

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

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

toConstr :: Encoding -> Constr Source #

dataTypeOf :: Encoding -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Encoding -> Encoding Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Encoding -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Encoding -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Encoding -> u Source #

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

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

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

Data a => Data [a]

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g. g -> c g) -> [a] -> c [a] Source #

gunfold :: ( forall b r. Data b => c (b -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c [a] Source #

toConstr :: [a] -> Constr Source #

dataTypeOf :: [a] -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c [a]) Source #

dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c [a]) Source #

gmapT :: ( forall b. Data b => b -> b) -> [a] -> [a] Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> [a] -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> [a] -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> [a] -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> [a] -> m [a] Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> [a] -> m [a] Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> [a] -> m [a] Source #

Data a => Data ( Maybe a)

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Maybe a -> Constr Source #

dataTypeOf :: Maybe a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Maybe a -> Maybe a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Maybe a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Maybe a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Maybe a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Maybe a -> m ( Maybe a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Maybe a -> m ( Maybe a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Maybe a -> m ( Maybe a) Source #

( Data a, Integral a) => Data ( Ratio a)

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Ratio a -> Constr Source #

dataTypeOf :: Ratio a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Ratio a -> Ratio a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Ratio a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Ratio a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Ratio a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Ratio a -> m ( Ratio a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Ratio a -> m ( Ratio a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Ratio a -> m ( Ratio a) Source #

Data a => Data ( Ptr a)

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Ptr a -> Constr Source #

dataTypeOf :: Ptr a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Ptr a -> Ptr a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Ptr a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Ptr a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Ptr a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Ptr a -> m ( Ptr a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Ptr a -> m ( Ptr a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Ptr a -> m ( Ptr a) Source #

Data p => Data ( Par1 p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g. g -> c g) -> Par1 p -> c ( Par1 p) 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 -> Constr Source #

dataTypeOf :: Par1 p -> DataType Source #

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 p Source #

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

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

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

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

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 #

Data a => Data ( Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

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

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

toConstr :: Min a -> Constr Source #

dataTypeOf :: Min a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Min a -> Min a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Min a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Min a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Min a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Min a -> m ( Min a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Min a -> m ( Min a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Min a -> m ( Min a) Source #

Data a => Data ( Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

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

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

toConstr :: Max a -> Constr Source #

dataTypeOf :: Max a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Max a -> Max a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Max a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Max a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Max a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Max a -> m ( Max a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Max a -> m ( Max a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Max a -> m ( Max a) Source #

Data a => Data ( First a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

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

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

toConstr :: First a -> Constr Source #

dataTypeOf :: First a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> First a -> First a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> First a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> First a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> First a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> First a -> m ( First a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> First a -> m ( First a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> First a -> m ( First a) Source #

Data a => Data ( Last a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

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

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

toConstr :: Last a -> Constr Source #

dataTypeOf :: Last a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Last a -> Last a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Last a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Last a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Last a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Last a -> m ( Last a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Last a -> m ( Last a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Last a -> m ( Last a) Source #

Data m => Data ( WrappedMonoid m)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

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

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

toConstr :: WrappedMonoid m -> Constr Source #

dataTypeOf :: WrappedMonoid m -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> WrappedMonoid m -> WrappedMonoid m Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> WrappedMonoid m -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> WrappedMonoid m -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> WrappedMonoid m -> u Source #

gmapM :: Monad m0 => ( forall d. Data d => d -> m0 d) -> WrappedMonoid m -> m0 ( WrappedMonoid m) Source #

gmapMp :: MonadPlus m0 => ( forall d. Data d => d -> m0 d) -> WrappedMonoid m -> m0 ( WrappedMonoid m) Source #

gmapMo :: MonadPlus m0 => ( forall d. Data d => d -> m0 d) -> WrappedMonoid m -> m0 ( WrappedMonoid m) Source #

Data a => Data ( Option a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

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

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

toConstr :: Option a -> Constr Source #

dataTypeOf :: Option a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Option a -> Option a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Option a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Option a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Option a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Option a -> m ( Option a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Option a -> m ( Option a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Option a -> m ( Option a) Source #

Data a => Data ( ZipList a)

Since: base-4.14.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: ZipList a -> Constr Source #

dataTypeOf :: ZipList a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> ZipList a -> ZipList a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> ZipList a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> ZipList a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> ZipList a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> ZipList a -> m ( ZipList a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> ZipList a -> m ( ZipList a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> ZipList a -> m ( ZipList a) Source #

Data a => Data ( Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Identity a -> Constr Source #

dataTypeOf :: Identity a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Identity a -> Identity a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Identity a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Identity a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Identity a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Identity a -> m ( Identity a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Identity a -> m ( Identity a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Identity a -> m ( Identity a) Source #

Data a => Data ( ForeignPtr a)

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: ForeignPtr a -> Constr Source #

dataTypeOf :: ForeignPtr a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> ForeignPtr a -> ForeignPtr a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> ForeignPtr a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> ForeignPtr a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> ForeignPtr a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> ForeignPtr a -> m ( ForeignPtr a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> ForeignPtr a -> m ( ForeignPtr a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> ForeignPtr a -> m ( ForeignPtr a) Source #

Data a => Data ( First a)

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: First a -> Constr Source #

dataTypeOf :: First a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> First a -> First a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> First a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> First a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> First a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> First a -> m ( First a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> First a -> m ( First a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> First a -> m ( First a) Source #

Data a => Data ( Last a)

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Last a -> Constr Source #

dataTypeOf :: Last a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Last a -> Last a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Last a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Last a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Last a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Last a -> m ( Last a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Last a -> m ( Last a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Last a -> m ( Last a) Source #

Data a => Data ( Dual a)

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Dual a -> Constr Source #

dataTypeOf :: Dual a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Dual a -> Dual a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Dual a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Dual a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Dual a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Dual a -> m ( Dual a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Dual a -> m ( Dual a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Dual a -> m ( Dual a) Source #

Data a => Data ( Sum a)

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Sum a -> Constr Source #

dataTypeOf :: Sum a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Sum a -> Sum a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Sum a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Sum a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Sum a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Sum a -> m ( Sum a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Sum a -> m ( Sum a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Sum a -> m ( Sum a) Source #

Data a => Data ( Product a)

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Product a -> Constr Source #

dataTypeOf :: Product a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Product a -> Product a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Product a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Product a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Product a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Product a -> m ( Product a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Product a -> m ( Product a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Product a -> m ( Product a) Source #

Data a => Data ( Down a)

Since: base-4.12.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Down a -> Constr Source #

dataTypeOf :: Down a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Down a -> Down a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Down a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Down a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Down a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Down a -> m ( Down a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Down a -> m ( Down a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Down a -> m ( Down a) Source #

Data a => Data ( NonEmpty a)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: NonEmpty a -> Constr Source #

dataTypeOf :: NonEmpty a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> NonEmpty a -> NonEmpty a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> NonEmpty a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> NonEmpty a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> NonEmpty a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> NonEmpty a -> m ( NonEmpty a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> NonEmpty a -> m ( NonEmpty a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> NonEmpty a -> m ( NonEmpty a) Source #

Data ty => Data ( Block ty) Source #
Instance details

Defined in Basement.Block.Base

Methods

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

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

toConstr :: Block ty -> Constr Source #

dataTypeOf :: Block ty -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Block ty -> Block ty Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Block ty -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Block ty -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Block ty -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Block ty -> m ( Block ty) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Block ty -> m ( Block ty) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Block ty -> m ( Block ty) Source #

Data ty => Data ( UArray ty) Source #
Instance details

Defined in Basement.UArray.Base

Methods

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

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

toConstr :: UArray ty -> Constr Source #

dataTypeOf :: UArray ty -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> UArray ty -> UArray ty Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> UArray ty -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> UArray ty -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> UArray ty -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> UArray ty -> m ( UArray ty) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> UArray ty -> m ( UArray ty) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> UArray ty -> m ( UArray ty) Source #

Data ty => Data ( Array ty) Source #
Instance details

Defined in Basement.BoxedArray

Methods

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

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

toConstr :: Array ty -> Constr Source #

dataTypeOf :: Array ty -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Array ty -> Array ty Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Array ty -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Array ty -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Array ty -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Array ty -> m ( Array ty) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Array ty -> m ( Array ty) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Array ty -> m ( Array ty) Source #

( Data a, Data b) => Data ( Either a b)

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b0. Data d => c (d -> b0) -> d -> c b0) -> ( forall g. g -> c g) -> Either a b -> c ( Either a b) Source #

gunfold :: ( forall b0 r. Data b0 => c (b0 -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c ( Either a b) Source #

toConstr :: Either a b -> Constr Source #

dataTypeOf :: Either a b -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c ( Either a b)) Source #

dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c ( Either a b)) Source #

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> Either a b -> Either a b Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Either a b -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Either a b -> r Source #

gmapQ :: ( forall d. Data d => d -> u) -> Either a b -> [u] Source #

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Either a b -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Either a b -> m ( Either a b) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Either a b -> m ( Either a b) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Either a b -> m ( Either a b) Source #

Data p => Data ( V1 p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g. g -> c g) -> V1 p -> c ( V1 p) 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 -> Constr Source #

dataTypeOf :: V1 p -> DataType Source #

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 p Source #

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

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

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

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

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 #

Data p => Data ( U1 p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g. g -> c g) -> U1 p -> c ( U1 p) 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 -> Constr Source #

dataTypeOf :: U1 p -> DataType Source #

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 p Source #

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

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

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

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

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 #

( Data a, Data b) => Data (a, b)

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b0. Data d => c (d -> b0) -> d -> c b0) -> ( forall g. g -> c g) -> (a, b) -> c (a, b) Source #

gunfold :: ( forall b0 r. Data b0 => c (b0 -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c (a, b) Source #

toConstr :: (a, b) -> Constr Source #

dataTypeOf :: (a, b) -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c (a, b)) Source #

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

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> (a, b) -> (a, b) Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> (a, b) -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> (a, b) -> r Source #

gmapQ :: ( forall d. Data d => d -> u) -> (a, b) -> [u] Source #

gmapQi :: Int -> ( forall d. Data d => d -> u) -> (a, b) -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> (a, b) -> m (a, b) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> (a, b) -> m (a, b) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> (a, b) -> m (a, b) Source #

( Data a, Data b) => Data ( Arg a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

gfoldl :: ( forall d b0. Data d => c (d -> b0) -> d -> c b0) -> ( forall g. g -> c g) -> Arg a b -> c ( Arg a b) Source #

gunfold :: ( forall b0 r. Data b0 => c (b0 -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c ( Arg a b) Source #

toConstr :: Arg a b -> Constr Source #

dataTypeOf :: Arg a b -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c ( Arg a b)) Source #

dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c ( Arg a b)) Source #

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> Arg a b -> Arg a b Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Arg a b -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Arg a b -> r Source #

gmapQ :: ( forall d. Data d => d -> u) -> Arg a b -> [u] Source #

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Arg a b -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Arg a b -> m ( Arg a b) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Arg a b -> m ( Arg a b) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Arg a b -> m ( Arg a b) Source #

( Typeable m, Typeable a, Data (m a)) => Data ( WrappedMonad m a)

Since: base-4.14.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: WrappedMonad m a -> Constr Source #

dataTypeOf :: WrappedMonad m a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> WrappedMonad m a -> WrappedMonad m a Source #

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

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

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

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

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

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

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

Data t => Data ( Proxy t)

Since: base-4.7.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Proxy t -> Constr Source #

dataTypeOf :: Proxy t -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Proxy t -> Proxy t Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Proxy t -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Proxy t -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Proxy t -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Proxy t -> m ( Proxy t) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Proxy t -> m ( Proxy t) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Proxy t -> m ( Proxy t) Source #

( Data a, Data b, Ix a) => Data ( Array a b)

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b0. Data d => c (d -> b0) -> d -> c b0) -> ( forall g. g -> c g) -> Array a b -> c ( Array a b) Source #

gunfold :: ( forall b0 r. Data b0 => c (b0 -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c ( Array a b) Source #

toConstr :: Array a b -> Constr Source #

dataTypeOf :: Array a b -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c ( Array a b)) Source #

dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c ( Array a b)) Source #

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> Array a b -> Array a b Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Array a b -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Array a b -> r Source #

gmapQ :: ( forall d. Data d => d -> u) -> Array a b -> [u] Source #

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Array a b -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Array a b -> m ( Array a b) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Array a b -> m ( Array a b) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Array a b -> m ( Array a b) Source #

( KnownNat n, Data a) => Data ( BlockN n a) Source #
Instance details

Defined in Basement.Sized.Block

Methods

gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g. g -> c g) -> BlockN n a -> c ( BlockN n a) Source #

gunfold :: ( forall b r. Data b => c (b -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c ( BlockN n a) Source #

toConstr :: BlockN n a -> Constr Source #

dataTypeOf :: BlockN n a -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c ( BlockN n a)) Source #

dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c ( BlockN n a)) Source #

gmapT :: ( forall b. Data b => b -> b) -> BlockN n a -> BlockN n a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> BlockN n a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> BlockN n a -> r Source #

gmapQ :: ( forall d. Data d => d -> u) -> BlockN n a -> [u] Source #

gmapQi :: Int -> ( forall d. Data d => d -> u) -> BlockN n a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> BlockN n a -> m ( BlockN n a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> BlockN n a -> m ( BlockN n a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> BlockN n a -> m ( BlockN n a) Source #

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

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g. g -> c g) -> 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 -> Constr Source #

dataTypeOf :: Rec1 f p -> DataType Source #

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 p Source #

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

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

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

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

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 #

( Data a, Data b, Data c) => Data (a, b, c)

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b0. Data d => c0 (d -> b0) -> d -> c0 b0) -> ( forall g. g -> c0 g) -> (a, b, c) -> c0 (a, b, c) Source #

gunfold :: ( forall b0 r. Data b0 => c0 (b0 -> r) -> c0 r) -> ( forall r. r -> c0 r) -> Constr -> c0 (a, b, c) Source #

toConstr :: (a, b, c) -> Constr Source #

dataTypeOf :: (a, b, c) -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c0 (t d)) -> Maybe (c0 (a, b, c)) Source #

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

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> (a, b, c) -> (a, b, c) Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> (a, b, c) -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> (a, b, c) -> r Source #

gmapQ :: ( forall d. Data d => d -> u) -> (a, b, c) -> [u] Source #

gmapQi :: Int -> ( forall d. Data d => d -> u) -> (a, b, c) -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> (a, b, c) -> m (a, b, c) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> (a, b, c) -> m (a, b, c) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> (a, b, c) -> m (a, b, c) Source #

( Typeable a, Typeable b, Typeable c, Data (a b c)) => Data ( WrappedArrow a b c)

Since: base-4.14.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b0. Data d => c0 (d -> b0) -> d -> c0 b0) -> ( forall g. g -> c0 g) -> WrappedArrow a b c -> c0 ( WrappedArrow a b c) Source #

gunfold :: ( forall b0 r. Data b0 => c0 (b0 -> r) -> c0 r) -> ( forall r. r -> c0 r) -> Constr -> c0 ( WrappedArrow a b c) Source #

toConstr :: WrappedArrow a b c -> Constr Source #

dataTypeOf :: WrappedArrow a b c -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c0 (t d)) -> Maybe (c0 ( WrappedArrow a b c)) Source #

dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c0 (t d e)) -> Maybe (c0 ( WrappedArrow a b c)) Source #

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> WrappedArrow a b c -> WrappedArrow a b c Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> WrappedArrow a b c -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> WrappedArrow a b c -> r Source #

gmapQ :: ( forall d. Data d => d -> u) -> WrappedArrow a b c -> [u] Source #

gmapQi :: Int -> ( forall d. Data d => d -> u) -> WrappedArrow a b c -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> WrappedArrow a b c -> m ( WrappedArrow a b c) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> WrappedArrow a b c -> m ( WrappedArrow a b c) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> WrappedArrow a b c -> m ( WrappedArrow a b c) Source #

( Typeable k, Data a, Typeable b) => Data ( Const a b)

Since: base-4.10.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b0. Data d => c (d -> b0) -> d -> c b0) -> ( forall g. g -> c g) -> Const a b -> c ( Const a b) Source #

gunfold :: ( forall b0 r. Data b0 => c (b0 -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c ( Const a b) Source #

toConstr :: Const a b -> Constr Source #

dataTypeOf :: Const a b -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c ( Const a b)) Source #

dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c ( Const a b)) Source #

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> Const a b -> Const a b Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Const a b -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Const a b -> r Source #

gmapQ :: ( forall d. Data d => d -> u) -> Const a b -> [u] Source #

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Const a b -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Const a b -> m ( Const a b) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Const a b -> m ( Const a b) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Const a b -> m ( Const a b) Source #

( Data (f a), Data a, Typeable f) => Data ( Ap f a)

Since: base-4.12.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Ap f a -> Constr Source #

dataTypeOf :: Ap f a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Ap f a -> Ap f a Source #

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

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

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

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

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

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

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

( Data (f a), Data a, Typeable f) => Data ( Alt f a)

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Alt f a -> Constr Source #

dataTypeOf :: Alt f a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Alt f a -> Alt f a Source #

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

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

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

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

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

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

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

( Coercible a b, Data a, Data b) => Data ( Coercion a b)

Since: base-4.7.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b0. Data d => c (d -> b0) -> d -> c b0) -> ( forall g. g -> c g) -> Coercion a b -> c ( Coercion a b) Source #

gunfold :: ( forall b0 r. Data b0 => c (b0 -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c ( Coercion a b) Source #

toConstr :: Coercion a b -> Constr Source #

dataTypeOf :: Coercion a b -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c ( Coercion a b)) Source #

dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c ( Coercion a b)) Source #

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> Coercion a b -> Coercion a b Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Coercion a b -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Coercion a b -> r Source #

gmapQ :: ( forall d. Data d => d -> u) -> Coercion a b -> [u] Source #

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Coercion a b -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Coercion a b -> m ( Coercion a b) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Coercion a b -> m ( Coercion a b) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Coercion a b -> m ( Coercion a b) Source #

(a ~ b, Data a) => Data (a :~: b)

Since: base-4.7.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b0. Data d => c (d -> b0) -> d -> c b0) -> ( forall g. g -> c g) -> (a :~: b) -> c (a :~: b) Source #

gunfold :: ( forall b0 r. Data b0 => c (b0 -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c (a :~: b) Source #

toConstr :: (a :~: b) -> Constr Source #

dataTypeOf :: (a :~: b) -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c (a :~: b)) Source #

dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c (a :~: b)) Source #

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> (a :~: b) -> a :~: b Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> (a :~: b) -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> (a :~: b) -> r Source #

gmapQ :: ( forall d. Data d => d -> u) -> (a :~: b) -> [u] Source #

gmapQi :: Int -> ( forall d. Data d => d -> u) -> (a :~: b) -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) Source #

( Typeable i, Data p, Data c) => Data ( K1 i c p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> ( forall g. g -> c0 g) -> K1 i c p -> c0 ( K1 i c p) 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 -> Constr Source #

dataTypeOf :: K1 i c p -> DataType Source #

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 p Source #

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

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

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 -> u Source #

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 #

( Typeable f, Typeable g, Data p, Data (f p), Data (g p)) => Data ((f :+: g) p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g0. g0 -> c g0) -> (f :+: g) p -> c ((f :+: g) p) 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 -> Constr Source #

dataTypeOf :: (f :+: g) p -> DataType Source #

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) p Source #

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

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

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

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

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 #

( Typeable f, Typeable g, Data p, Data (f p), Data (g p)) => Data ((f :*: g) p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g0. g0 -> c g0) -> (f :*: g) p -> c ((f :*: g) p) 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 -> Constr Source #

dataTypeOf :: (f :*: g) p -> DataType Source #

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) p Source #

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

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

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

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

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 #

( Data a, Data b, Data c, Data d) => Data (a, b, c, d)

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d0 b0. Data d0 => c0 (d0 -> b0) -> d0 -> c0 b0) -> ( forall g. g -> c0 g) -> (a, b, c, d) -> c0 (a, b, c, d) Source #

gunfold :: ( forall b0 r. Data b0 => c0 (b0 -> r) -> c0 r) -> ( forall r. r -> c0 r) -> Constr -> c0 (a, b, c, d) Source #

toConstr :: (a, b, c, d) -> Constr Source #

dataTypeOf :: (a, b, c, d) -> DataType Source #

dataCast1 :: Typeable t => ( forall d0. Data d0 => c0 (t d0)) -> Maybe (c0 (a, b, c, d)) Source #

dataCast2 :: Typeable t => ( forall d0 e. ( Data d0, Data e) => c0 (t d0 e)) -> Maybe (c0 (a, b, c, d)) Source #

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> (a, b, c, d) -> (a, b, c, d) Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d0. Data d0 => d0 -> r') -> (a, b, c, d) -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d0. Data d0 => d0 -> r') -> (a, b, c, d) -> r Source #

gmapQ :: ( forall d0. Data d0 => d0 -> u) -> (a, b, c, d) -> [u] Source #

gmapQi :: Int -> ( forall d0. Data d0 => d0 -> u) -> (a, b, c, d) -> u Source #

gmapM :: Monad m => ( forall d0. Data d0 => d0 -> m d0) -> (a, b, c, d) -> m (a, b, c, d) Source #

gmapMp :: MonadPlus m => ( forall d0. Data d0 => d0 -> m d0) -> (a, b, c, d) -> m (a, b, c, d) Source #

gmapMo :: MonadPlus m => ( forall d0. Data d0 => d0 -> m d0) -> (a, b, c, d) -> m (a, b, c, d) Source #

( Typeable i, Typeable j, Typeable a, Typeable b, a ~~ b) => Data (a :~~: b)

Since: base-4.10.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b0. Data d => c (d -> b0) -> d -> c b0) -> ( forall g. g -> c g) -> (a :~~: b) -> c (a :~~: b) Source #

gunfold :: ( forall b0 r. Data b0 => c (b0 -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c (a :~~: b) Source #

toConstr :: (a :~~: b) -> Constr Source #

dataTypeOf :: (a :~~: b) -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c (a :~~: b)) Source #

dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c (a :~~: b)) Source #

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> (a :~~: b) -> a :~~: b Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> (a :~~: b) -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> (a :~~: b) -> r Source #

gmapQ :: ( forall d. Data d => d -> u) -> (a :~~: b) -> [u] Source #

gmapQi :: Int -> ( forall d. Data d => d -> u) -> (a :~~: b) -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> (a :~~: b) -> m (a :~~: b) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> (a :~~: b) -> m (a :~~: b) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> (a :~~: b) -> m (a :~~: b) Source #

( Data p, Data (f p), Typeable c, Typeable i, Typeable f) => Data ( M1 i c f p)

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> ( forall g. g -> c0 g) -> M1 i c f p -> c0 ( M1 i c f p) 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 -> Constr Source #

dataTypeOf :: M1 i c f p -> DataType Source #

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 p Source #

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

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

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 -> u Source #

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 #

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

Since: base-4.9.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g0. g0 -> c g0) -> (f :.: g) p -> c ((f :.: g) p) 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 -> Constr Source #

dataTypeOf :: (f :.: g) p -> DataType Source #

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) p Source #

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

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

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

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

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 #

( Data a, Data b, Data c, Data d, Data e) => Data (a, b, c, d, e)

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d0 b0. Data d0 => c0 (d0 -> b0) -> d0 -> c0 b0) -> ( forall g. g -> c0 g) -> (a, b, c, d, e) -> c0 (a, b, c, d, e) Source #

gunfold :: ( forall b0 r. Data b0 => c0 (b0 -> r) -> c0 r) -> ( forall r. r -> c0 r) -> Constr -> c0 (a, b, c, d, e) Source #

toConstr :: (a, b, c, d, e) -> Constr Source #

dataTypeOf :: (a, b, c, d, e) -> DataType Source #

dataCast1 :: Typeable t => ( forall d0. Data d0 => c0 (t d0)) -> Maybe (c0 (a, b, c, d, e)) Source #

dataCast2 :: Typeable t => ( forall d0 e0. ( Data d0, Data e0) => c0 (t d0 e0)) -> Maybe (c0 (a, b, c, d, e)) Source #

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> (a, b, c, d, e) -> (a, b, c, d, e) Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d0. Data d0 => d0 -> r') -> (a, b, c, d, e) -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d0. Data d0 => d0 -> r') -> (a, b, c, d, e) -> r Source #

gmapQ :: ( forall d0. Data d0 => d0 -> u) -> (a, b, c, d, e) -> [u] Source #

gmapQi :: Int -> ( forall d0. Data d0 => d0 -> u) -> (a, b, c, d, e) -> u Source #

gmapM :: Monad m => ( forall d0. Data d0 => d0 -> m d0) -> (a, b, c, d, e) -> m (a, b, c, d, e) Source #

gmapMp :: MonadPlus m => ( forall d0. Data d0 => d0 -> m d0) -> (a, b, c, d, e) -> m (a, b, c, d, e) Source #

gmapMo :: MonadPlus m => ( forall d0. Data d0 => d0 -> m d0) -> (a, b, c, d, e) -> m (a, b, c, d, e) Source #

( Data a, Data b, Data c, Data d, Data e, Data f) => Data (a, b, c, d, e, f)

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d0 b0. Data d0 => c0 (d0 -> b0) -> d0 -> c0 b0) -> ( forall g. g -> c0 g) -> (a, b, c, d, e, f) -> c0 (a, b, c, d, e, f) Source #

gunfold :: ( forall b0 r. Data b0 => c0 (b0 -> r) -> c0 r) -> ( forall r. r -> c0 r) -> Constr -> c0 (a, b, c, d, e, f) Source #

toConstr :: (a, b, c, d, e, f) -> Constr Source #

dataTypeOf :: (a, b, c, d, e, f) -> DataType Source #

dataCast1 :: Typeable t => ( forall d0. Data d0 => c0 (t d0)) -> Maybe (c0 (a, b, c, d, e, f)) Source #

dataCast2 :: Typeable t => ( forall d0 e0. ( Data d0, Data e0) => c0 (t d0 e0)) -> Maybe (c0 (a, b, c, d, e, f)) Source #

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> (a, b, c, d, e, f) -> (a, b, c, d, e, f) Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d0. Data d0 => d0 -> r') -> (a, b, c, d, e, f) -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d0. Data d0 => d0 -> r') -> (a, b, c, d, e, f) -> r Source #

gmapQ :: ( forall d0. Data d0 => d0 -> u) -> (a, b, c, d, e, f) -> [u] Source #

gmapQi :: Int -> ( forall d0. Data d0 => d0 -> u) -> (a, b, c, d, e, f) -> u Source #

gmapM :: Monad m => ( forall d0. Data d0 => d0 -> m d0) -> (a, b, c, d, e, f) -> m (a, b, c, d, e, f) Source #

gmapMp :: MonadPlus m => ( forall d0. Data d0 => d0 -> m d0) -> (a, b, c, d, e, f) -> m (a, b, c, d, e, f) Source #

gmapMo :: MonadPlus m => ( forall d0. Data d0 => d0 -> m d0) -> (a, b, c, d, e, f) -> m (a, b, c, d, e, f) Source #

( Data a, Data b, Data c, Data d, Data e, Data f, Data g) => Data (a, b, c, d, e, f, g)

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: ( forall d0 b0. Data d0 => c0 (d0 -> b0) -> d0 -> c0 b0) -> ( forall g0. g0 -> c0 g0) -> (a, b, c, d, e, f, g) -> c0 (a, b, c, d, e, f, g) Source #

gunfold :: ( forall b0 r. Data b0 => c0 (b0 -> r) -> c0 r) -> ( forall r. r -> c0 r) -> Constr -> c0 (a, b, c, d, e, f, g) Source #

toConstr :: (a, b, c, d, e, f, g) -> Constr Source #

dataTypeOf :: (a, b, c, d, e, f, g) -> DataType Source #

dataCast1 :: Typeable t => ( forall d0. Data d0 => c0 (t d0)) -> Maybe (c0 (a, b, c, d, e, f, g)) Source #

dataCast2 :: Typeable t => ( forall d0 e0. ( Data d0, Data e0) => c0 (t d0 e0)) -> Maybe (c0 (a, b, c, d, e, f, g)) Source #

gmapT :: ( forall b0. Data b0 => b0 -> b0) -> (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d0. Data d0 => d0 -> r') -> (a, b, c, d, e, f, g) -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d0. Data d0 => d0 -> r') -> (a, b, c, d, e, f, g) -> r Source #

gmapQ :: ( forall d0. Data d0 => d0 -> u) -> (a, b, c, d, e, f, g) -> [u] Source #

gmapQi :: Int -> ( forall d0. Data d0 => d0 -> u) -> (a, b, c, d, e, f, g) -> u Source #

gmapM :: Monad m => ( forall d0. Data d0 => d0 -> m d0) -> (a, b, c, d, e, f, g) -> m (a, b, c, d, e, f, g) Source #

gmapMp :: MonadPlus m => ( forall d0. Data d0 => d0 -> m d0) -> (a, b, c, d, e, f, g) -> m (a, b, c, d, e, f, g) Source #

gmapMo :: MonadPlus m => ( forall d0. Data d0 => d0 -> m d0) -> (a, b, c, d, e, f, g) -> m (a, b, c, d, e, f, g) Source #

mkNoRepType :: String -> DataType Source #

Constructs a non-representation for a non-representable type

data DataType Source #

Representation of datatypes. A package of constructor representations with names of type and module.

class Typeable (a :: k) Source #

The class Typeable allows a concrete representation of a type to be calculated.

Minimal complete definition

typeRep#

class Semigroup a => Monoid a where Source #

The class of monoids (types with an associative binary operation that has an identity). Instances should satisfy the following:

Right identity
x <> mempty = x
Left identity
mempty <> x = x
Associativity
x <> (y <> z) = (x <> y) <> z ( Semigroup law)
Concatenation
mconcat = foldr ( <> ) mempty

The method names refer to the monoid of lists under concatenation, but there are many other instances.

Some types can be viewed as a monoid in more than one way, e.g. both addition and multiplication on numbers. In such cases we often define newtype s and make those instances of Monoid , e.g. Sum and Product .

NOTE : Semigroup is a superclass of Monoid since base-4.11.0.0 .

Minimal complete definition

mempty

Methods

mempty :: a Source #

Identity of mappend

>>> "Hello world" <> mempty
"Hello world"

mappend :: a -> a -> a Source #

An associative operation

NOTE : This method is redundant and has the default implementation mappend = ( <> ) since base-4.11.0.0 . Should it be implemented manually, since mappend is a synonym for ( <> ), it is expected that the two functions are defined the same way. In a future GHC release mappend will be removed from Monoid .

mconcat :: [a] -> a Source #

Fold a list using the monoid.

For most types, the default definition for mconcat will be used, but the function is included in the class definition so that an optimized version can be provided for specific types.

>>> mconcat ["Hello", " ", "Haskell", "!"]
"Hello Haskell!"

Instances

Instances details
Monoid Ordering

Since: base-2.1

Instance details

Defined in GHC.Base

Monoid ()

Since: base-2.1

Instance details

Defined in GHC.Base

Monoid All

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Monoid Any

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Monoid AsciiString Source #
Instance details

Defined in Basement.Types.AsciiString

Monoid String Source #
Instance details

Defined in Basement.UTF8.Base

Monoid Builder Source #
Instance details

Defined in Basement.Block.Builder

Monoid Builder Source #
Instance details

Defined in Basement.String.Builder

Monoid [a]

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: [a] Source #

mappend :: [a] -> [a] -> [a] Source #

mconcat :: [[a]] -> [a] Source #

Semigroup a => Monoid ( Maybe a)

Lift a semigroup into Maybe forming a Monoid according to http://en.wikipedia.org/wiki/Monoid : "Any semigroup S may be turned into a monoid simply by adjoining an element e not in S and defining e*e = e and e*s = s = s*e for all s ∈ S ."

Since 4.11.0 : constraint on inner a value generalised from Monoid to Semigroup .

Since: base-2.1

Instance details

Defined in GHC.Base

Monoid a => Monoid ( IO a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Monoid p => Monoid ( Par1 p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

( Ord a, Bounded a) => Monoid ( Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

( Ord a, Bounded a) => Monoid ( Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Monoid m => Monoid ( WrappedMonoid m)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Semigroup a => Monoid ( Option a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Monoid a => Monoid ( Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Monoid ( First a)

Since: base-2.1

Instance details

Defined in Data.Monoid

Monoid ( Last a)

Since: base-2.1

Instance details

Defined in Data.Monoid

Monoid a => Monoid ( Dual a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Monoid ( Endo a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Num a => Monoid ( Sum a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Num a => Monoid ( Product a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Monoid a => Monoid ( Down a)

Since: base-4.11.0.0

Instance details

Defined in Data.Ord

Monoid ( CountOf ty) Source #
Instance details

Defined in Basement.Types.OffsetSize

PrimType ty => Monoid ( Block ty) Source #
Instance details

Defined in Basement.Block.Base

PrimType ty => Monoid ( UArray ty) Source #
Instance details

Defined in Basement.UArray.Base

Monoid ( Array a) Source #
Instance details

Defined in Basement.BoxedArray

Monoid b => Monoid (a -> b)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: a -> b Source #

mappend :: (a -> b) -> (a -> b) -> a -> b Source #

mconcat :: [a -> b] -> a -> b Source #

Monoid ( U1 p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

( Monoid a, Monoid b) => Monoid (a, b)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: (a, b) Source #

mappend :: (a, b) -> (a, b) -> (a, b) Source #

mconcat :: [(a, b)] -> (a, b) Source #

Monoid ( Proxy s)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Monoid a => Monoid ( ST s a)

Since: base-4.11.0.0

Instance details

Defined in GHC.ST

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

( Monoid a, Monoid b, Monoid c) => Monoid (a, b, c)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: (a, b, c) Source #

mappend :: (a, b, c) -> (a, b, c) -> (a, b, c) Source #

mconcat :: [(a, b, c)] -> (a, b, c) Source #

Monoid a => Monoid ( Const a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Const

( Applicative f, Monoid a) => Monoid ( Ap f a)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Alternative f => Monoid ( Alt f a)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Monoid c => Monoid ( K1 i c p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

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

( Monoid a, Monoid b, Monoid c, Monoid d) => Monoid (a, b, c, d)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: (a, b, c, d) Source #

mappend :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) Source #

mconcat :: [(a, b, c, d)] -> (a, b, c, d) Source #

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: M1 i c f p Source #

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

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

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: (f :.: g) p Source #

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

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

( Monoid a, Monoid b, Monoid c, Monoid d, Monoid e) => Monoid (a, b, c, d, e)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: (a, b, c, d, e) Source #

mappend :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) Source #

mconcat :: [(a, b, c, d, e)] -> (a, b, c, d, e) Source #

(<>) :: Semigroup a => a -> a -> a infixr 6 Source #

An associative operation.

>>> [1,2,3] <> [4,5,6]
[1,2,3,4,5,6]

class ( Typeable e, Show e) => Exception e Source #

Any type that you wish to throw or catch as an exception must be an instance of the Exception class. The simplest case is a new exception type directly below the root:

data MyException = ThisException | ThatException
    deriving Show

instance Exception MyException

The default method definitions in the Exception class do what we need in this case. You can now throw and catch ThisException and ThatException as exceptions:

*Main> throw ThisException `catch` \e -> putStrLn ("Caught " ++ show (e :: MyException))
Caught ThisException

In more complicated examples, you may wish to define a whole hierarchy of exceptions:

---------------------------------------------------------------------
-- Make the root exception type for all the exceptions in a compiler

data SomeCompilerException = forall e . Exception e => SomeCompilerException e

instance Show SomeCompilerException where
    show (SomeCompilerException e) = show e

instance Exception SomeCompilerException

compilerExceptionToException :: Exception e => e -> SomeException
compilerExceptionToException = toException . SomeCompilerException

compilerExceptionFromException :: Exception e => SomeException -> Maybe e
compilerExceptionFromException x = do
    SomeCompilerException a <- fromException x
    cast a

---------------------------------------------------------------------
-- Make a subhierarchy for exceptions in the frontend of the compiler

data SomeFrontendException = forall e . Exception e => SomeFrontendException e

instance Show SomeFrontendException where
    show (SomeFrontendException e) = show e

instance Exception SomeFrontendException where
    toException = compilerExceptionToException
    fromException = compilerExceptionFromException

frontendExceptionToException :: Exception e => e -> SomeException
frontendExceptionToException = toException . SomeFrontendException

frontendExceptionFromException :: Exception e => SomeException -> Maybe e
frontendExceptionFromException x = do
    SomeFrontendException a <- fromException x
    cast a

---------------------------------------------------------------------
-- Make an exception type for a particular frontend compiler exception

data MismatchedParentheses = MismatchedParentheses
    deriving Show

instance Exception MismatchedParentheses where
    toException   = frontendExceptionToException
    fromException = frontendExceptionFromException

We can now catch a MismatchedParentheses exception as MismatchedParentheses , SomeFrontendException or SomeCompilerException , but not other types, e.g. IOException :

*Main> throw MismatchedParentheses `catch` \e -> putStrLn ("Caught " ++ show (e :: MismatchedParentheses))
Caught MismatchedParentheses
*Main> throw MismatchedParentheses `catch` \e -> putStrLn ("Caught " ++ show (e :: SomeFrontendException))
Caught MismatchedParentheses
*Main> throw MismatchedParentheses `catch` \e -> putStrLn ("Caught " ++ show (e :: SomeCompilerException))
Caught MismatchedParentheses
*Main> throw MismatchedParentheses `catch` \e -> putStrLn ("Caught " ++ show (e :: IOException))
*** Exception: MismatchedParentheses

Instances

Instances details
Exception BlockedIndefinitelyOnMVar

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Exception BlockedIndefinitelyOnSTM

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Exception Deadlock

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Exception AllocationLimitExceeded

Since: base-4.8.0.0

Instance details

Defined in GHC.IO.Exception

Exception CompactionFailed

Since: base-4.10.0.0

Instance details

Defined in GHC.IO.Exception

Exception AssertionFailed

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Exception SomeAsyncException

Since: base-4.7.0.0

Instance details

Defined in GHC.IO.Exception

Exception AsyncException

Since: base-4.7.0.0

Instance details

Defined in GHC.IO.Exception

Exception ArrayException

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Exception FixIOException

Since: base-4.11.0.0

Instance details

Defined in GHC.IO.Exception

Exception ExitCode

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Exception IOException

Since: base-4.1.0.0

Instance details

Defined in GHC.IO.Exception

Exception ErrorCall

Since: base-4.0.0.0

Instance details

Defined in GHC.Exception

Exception ArithException

Since: base-4.0.0.0

Instance details

Defined in GHC.Exception.Type

Exception SomeException

Since: base-3.0

Instance details

Defined in GHC.Exception.Type

Exception NonEmptyCollectionIsEmpty Source #
Instance details

Defined in Basement.Exception

Exception InvalidRecast Source #
Instance details

Defined in Basement.Exception

Exception OutOfBound Source #
Instance details

Defined in Basement.Exception

Exception ValidationFailure Source #
Instance details

Defined in Basement.UTF8.Types

throw :: forall (r :: RuntimeRep ) (a :: TYPE r) e. Exception e => e -> a Source #

Throw an exception. Exceptions may be thrown from purely functional code, but may only be caught within the IO monad.

throwIO :: Exception e => e -> IO a Source #

A variant of throw that can only be used within the IO monad.

Although throwIO has a type that is an instance of the type of throw , the two functions are subtly different:

throw e   `seq` x  ===> throw e
throwIO e `seq` x  ===> x

The first example will cause the exception e to be raised, whereas the second one won't. In fact, throwIO will only cause an exception to be raised when it is used within the IO monad. The throwIO variant should be used in preference to throw to raise an exception within the IO monad because it guarantees ordering with respect to other IO operations, whereas throw does not.

data Ptr a Source #

A value of type Ptr a represents a pointer to an object, or an array of objects, which may be marshalled to or from Haskell values of type a .

The type a will often be an instance of class Storable which provides the marshalling operations. However this is not essential, and you can provide your own operations to access the pointer. For example you might write small foreign functions to get or set the fields of a C struct .

Constructors

Ptr Addr#

Instances

Instances details
Generic1 ( URec ( Ptr ()) :: k -> Type )

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

Methods

from1 :: forall (a :: k0). URec ( Ptr ()) a -> Rep1 ( URec ( Ptr ())) a Source #

to1 :: forall (a :: k0). Rep1 ( URec ( Ptr ())) a -> URec ( Ptr ()) a Source #

Eq ( Ptr a)

Since: base-2.1

Instance details

Defined in GHC.Ptr

Data a => Data ( Ptr a)

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Ptr a -> Constr Source #

dataTypeOf :: Ptr a -> DataType Source #

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

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

gmapT :: ( forall b. Data b => b -> b) -> Ptr a -> Ptr a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Ptr a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Ptr a -> r Source #

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

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Ptr a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Ptr a -> m ( Ptr a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Ptr a -> m ( Ptr a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Ptr a -> m ( Ptr a) Source #

Ord ( Ptr a)

Since: base-2.1

Instance details

Defined in GHC.Ptr

Show ( Ptr a)

Since: base-2.1

Instance details

Defined in GHC.Ptr

Foldable ( UAddr :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in Data.Foldable

Traversable ( UAddr :: Type -> Type )

Since: base-4.9.0.0

Instance details

Defined in Data.Traversable

Storable ( Ptr a)

Since: base-2.1

Instance details

Defined in Foreign.Storable

NormalForm ( Ptr a) Source #
Instance details

Defined in Basement.NormalForm

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

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

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

Eq ( URec ( Ptr ()) p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Ord ( URec ( Ptr ()) p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Generic ( URec ( Ptr ()) p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

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

data URec ( Ptr ()) (p :: k)

Used for marking occurrences of Addr#

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

data URec ( Ptr ()) (p :: k) = UAddr { }
type Rep1 ( URec ( Ptr ()) :: k -> Type )
Instance details

Defined in GHC.Generics

type Rep ( URec ( Ptr ()) p)
Instance details

Defined in GHC.Generics

ifThenElse :: Bool -> a -> a -> a Source #

for support of if .. then .. else

internalError :: [ Char ] -> a Source #

Only to use internally for internal error cases