HORIZON HASKELLDocslts/ghc-10.0.xc62e4de2026-10-19Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · c62e4de · 2026-10-19

Modulehnix-0.17.0Haskell2010

Nix.Prelude

This is a Prelude, but, please, do not put things in here, put them into Nix.Utils. This module is a pass-through-multiplexer, between our custom code (Nix.Utils) that shadows over the outside prelude that is in use (Relude) Prelude module has a problem of being imported & used by other projects. Nix.Utils as a module with a regular name does not have that problem.

  • 86 types
  • 48 classes
  • 402 values
  • Packagehnix-0.17.0
  • Exports541
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourcePrelude.hs

module Nix.Utils

valueoptional :: Alternative f => f a -> f (Maybe a)
#

One or none.

It is useful for modelling any computation that is allowed to fail.

Examples

Using the Alternative instance of Control.Monad.Except, the following functions:

Example1 expression
import Control.Monad.Except
Example2 expressions
canFail = throwError "it failed" :: Except String Intfinal = return 42                :: Except String Int

Can be combined by allowing the first function to fail:

Example1 expression
runExcept $ canFail *> finalLeft "it failed"
Example1 expression
runExcept $ optional canFail *> finalRight 42
valuebiList :: Bifoldable t => t a a -> [a]
#

Collects the list of elements of a structure, from left to right.

Examples

Basic usage:

Example1 expression
biList (18, 42)[18,42]
Example1 expression
biList (Left 18)[18]
valuebiall :: Bifoldable t => (a -> Bool) -> (b -> Bool) -> t a b -> Bool
#

Determines whether all elements of the structure satisfy their appropriate predicate argument. Empty structures yield True.

Examples

Basic usage:

Example1 expression
biall even isDigit (27, 't')False
Example1 expression
biall even isDigit (26, '8')True
Example1 expression
biall even isDigit (Left 27)False
Example1 expression
biall even isDigit (Left 26)True
Example1 expression
biall even isDigit (BiList [26, 52] ['3', '8'])True

Empty structures yield True:

Example1 expression
biall even isDigit (BiList [] [])True
valuebiand :: Bifoldable t => t Bool Bool -> Bool
#

biand 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.

Examples

Basic usage:

Example1 expression
biand (True, False)False
Example1 expression
biand (True, True)True
Example1 expression
biand (Left True)True

Empty structures yield True:

Example1 expression
biand (BiList [] [])True

A False value finitely far from the left end yields False (short circuit):

Example1 expression
biand (BiList [True, True, False, True] (repeat True))False

A False value infinitely far from the left end hangs:

> biand (BiList (repeat True) [False])
* Hangs forever *

An infinitely True value hangs:

> biand (BiList (repeat True) [])
* Hangs forever *
valuebiany :: Bifoldable t => (a -> Bool) -> (b -> Bool) -> t a b -> Bool
#

Determines whether any element of the structure satisfies its appropriate predicate argument. Empty structures yield False.

Examples

Basic usage:

Example1 expression
biany even isDigit (27, 't')False
Example1 expression
biany even isDigit (27, '8')True
Example1 expression
biany even isDigit (26, 't')True
Example1 expression
biany even isDigit (Left 27)False
Example1 expression
biany even isDigit (Left 26)True
Example1 expression
biany even isDigit (BiList [27, 53] ['t', '8'])True

Empty structures yield False:

Example1 expression
biany even isDigit (BiList [] [])False
valuebiasum :: (Bifoldable t, Alternative f) => t (f a) (f a) -> f a
#

The sum of a collection of actions, generalizing biconcat.

Examples

Basic usage:

Example1 expression
biasum (Nothing, Nothing)Nothing
Example1 expression
biasum (Nothing, Just 42)Just 42
Example1 expression
biasum (Just 18, Nothing)Just 18
Example1 expression
biasum (Just 18, Just 42)Just 18
valuebielem :: (Bifoldable t, Eq a) => a -> t a a -> Bool
#

Does the element occur in the structure?

Examples

Basic usage:

Example1 expression
bielem 42 (17, 42)True
Example1 expression
bielem 42 (17, 43)False
Example1 expression
bielem 42 (Left 42)True
Example1 expression
bielem 42 (Right 13)False
Example1 expression
bielem 42 (BiList [1..5] [1..100])True
Example1 expression
bielem 42 (BiList [1..5] [1..41])False
valuebifind :: Bifoldable t => (a -> Bool) -> t a a -> Maybe a
#

The bifind function takes a predicate and a structure and returns the leftmost element of the structure matching the predicate, or Nothing if there is no such element.

Examples

Basic usage:

Example1 expression
bifind even (27, 53)Nothing
Example1 expression
bifind even (27, 52)Just 52
Example1 expression
bifind even (26, 52)Just 26

Empty structures always yield Nothing:

Example1 expression
bifind even (BiList [] [])Nothing
valuebifoldl'
  1. :: Bifoldable t
  2. => a -> b -> a
  3. -> a -> c -> a
  4. -> a
  5. -> t b c
  6. -> a
#

As bifoldl, but strict in the result of the reduction functions at each step.

This ensures that each step of the bifold is forced to weak head normal form before being applied, avoiding the collection of thunks that would otherwise occur. This is often what you want to strictly reduce a finite structure to a single, monolithic result (e.g., bilength).

valuebifoldlM
  1. :: (Bifoldable t, Monad m)
  2. => a -> b -> m a
  3. -> a -> c -> m a
  4. -> a
  5. -> t b c
  6. -> m a
#

Left associative monadic bifold over a structure.

Examples

Basic usage:

Example1 expression
bifoldlM (\a b -> print b >> pure a) (\a c -> print (show c) >> pure a) 42 ("Hello", True)"Hello""True"42
Example1 expression
bifoldlM (\a b -> print b >> pure a) (\a c -> print (show c) >> pure a) 42 (Right True)"True"42
Example1 expression
bifoldlM (\a b -> print b >> pure a) (\a c -> print (show c) >> pure a) 42 (Left "Hello")"Hello"42
valuebifoldr'
  1. :: Bifoldable t
  2. => a -> c -> c
  3. -> b -> c -> c
  4. -> c
  5. -> t a b
  6. -> c
#

As bifoldr, but strict in the result of the reduction functions at each step.

valuebifoldrM
  1. :: (Bifoldable t, Monad m)
  2. => a -> c -> m c
  3. -> b -> c -> m c
  4. -> c
  5. -> t a b
  6. -> m c
#

Right associative monadic bifold over a structure.

valuebifor_
  1. :: (Bifoldable t, Applicative f)
  2. => t a b
  3. -> a -> f c
  4. -> b -> f d
  5. -> f ()
#

As bitraverse_, but with the structure as the primary argument. For a version that doesn't ignore the results, see bifor.

Examples

Basic usage:

Example1 expression
bifor_ ("Hello", True) print (print . show)"Hello""True"
Example1 expression
bifor_ (Right True) print (print . show)"True"
Example1 expression
bifor_ (Left "Hello") print (print . show)"Hello"
valuebilength :: Bifoldable t => t a b -> Int
#

Returns the size/length of a finite structure as an Int.

Examples

Basic usage:

Example1 expression
bilength (True, 42)2
Example1 expression
bilength (Right 42)1
Example1 expression
bilength (BiList [1,2,3] [4,5])5
Example1 expression
bilength (BiList [] [])0

On infinite structures, this function hangs:

> bilength (BiList [1..] [])
* Hangs forever *
valuebinull :: Bifoldable t => t a b -> Bool
#

Test whether the structure is empty.

Examples

Basic usage:

Example1 expression
binull (18, 42)False
Example1 expression
binull (Right 42)False
Example1 expression
binull (BiList [] [])True
valuebior :: Bifoldable t => t Bool Bool -> Bool
#

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

Examples

Basic usage:

Example1 expression
bior (True, False)True
Example1 expression
bior (False, False)False
Example1 expression
bior (Left True)True

Empty structures yield False:

Example1 expression
bior (BiList [] [])False

A True value finitely far from the left end yields True (short circuit):

Example1 expression
bior (BiList [False, False, True, False] (repeat False))True

A True value infinitely far from the left end hangs:

> bior (BiList (repeat False) [True])
* Hangs forever *

An infinitely False value hangs:

> bior (BiList (repeat False) [])
* Hangs forever *
valuebisequence_ :: (Bifoldable t, Applicative f) => t (f a) (f b) -> f ()
#

Evaluate each action in the structure from left to right, and ignore the results. For a version that doesn't ignore the results, see bisequence.

Examples

Basic usage:

Example1 expression
bisequence_ (print "Hello", print "World")"Hello""World"
Example1 expression
bisequence_ (Left (print "Hello"))"Hello"
Example1 expression
bisequence_ (Right (print "World"))"World"
valuebitraverse_
  1. :: (Bifoldable t, Applicative f)
  2. => a -> f c
  3. -> b -> f d
  4. -> t a b
  5. -> f ()
#

Map each element of a structure using one of two actions, evaluate these actions from left to right, and ignore the results. For a version that doesn't ignore the results, see bitraverse.

Examples

Basic usage:

Example1 expression
bitraverse_ print (print . show) ("Hello", True)"Hello""True"
Example1 expression
bitraverse_ print (print . show) (Right True)"True"
Example1 expression
bitraverse_ print (print . show) (Left "Hello")"Hello"
valuebifor
  1. :: (Bitraversable t, Applicative f)
  2. => t a b
  3. -> a -> f c
  4. -> b -> f d
  5. -> f (t c d)
#

bifor is bitraverse with the structure as the first argument. For a version that ignores the results, see bifor_.

Examples

Basic usage:

Example1 expression
bifor (Left []) listToMaybe (find even)Nothing
Example1 expression
bifor (Left [1, 2, 3]) listToMaybe (find even)Just (Left 1)
Example1 expression
bifor (Right [4, 5]) listToMaybe (find even)Just (Right 4)
Example1 expression
bifor ([1, 2, 3], [4, 5]) listToMaybe (find even)Just (1,4)
Example1 expression
bifor ([], [4, 5]) listToMaybe (find even)Nothing
valuebisequence :: (Bitraversable t, Applicative f) => t (f a) (f b) -> f (t a b)
#

Sequences all the actions in a structure, building a new structure with the same shape using the results of the actions. For a version that ignores the results, see bisequence_.

bisequence ≡ bitraverse id id
Examples

Basic usage:

Example1 expression
bisequence (Just 4, Nothing)Nothing
Example1 expression
bisequence (Just 4, Just 5)Just (4,5)
Example1 expression
bisequence ([1, 2, 3], [4, 5])[(1,4),(1,5),(2,4),(2,5),(3,4),(3,5)]
valuebool :: a -> a -> Bool -> a
#

Case analysis for the Bool type. bool f t p evaluates to f when p is False, and evaluates to t when p is True.

This is equivalent to if p then t else f; that is, one can think of it as an if-then-else construct with its arguments reordered.

Examples

Basic usage:

Example2 expressions
bool "foo" "bar" True"bar"bool "foo" "bar" False"foo"

Confirm that bool f t p and if p then t else f are equivalent:

Example4 expressions
let p = True; f = "bar"; t = "foo"bool f t p == if p then t else fTruelet p = Falsebool f t p == if p then t else fTrue
value($<) :: Contravariant f => f b -> b -> f a
#

This is >$ with its arguments flipped.

valuephantom :: (Functor f, Contravariant f) => f a -> f b
#

If f is both Functor and Contravariant then by the time you factor in the laws of each of those classes, it can't actually use its argument in any meaningful capacity.

This method is surprisingly useful. Where both instances exist and are lawful we have the following laws:

fmap      f ≡ phantom
contramap f ≡ phantom
valuecycle1 :: Semigroup m => m -> m
#

A generalization of cycle to an arbitrary Semigroup. May fail to terminate for some values in some semigroups.

Examples
Example1 expression
take 10 $ cycle1 [1, 2, 3][1,2,3,1,2,3,1,2,3,1]
Example1 expression
cycle1 (Right 1)Right 1
Example1 expression
cycle1 (Left 1)* Hangs forever *
valuemtimesDefault :: (Integral b, Monoid a) => b -> a -> a
#

Repeat a value n times.

mtimesDefault n a = a <> a <> ... <> a  -- using <> (n-1) times

In many cases, stimes 0 a for a Monoid will produce mempty. However, there are situations when it cannot do so. In particular, the following situation is fairly common:

data T a = ...

class Constraint1 a
class Constraint1 a => Constraint2 a
instance Constraint1 a => Semigroup (T a)
instance Constraint2 a => Monoid (T a)

Since Constraint1 is insufficient to implement mempty, stimes for T a cannot do so.

When working with such a type, or when working polymorphically with Semigroup instances, mtimesDefault should be used when the multiplier might be zero. It is implemented using stimes when the multiplier is nonzero and mempty when it is zero.

Examples
Example1 expression
mtimesDefault 0 "bark"""
Example1 expression
mtimesDefault 3 "meow""meowmeowmeow"
value($!!) :: NFData a => (a -> b) -> a -> b
#

The deep analogue of $!. f $!! x fully evaluates x before returning f x.

There is no guarantee about the ordering of evaluation. f x may be evaluated before x is fully evaluated. To impose an actual order on evaluation, use pseq from Control.Parallel in the parallel package.

valuedeepseq :: NFData a => a -> b -> b
#

deepseq: fully evaluates the first argument, before returning the second.

The name deepseq is used to illustrate the relationship to seq: where seq is shallow in the sense that it only evaluates the top level of its argument, deepseq traverses the entire data structure evaluating it completely.

deepseq can be useful for forcing pending exceptions, eradicating space leaks, or forcing lazy I/O to happen. It is also useful in conjunction with parallel Strategies (see the parallel package).

There is no guarantee about the ordering of evaluation. The implementation may evaluate the components of the structure in any order or in parallel. To impose an actual order on evaluation, use pseq from Control.Parallel in the parallel package.

value($) :: (a -> b) -> a -> b
#

($) is the function application operator.

Applying ($) to a function f and an argument x gives the same result as applying f to x directly. The definition is akin to this:

($) :: (a -> b) -> a -> b
($) f x = f x

This is id specialized from a -> a to (a -> b) -> (a -> b) which by the associativity of (->) is the same as (a -> b) -> a -> b.

On the face of it, this may appear pointless! But it's actually one of the most useful and important operators in Haskell.

The order of operations is very different between ($) and normal function application. Normal function application has precedence 10 - higher than any operator - and associates to the left. So these two definitions are equivalent:

expr = min 5 1 + 5
expr = ((min 5) 1) + 5

($) has precedence 0 (the lowest) and associates to the right, so these are equivalent:

expr = min 5 $ 1 + 5
expr = (min 5) (1 + 5)
Examples

A common use cases of ($) is to avoid parentheses in complex expressions.

For example, instead of using nested parentheses in the following Haskell function:

-- | Sum numbers in a string: strSum "100  5 -7" == 98
strSum :: String -> Int
strSum s = sum (mapMaybe readMaybe (words s))

we can deploy the function application operator:

-- | Sum numbers in a string: strSum "100  5 -7" == 98
strSum :: String -> Int
strSum s = sum $ mapMaybe readMaybe $ words s

($) is also used as a section (a partially applied operator), in order to indicate that we wish to apply some yet-unspecified function to a given value. For example, to apply the argument 5 to a list of functions:

applyFive :: [Int]
applyFive = map ($ 5) [(+1), (2^)]
>>> [6, 32]
Technical Remark (Representation Polymorphism)

($) is fully representation-polymorphic. This allows it to also be used with arguments of unlifted and even unboxed kinds, such as unboxed integers:

fastMod :: Int -> Int -> Int
fastMod (I# x) (I# m) = I# $ remInt# x m
value($!) :: (a -> b) -> a -> b
#

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.

value(++) :: [a] -> [a] -> [a]
#

(++) appends two lists, i.e.,

[x1, ..., xm] ++ [y1, ..., yn] == [x1, ..., xm, y1, ..., yn]
[x1, ..., xm] ++ [y1, ...] == [x1, ..., xm, y1, ...]

If the first list is not finite, the result is the first list.

Performance considerations

This function takes linear time in the number of elements of the first list. Thus it is better to associate repeated applications of (++) to the right (which is the default behaviour): xs ++ (ys ++ zs) or simply xs ++ ys ++ zs, but not (xs ++ ys) ++ zs. For the same reason GHC.Internal.Data.List.concat = GHC.Internal.Data.List.foldr (++) [] has linear performance, while GHC.Internal.Data.List.foldl (++) [] is prone to quadratic slowdown

Examples
Example1 expression
[1, 2, 3] ++ [4, 5, 6][1,2,3,4,5,6]
Example1 expression
[] ++ [1, 2, 3][1,2,3]
Example1 expression
[3, 2, 1] ++ [][3,2,1]
value(.) :: (b -> c) -> (a -> b) -> a -> c
#

Right to left function composition.

Property
(f . g) x = f (g x)
Property
f . id = f = id . f
Examples
Example1 expression
map ((*2) . length) [[], [0, 1, 2], [0]][0,6,2]
Example1 expression
foldr (.) id [(+1), (*3), (^3)] 225
Example1 expression
let (...) = (.).(.) in ((*2)...(+)) 5 1030
value(<**>) :: Applicative f => f a -> f (a -> b) -> f b
#

A variant of <*> with the types of the arguments reversed. It differs from flip (<*>) in that the effects are resolved in the order the arguments are presented.

Examples
Example1 expression
(<**>) (print 1) (id <$ print 2)12
Example1 expression
flip (<*>) (print 1) (id <$ print 2)21
Example1 expression
ZipList [4, 5, 6] <**> ZipList [(+1), (*2), (/3)]ZipList {getZipList = [5.0,10.0,2.0]}
value(=<<) :: Monad m => (a -> m b) -> m a -> m b
#

Same as >>=, but with the arguments interchanged.

as >>= f == f =<< as
valueabsurd :: Void -> a
#

Since Void values logically don't exist, this witnesses the logical reasoning tool of "ex falso quodlibet".

Example2 expressions
let x :: Either Void Int; x = Right 5:{case x of    Right r -> r    Left l  -> absurd l:}5
valueasTypeOf :: a -> a -> a
#

asTypeOf is a type-restricted version of const. It is usually used as an infix operator, and its typing forces its first argument (which is usually overloaded) to have the same type as the second.

valueconst :: a -> b -> a
#

const x y always evaluates to x, ignoring its second argument.

const x = \_ -> x

This function might seem useless at first glance, but it can be very useful in a higher order context.

Examples
Example1 expression
const 42 "hello"42
Example1 expression
map (const 42) [0..3][42,42,42,42]
valueflip :: (a -> b -> c) -> b -> a -> c
#

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

Property
flip f x y = f y x
Property
flip . flip = id
Examples
Example1 expression
flip (++) "hello" "world""worldhello"
Example1 expression
let (.>) = flip (.) in (+1) .> show $ 5"6"
valueid :: a -> a
#

Identity function.

id x = x

This function might seem useless at first glance, but it can be very useful in a higher order context.

Examples
Example1 expression
length $ filter id [True, True, False, True]3
Example1 expression
Just (Just 3) >>= idJust 3
Example1 expression
foldr id 0 [(^3), (*5), (+2)]1000
valuejoin :: Monad m => m (m a) -> m a
#

The join function is the conventional monad join operator. It is used to remove one level of monadic structure, projecting its bound argument into the outer level.

'join bss' can be understood as the do expression

do bs <- bss
   bs
Examples
Example1 expression
join [[1, 2, 3], [4, 5, 6], [7, 8, 9]][1,2,3,4,5,6,7,8,9]
Example1 expression
join (Just (Just 3))Just 3

A common use of join is to run an IO computation returned from an GHC.Conc.STM transaction, since GHC.Conc.STM transactions can't perform IO directly. Recall that

GHC.Internal.Conc.atomically :: STM a -> IO a

is used to run GHC.Conc.STM transactions atomically. So, by specializing the types of GHC.Internal.Conc.atomically and join to

GHC.Internal.Conc.atomically :: STM (IO b) -> IO (IO b)
join       :: IO (IO b)  -> IO b

we can compose them as

join . GHC.Internal.Conc.atomically :: STM (IO b) -> IO b

to run an GHC.Conc.STM transaction and the IO action it returns.

valueliftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d
#

Lift a ternary function to actions.

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

\mathcal{O}(n). map f xs is the list obtained by applying f to each element of xs, i.e.,

map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn]
map f [x1, x2, ...] == [f x1, f x2, ...]

this means that map id == id

Examples
Example1 expression
map (+1) [1, 2, 3][2,3,4]
Example1 expression
map id [1, 2, 3][1,2,3]
Example1 expression
map (\n -> 3 * n + 1) [1, 2, 3][4,7,10]
valueord :: Char -> Int
#

The Prelude.fromEnum method restricted to the type Char.

valueotherwise :: Bool
#

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

 f x | x < 0     = ...
     | otherwise = ...
valuevacuous :: Functor f => f Void -> f a
#

If Void is uninhabited then any Functor that holds only values of type Void is holding no values. It is implemented in terms of fmap absurd.

valuewhen :: Applicative f => Bool -> f () -> f ()
#

Conditional execution of Applicative expressions. For example,

Examples
when debug (putStrLn "Debugging")

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

Example1 expression
putStr "pi:" >> when False (print 3.14159)pi:
valuetoIntegralSized :: (Integral a, Integral b, Bits a, Bits b) => a -> Maybe b
#

Attempt to convert an Integral type a to an Integral type b using the size of the types as measured by Bits methods.

A simpler version of this function is:

toIntegral :: (Integral a, Integral b) => a -> Maybe b
toIntegral x
  | toInteger x == toInteger y = Just y
  | otherwise                  = Nothing
  where
    y = fromIntegral x

This version requires going through Integer, which can be inefficient. However, toIntegralSized is optimized to allow GHC to statically determine the relative type sizes (as measured by bitSizeMaybe and isSigned) and avoid going through Integer for many types. (The implementation uses fromIntegral, which is itself optimized with rules for base types but may go through Integer for some type pairs.)

valuechr :: Int -> Char
#

The Prelude.toEnum method restricted to the type Char.

value(&&) :: Bool -> Bool -> Bool
#

Boolean "and", lazy in the second argument

value(||) :: Bool -> Bool -> Bool
#

Boolean "or", lazy in the second argument

value(<<<) :: Category cat => cat b c -> cat a b -> cat a c
#

Right-to-left composition. This is a synonym for (.), but it can be useful to make the order of composition more apparent.

value(>>>) :: Category cat => cat a b -> cat b c -> cat a c
#

Left-to-right composition. This is useful if you want to write a morphism as a pipeline going from left to right.

value(<$!>) :: Monad m => (a -> b) -> m a -> m b
#

Strict version of <$>.

value(<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c
#

Right-to-left composition of Kleisli arrows. (>=>), with the arguments flipped.

Note how this operator resembles function composition (.):

(.)   ::            (b ->   c) -> (a ->   b) -> a ->   c
(<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c
value(>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c
#

Left-to-right composition of Kleisli arrows.

'(bs >=> cs) a' can be understood as the do expression

do b <- bs a
   cs b

or in terms of (>>=) as

bs a >>= cs
valuefilterM :: Applicative m => (a -> m Bool) -> [a] -> m [a]
#

This generalizes the list-based Data.List.filter function.

runIdentity (filterM (Identity . p) xs) == filter p xs
Examples
Example1 expression
filterM (\x -> do      putStrLn ("Keep: " ++ show x ++ "?")      answer <- getLine      pure (answer == "y"))    [1, 2, 3]Keep: 1?yKeep: 2?nKeep: 3?y[1,3]
Example1 expression
filterM (\x -> do      putStr (show x)      x' <- readLn      pure (x == x'))    [1, 2, 3]122233[2,3]
valueforever :: Applicative f => f a -> f b
#

Repeat an action indefinitely.

Examples

A common use of forever is to process input from network sockets, System.IO.Handles, and channels (e.g. MVar and Chan).

For example, here is how we might implement an echo server, using forever both to listen for client connections on a network socket and to echo client input on client connection handles:

echoServer :: Socket -> IO ()
echoServer socket = forever $ do
  client <- accept socket
  forkFinally (echo client) (\_ -> hClose client)
  where
    echo :: Handle -> IO ()
    echo client = forever $
      hGetLine client >>= hPutStrLn client

Note that "forever" isn't necessarily non-terminating. If the action is in a MonadPlus and short-circuits after some number of iterations. then forever actually returns mzero, effectively short-circuiting its caller.

valueguard :: Alternative f => Bool -> f ()
#

Conditional failure of Alternative computations. Defined by

guard True  = pure ()
guard False = empty
Examples

Common uses of guard include conditionally signalling an error in an error monad and conditionally rejecting the current choice in an Alternative-based parser.

As an example of signalling an error in the error monad Maybe, consider a safe division function safeDiv x y that returns Nothing when the denominator y is zero and Just (x `div` y) otherwise. For example:

Example1 expression
safeDiv 4 0Nothing
Example1 expression
safeDiv 4 2Just 2

A definition of safeDiv using guards, but not guard:

safeDiv :: Int -> Int -> Maybe Int
safeDiv x y | y /= 0    = Just (x `div` y)
            | otherwise = Nothing

A definition of safeDiv using guard and Monad do-notation:

safeDiv :: Int -> Int -> Maybe Int
safeDiv x y = do
  guard (y /= 0)
  return (x `div` y)
valuemapAndUnzipM :: Applicative m => (a -> m (b, c)) -> [a] -> m ([b], [c])
#

The mapAndUnzipM function maps its first argument over a list, returning the result as a pair of lists. This function is mainly used with complicated data structures or a state monad.

valuemfilter :: MonadPlus m => (a -> Bool) -> m a -> m a
#

Direct MonadPlus equivalent of Data.List.filter.

Examples

The Data.List.filter function is just mfilter specialized to the list monad:

Data.List.filter = ( mfilter :: (a -> Bool) -> [a] -> [a] )

An example using mfilter with the Maybe monad:

Example2 expressions
mfilter odd (Just 1)Just 1mfilter odd (Just 2)Nothing
valuereplicateM :: Applicative m => Int -> m a -> m [a]
#

replicateM n act performs the action act n times, and then returns the list of results.

replicateM n (pure x) == pure (replicate n x)
Examples
Example1 expression
replicateM 3 getLinehiheyahiya["hi","heya","hiya"]
Example2 expressions
import Control.Monad.StaterunState (replicateM 3 $ state $ \s -> (s, s + 1)) 1([1,2,3],4)
valueunless :: Applicative f => Bool -> f () -> f ()
#

The reverse of when.

Examples
Example1 expression
do x <- getLine       unless (x == "hi") (putStrLn "hi!")comingupwithexamplesisdifficulthi!
Example1 expression
unless (pi > exp 1) NothingJust ()
valueeither :: (a -> c) -> (b -> c) -> Either a b -> c
#

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

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 Prelude.length function (if we have a String) or the "times-two" function (if we have an Int):

Example4 expressions
let s = Left "foo" :: Either String Intlet n = Right 3 :: Either String Inteither length (*2) s3either length (*2) n6
valuefromLeft :: a -> Either a b -> a
#

Return the contents of a Left-value or a default value otherwise.

Examples

Basic usage:

Example2 expressions
fromLeft 1 (Left 3)3fromLeft 1 (Right "foo")1
valuefromRight :: b -> Either a b -> b
#

Return the contents of a Right-value or a default value otherwise.

Examples

Basic usage:

Example2 expressions
fromRight 1 (Right 3)3fromRight 1 (Left "foo")1
valueisLeft :: Either a b -> Bool
#

Return True if the given value is a Left-value, False otherwise.

Examples

Basic usage:

Example2 expressions
isLeft (Left "foo")TrueisLeft (Right 3)False

Assuming a Left value signifies some sort of error, we can use isLeft to write a very simple error-reporting function that does absolutely nothing in the case of success, and outputs "ERROR" if any error occurred.

This example shows how isLeft might be used to avoid pattern matching when one does not care about the value contained in the constructor:

Example4 expressions
import Control.Monad ( when )let report e = when (isLeft e) $ putStrLn "ERROR"report (Right 1)report (Left "parse error")ERROR
valueisRight :: Either a b -> Bool
#

Return True if the given value is a Right-value, False otherwise.

Examples

Basic usage:

Example2 expressions
isRight (Left "foo")FalseisRight (Right 3)True

Assuming a Left value signifies some sort of error, we can use isRight to write a very simple reporting function that only outputs "SUCCESS" when a computation has succeeded.

This example shows how isRight might be used to avoid pattern matching when one does not care about the value contained in the constructor:

Example4 expressions
import Control.Monad ( when )let report e = when (isRight e) $ putStrLn "SUCCESS"report (Left "parse error")report (Right 1)SUCCESS
valuelefts :: [Either a b] -> [a]
#

Extracts from a list of Either all the Left elements. All the Left elements are extracted in order.

Examples

Basic usage:

Example2 expressions
let list = [ Left "foo", Right 3, Left "bar", Right 7, Left "baz" ]lefts list["foo","bar","baz"]
valuepartitionEithers :: [Either a b] -> ([a], [b])
#

Partitions a list of Either into two lists. All the Left elements are extracted, in order, to the first component of the output. Similarly the Right elements are extracted to the second component of the output.

Examples

Basic usage:

Example2 expressions
let list = [ Left "foo", Right 3, Left "bar", Right 7, Left "baz" ]partitionEithers list(["foo","bar","baz"],[3,7])

The pair returned by partitionEithers x should be the same pair as (lefts x, rights x):

Example2 expressions
let list = [ Left "foo", Right 3, Left "bar", Right 7, Left "baz" ]partitionEithers list == (lefts list, rights list)True
valuerights :: [Either a b] -> [b]
#

Extracts from a list of Either all the Right elements. All the Right elements are extracted in order.

Examples

Basic usage:

Example2 expressions
let list = [ Left "foo", Right 3, Left "bar", Right 7, Left "baz" ]rights list[3,7]
valueall :: Foldable t => (a -> Bool) -> t a -> Bool
#

Determines whether all elements of the structure satisfy the predicate.

Examples

Basic usage:

Example1 expression
all (> 3) []True
Example1 expression
all (> 3) [1,2]False
Example1 expression
all (> 3) [1,2,3,4,5]False
Example1 expression
all (> 3) [1..]False
Example1 expression
all (> 3) [4..]* Hangs forever *
valueand :: Foldable t => t Bool -> Bool
#

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.

Examples

Basic usage:

Example1 expression
and []True
Example1 expression
and [True]True
Example1 expression
and [False]False
Example1 expression
and [True, True, False]False
Example1 expression
and (False : repeat True) -- Infinite list [False,True,True,True,...False
Example1 expression
and (repeat True)* Hangs forever *
valueany :: Foldable t => (a -> Bool) -> t a -> Bool
#

Determines whether any element of the structure satisfies the predicate.

Examples

Basic usage:

Example1 expression
any (> 3) []False
Example1 expression
any (> 3) [1,2]False
Example1 expression
any (> 3) [1,2,3,4,5]True
Example1 expression
any (> 3) [1..]True
Example1 expression
any (> 3) [0, -1..]* Hangs forever *
valueasum :: (Foldable t, Alternative f) => t (f a) -> f a
#

The sum of a collection of actions using (<|>), generalizing concat.

asum is just like msum, but generalised to Alternative.

Examples

Basic usage:

Example1 expression
asum [Just "Hello", Nothing, Just "World"]Just "Hello"
valueconcat :: Foldable t => t [a] -> [a]
#

The concatenation of all the elements of a container of lists.

Examples

Basic usage:

Example1 expression
concat (Just [1, 2, 3])[1,2,3]
Example1 expression
concat (Left 42)[]
Example1 expression
concat [[1, 2, 3], [4, 5], [6], []][1,2,3,4,5,6]
valueconcatMap :: Foldable t => (a -> [b]) -> t a -> [b]
#

Map a function over all the elements of a container and concatenate the resulting lists.

Examples

Basic usage:

Example1 expression
concatMap (take 3) [[1..], [10..], [100..], [1000..]][1,2,3,10,11,12,100,101,102,1000,1001,1002]
Example1 expression
concatMap (take 3) (Just [1..])[1,2,3]
valuefind :: Foldable t => (a -> Bool) -> t a -> Maybe a
#

The find function takes a predicate and a structure and returns the leftmost element of the structure matching the predicate, or Nothing if there is no such element.

Examples

Basic usage:

Example1 expression
find (> 42) [0, 5..]Just 45
Example1 expression
find (> 12) [1..7]Nothing
valuefoldlM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
#

Left-to-right monadic fold over the elements of a structure.

Given a structure t with elements (a, b, ..., w, x, y), the result of a fold with an operator function f is equivalent to:

foldlM f z t = do
    aa <- f z a
    bb <- f aa b
    ...
    xx <- f ww x
    yy <- f xx y
    return yy -- Just @return z@ when the structure is empty

For a Monad m, given two functions f1 :: a -> m b and f2 :: b -> m c, their Kleisli composition (f1 >=> f2) :: a -> m c is defined by:

(f1 >=> f2) a = f1 a >>= f2

Another way of thinking about foldlM is that it amounts to an application to z of a Kleisli composition:

foldlM f z t =
    flip f a >=> flip f b >=> ... >=> flip f x >=> flip f y $ z

The monadic effects of foldlM are sequenced from left to right.

If at some step the bind operator (>>=) short-circuits (as with, e.g., mzero in a MonadPlus), the evaluated effects will be from an initial segment of the element sequence. If you want to evaluate the monadic effects in right-to-left order, or perhaps be able to short-circuit after processing a tail of the sequence of elements, you'll need to use foldrM instead.

If the monadic effects don't short-circuit, the outermost application of f is to the rightmost element y, so that, ignoring effects, the result looks like a left fold:

((((z `f` a) `f` b) ... `f` w) `f` x) `f` y
Examples

Basic usage:

Example2 expressions
let f a e = do { print e ; return $ e : a }foldlM f [] [0..3]0123[3,2,1,0]
valueforM_ :: (Foldable t, Monad m) => t a -> (a -> m b) -> m ()
#

forM_ is mapM_ with its arguments flipped. For a version that doesn't ignore the results see Data.Traversable.forM.

forM_ is just like for_, but specialised to monadic actions.

valuemapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m ()
#

Map each element of a structure to a monadic action, evaluate these actions from left to right, and ignore the results. For a version that doesn't ignore the results see Data.Traversable.mapM.

mapM_ is just like traverse_, but specialised to monadic actions.

valueor :: Foldable t => t Bool -> Bool
#

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

Examples

Basic usage:

Example1 expression
or []False
Example1 expression
or [True]True
Example1 expression
or [False]False
Example1 expression
or [True, True, False]True
Example1 expression
or (True : repeat False) -- Infinite list [True,False,False,False,...True
Example1 expression
or (repeat False)* Hangs forever *
valuesequenceA_ :: (Foldable t, Applicative f) => t (f a) -> f ()
#

Evaluate each action in the structure from left to right, and ignore the results. For a version that doesn't ignore the results see sequenceA.

sequenceA_ is just like sequence_, but generalised to Applicative actions.

Examples

Basic usage:

Example1 expression
sequenceA_ [print "Hello", print "world", print "!"]"Hello""world""!"
valuesequence_ :: (Foldable t, Monad m) => t (m a) -> m ()
#

Evaluate each monadic action in the structure from left to right, and ignore the results. For a version that doesn't ignore the results see Data.Traversable.sequence.

sequence_ is just like sequenceA_, but specialised to monadic actions.

valuetraverse_ :: (Foldable t, Applicative f) => (a -> f b) -> t a -> f ()
#

Map each element of a structure to an Applicative action, evaluate these actions from left to right, and ignore the results. For a version that doesn't ignore the results see traverse.

traverse_ is just like mapM_, but generalised to Applicative actions.

Examples

Basic usage:

Example1 expression
traverse_ print ["Hello", "world", "!"]"Hello""world""!"
value(&) :: a -> (a -> b) -> b
#

& is a reverse application operator. This provides notational convenience. Its precedence is one higher than that of the forward application operator $, which allows & to be nested in $.

This is a version of flip id, where id is specialized from a -> a to (a -> b) -> (a -> b) which by the associativity of (->) is (a -> b) -> a -> b. flipping this yields a -> (a -> b) -> b which is the type signature of &

Examples
Example1 expression
5 & (+1) & show"6"
Example1 expression
sqrt $ [1 / n^2 | n <- [1..1000]] & sum & (*6)3.1406380562059946
valuefix :: (a -> a) -> a
#

fix f is the least fixed point of the function f, i.e. the least defined x such that f x = x.

When f is strict, this means that because, by the definition of strictness, f ⊥ = ⊥ and such the least defined fixed point of any strict function is ⊥.

Examples

We can write the factorial function using direct recursion as

Example1 expression
let fac n = if n <= 1 then 1 else n * fac (n-1) in fac 5120

This uses the fact that Haskell’s let introduces recursive bindings. We can rewrite this definition using fix,

Instead of making a recursive call, we introduce a dummy parameter rec; when used within fix, this parameter then refers to fix’s argument, hence the recursion is reintroduced.

Example1 expression
fix (\rec n -> if n <= 1 then 1 else n * rec (n-1)) 5120

Using fix, we can implement versions of repeat as fix . (:) and cycle as fix . (++)

Example1 expression
take 10 $ fix (0:)[0,0,0,0,0,0,0,0,0,0]
Example1 expression
map (fix (\rec n -> if n < 2 then n else rec (n - 1) + rec (n - 2))) [1..10][1,1,2,3,5,8,13,21,34,55]
Implementation Details

The current implementation of fix uses structural sharing

fix f = let x = f x in x

A more straightforward but non-sharing version would look like

fix f = f (fix f)
valueon :: (b -> b -> c) -> (a -> b) -> a -> a -> c
#

on b u x y runs the binary function b on the results of applying unary function u to two arguments x and y. From the opposite perspective, it transforms two inputs and combines the outputs.

(op `on` f) x y = f x `op` f y
Examples
Example1 expression
sortBy (compare `on` length) [[0, 1, 2], [0, 1], [], [0]][[],[0],[0,1],[0,1,2]]
Example1 expression
((+) `on` length) [1, 2, 3] [-1]4
Example1 expression
((,) `on` (*2)) 2 3(4,6)
Algebraic properties
  • (*) `on` id = (*) -- (if (*) ∉ {⊥, const ⊥})
  • ((*) `on` f) `on` g = (*) `on` (f . g)
  • flip on f . flip on g = flip on (g . f)
value($>) :: Functor f => f a -> b -> f b
#

Flipped version of <$.

Examples

Replace the contents of a Maybe Int with a constant String:

Example1 expression
Nothing $> "foo"Nothing
Example1 expression
Just 90210 $> "foo"Just "foo"

Replace the contents of an Either Int Int with a constant String, resulting in an Either Int String:

Example1 expression
Left 8675309 $> "foo"Left 8675309
Example1 expression
Right 8675309 $> "foo"Right "foo"

Replace each element of a list with a constant String:

Example1 expression
[1,2,3] $> "foo"["foo","foo","foo"]

Replace the second element of a pair with a constant String:

Example1 expression
(1,2) $> "foo"(1,"foo")
value(<$>) :: Functor f => (a -> b) -> f a -> f b
#

An infix synonym for fmap.

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

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

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

Examples

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

Example1 expression
show <$> NothingNothing
Example1 expression
show <$> Just 3Just "3"

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

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

Double each element of a list:

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

Apply even to the second element of a pair:

Example1 expression
even <$> (2,2)(2,True)
value(<&>) :: Functor f => f a -> (a -> b) -> f b
#

Flipped version of <$>.

(<&>) = flip fmap
Examples

Apply (+1) to a list, a Just and a Right:

Example1 expression
Just 2 <&> (+1)Just 3
Example1 expression
[1,2,3] <&> (+1)[2,3,4]
Example1 expression
Right 3 <&> (+1)Right 4
valuevoid :: Functor f => f a -> f ()
#

void value discards or ignores the result of evaluation, such as the return value of an System.IO.IO action.

Examples

Replace the contents of a Maybe Int with unit:

Example1 expression
void NothingNothing
Example1 expression
void (Just 3)Just ()

Replace the contents of an Either Int Int with unit, resulting in an Either Int ():

Example1 expression
void (Left 8675309)Left 8675309
Example1 expression
void (Right 8675309)Right ()

Replace every element of a list with unit:

Example1 expression
void [1,2,3][(),(),()]

Replace the second element of a pair with unit:

Example1 expression
void (1,2)(1,())

Discard the result of an System.IO.IO action:

Example1 expression
mapM print [1,2]12[(),()]
Example1 expression
void $ mapM print [1,2]12
valuecatMaybes :: [Maybe a] -> [a]
#

The catMaybes function takes a list of Maybes and returns a list of all the Just values.

Examples

Basic usage:

Example1 expression
catMaybes [Just 1, Nothing, Just 3][1,3]

When constructing a list of Maybe values, catMaybes can be used to return all of the "success" results (if the list is the result of a map, then mapMaybe would be more appropriate):

Example3 expressions
import GHC.Internal.Text.Read ( readMaybe )[readMaybe x :: Maybe Int | x <- ["1", "Foo", "3"] ][Just 1,Nothing,Just 3]catMaybes $ [readMaybe x :: Maybe Int | x <- ["1", "Foo", "3"] ][1,3]
valuefromMaybe :: a -> Maybe a -> a
#

The fromMaybe function takes a default value and a Maybe value. If the Maybe is Nothing, it returns the default value; otherwise, it returns the value contained in the Maybe.

Examples

Basic usage:

Example1 expression
fromMaybe "" (Just "Hello, World!")"Hello, World!"
Example1 expression
fromMaybe "" Nothing""

Read an integer from a string using readMaybe. If we fail to parse an integer, we want to return 0 by default:

Example3 expressions
import GHC.Internal.Text.Read ( readMaybe )fromMaybe 0 (readMaybe "5")5fromMaybe 0 (readMaybe "")0
valueisJust :: Maybe a -> Bool
#

isJust x returns True when x is of the form Just _ and False otherwise.

Examples

Basic usage:

Example1 expression
isJust (Just 3)True
Example1 expression
isJust (Just ())True
Example1 expression
isJust NothingFalse

Only the outer constructor is taken into consideration:

Example1 expression
isJust (Just Nothing)True
valueisNothing :: Maybe a -> Bool
#

isNothing x returns True when x is Nothing and False otherwise.

Examples

Basic usage:

Example1 expression
isNothing (Just 3)False
Example1 expression
isNothing (Just ())False
Example1 expression
isNothing NothingTrue

Only the outer constructor is taken into consideration:

Example1 expression
isNothing (Just Nothing)False
valuelistToMaybe :: [a] -> Maybe a
#

The listToMaybe function returns Nothing on an empty list or Just a where a is the first element of the list.

Examples

Basic usage:

Example1 expression
listToMaybe []Nothing
Example1 expression
listToMaybe [9]Just 9
Example1 expression
listToMaybe [1,2,3]Just 1

Composing maybeToList with listToMaybe should be the identity on singleton/empty lists:

Example2 expressions
maybeToList $ listToMaybe [5][5]maybeToList $ listToMaybe [][]

But not on lists with more than one element:

Example1 expression
maybeToList $ listToMaybe [1,2,3][1]
valuemapMaybe :: (a -> Maybe b) -> [a] -> [b]
#

The mapMaybe function is a version of map which can throw out elements. In particular, the functional argument returns something of type Maybe b. If this is Nothing, no element is added on to the result list. If it is Just b, then b is included in the result list.

Examples

Using mapMaybe f x is a shortcut for catMaybes $ map f x in most cases:

Example4 expressions
import GHC.Internal.Text.Read ( readMaybe )let readMaybeInt = readMaybe :: String -> Maybe IntmapMaybe readMaybeInt ["1", "Foo", "3"][1,3]catMaybes $ map readMaybeInt ["1", "Foo", "3"][1,3]

If we map the Just constructor, the entire list should be returned:

Example1 expression
mapMaybe Just [1,2,3][1,2,3]
valuemaybe :: b -> (a -> b) -> Maybe a -> b
#

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

Basic usage:

Example1 expression
maybe False odd (Just 3)True
Example1 expression
maybe False odd NothingFalse

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:

Example3 expressions
import GHC.Internal.Text.Read ( readMaybe )maybe 0 (*2) (readMaybe "5")10maybe 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":

Example2 expressions
maybe "" show (Just 5)"5"maybe "" show Nothing""
valuemaybeToList :: Maybe a -> [a]
#

The maybeToList function returns an empty list when given Nothing or a singleton list when given Just.

Examples

Basic usage:

Example1 expression
maybeToList (Just 7)[7]
Example1 expression
maybeToList Nothing[]

One can use maybeToList to avoid pattern matching when combined with a function that (safely) works on lists:

Example3 expressions
import GHC.Internal.Text.Read ( readMaybe )sum $ maybeToList (readMaybe "3")3sum $ maybeToList (readMaybe "")0
valuegenericLength :: Num i => [a] -> i
#

\mathcal{O}(n). The genericLength function is an overloaded version of length. In particular, instead of returning an Int, it returns any type which is an instance of Num. It is, however, less efficient than length.

Examples
Example2 expressions
genericLength [1, 2, 3] :: Int3genericLength [1, 2, 3] :: Float3.0

Users should take care to pick a return type that is wide enough to contain the full length of the list. If the width is insufficient, the overflow behaviour will depend on the (+) implementation in the selected Num instance. The following example overflows because the actual list length of 200 lies outside of the Int8 range of -128..127.

Example1 expression
genericLength [1..200] :: Int8-56
valuegroup :: Eq a => [a] -> [[a]]
#

The group function takes a list and returns a list of lists such that the concatenation of the result is equal to the argument. Moreover, each sublist in the result is non-empty, all elements are equal to the first one, and consecutive equal elements of the input end up in the same element of the output list.

group is a special case of groupBy, which allows the programmer to supply their own equality test.

It's often preferable to use Data.List.NonEmpty.group, which provides type-level guarantees of non-emptiness of inner lists. A common idiom to squash repeating elements map head . group is better served by map Data.List.NonEmpty.head . Data.List.NonEmpty.group because it avoids partial functions.

Examples
Example1 expression
group "Mississippi"["M","i","ss","i","ss","i","pp","i"]
Example1 expression
group [1, 1, 1, 2, 2, 3, 4, 5, 5][[1,1,1],[2,2],[3],[4],[5,5]]
valueinits :: [a] -> [[a]]
#

The inits function returns all initial segments of the argument, shortest first.

inits is semantically equivalent to map reverse . scanl (flip (:)) [], but under the hood uses a queue to amortize costs of reverse.

Laziness

Note that inits has the following strictness property: inits (xs ++ _|_) = inits xs ++ _|_

In particular, inits _|_ = [] : _|_

Examples
Example1 expression
inits "abc"["","a","ab","abc"]
Example1 expression
inits [][[]]

inits is productive on infinite lists:

Example1 expression
take 5 $ inits [1..][[],[1],[1,2],[1,2,3],[1,2,3,4]]
valueintercalate :: [a] -> [[a]] -> [a]
#

intercalate xs xss is equivalent to (concat (intersperse xs xss)). It inserts the list xs in between the lists in xss and concatenates the result.

Laziness

intercalate has the following properties:

Example1 expression
take 5 (intercalate undefined ("Lorem" : undefined))"Lorem"
Example1 expression
take 6 (intercalate ", " ("Lorem" : undefined))"Lorem*** Exception: Prelude.undefined
Examples
Example1 expression
intercalate ", " ["Lorem", "ipsum", "dolor"]"Lorem, ipsum, dolor"
Example1 expression
intercalate [0, 1] [[2, 3], [4, 5, 6], []][2,3,0,1,4,5,6,0,1]
Example1 expression
intercalate [1, 2, 3] [[], []][1,2,3]
valueintersperse :: a -> [a] -> [a]
#

\mathcal{O}(n). The intersperse function takes an element and a list and `intersperses' that element between the elements of the list.

Laziness

intersperse has the following properties

Example1 expression
take 1 (intersperse undefined ('a' : undefined))"a"
Example1 expression
take 2 (intersperse ',' ('a' : undefined))"a*** Exception: Prelude.undefined
Examples
Example1 expression
intersperse ',' "abcde""a,b,c,d,e"
Example1 expression
intersperse 1 [3, 4, 5][3,1,4,1,5]
valueisPrefixOf :: Eq a => [a] -> [a] -> Bool
#

\mathcal{O}(\min(m,n)). The isPrefixOf function takes two lists and returns True iff the first list is a prefix of the second.

Examples
Example1 expression
"Hello" `isPrefixOf` "Hello World!"True
Example1 expression
"Hello" `isPrefixOf` "Wello Horld!"False

For the result to be True, the first list must be finite; False, however, results from any mismatch:

Example1 expression
[0..] `isPrefixOf` [1..]False
Example1 expression
[0..] `isPrefixOf` [0..99]False
Example1 expression
[0..99] `isPrefixOf` [0..]True
Example1 expression
[0..] `isPrefixOf` [0..]* Hangs forever *

isPrefixOf shortcuts when the first argument is empty:

Example1 expression
isPrefixOf [] undefinedTrue
valuepermutations :: [a] -> [[a]]
#

The permutations function returns the list of all permutations of the argument.

Note that the order of permutations is not lexicographic. It satisfies the following property:

map (take n) (take (product [1..n]) (permutations ([1..n] ++ undefined))) == permutations [1..n]
Laziness

The permutations function is maximally lazy: for each n, the value of permutations xs starts with those permutations that permute take n xs and keep drop n xs.

Examples
Example1 expression
permutations "abc"["abc","bac","cba","bca","cab","acb"]
Example1 expression
permutations [1, 2][[1,2],[2,1]]
Example1 expression
permutations [][[]]

This function is productive on infinite inputs:

Example1 expression
take 6 $ map (take 3) $ permutations ['a'..]["abc","bac","cba","bca","cab","acb"]
valuesort :: Ord a => [a] -> [a]
#

The sort function implements a stable sorting algorithm. It is a special case of sortBy, which allows the programmer to supply their own comparison function.

Elements are arranged from lowest to highest, keeping duplicates in the order they appeared in the input.

The argument must be finite.

Examples
Example1 expression
sort [1,6,4,3,2,5][1,2,3,4,5,6]
Example1 expression
sort "haskell""aehklls"
Example2 expressions
import Data.Semigroup(Arg(..))sort [Arg ":)" 0, Arg ":D" 0, Arg ":)" 1, Arg ":3" 0, Arg ":D" 1][Arg ":)" 0,Arg ":)" 1,Arg ":3" 0,Arg ":D" 0,Arg ":D" 1]
valuesortBy :: (a -> a -> Ordering) -> [a] -> [a]
#

The sortBy function is the non-overloaded version of sort. The argument must be finite.

The supplied comparison relation is supposed to be reflexive and antisymmetric, otherwise, e. g., for _ _ -> GT, the ordered list simply does not exist. The relation is also expected to be transitive: if it is not then sortBy might fail to find an ordered permutation, even if it exists.

Examples
Example1 expression
sortBy (\(a,_) (b,_) -> compare a b) [(2, "world"), (4, "!"), (1, "Hello")][(1,"Hello"),(2,"world"),(4,"!")]
valuesortOn :: Ord b => (a -> b) -> [a] -> [a]
#

Sort a list by comparing the results of a key function applied to each element. sortOn f is equivalent to sortBy (comparing f), but has the performance advantage of only evaluating f once for each element in the input list. This is called the decorate-sort-undecorate paradigm, or Schwartzian transform.

Elements are arranged from lowest to highest, keeping duplicates in the order they appeared in the input.

The argument must be finite.

Examples
Example1 expression
sortOn fst [(2, "world"), (4, "!"), (1, "Hello")][(1,"Hello"),(2,"world"),(4,"!")]
Example1 expression
sortOn length ["jim", "creed", "pam", "michael", "dwight", "kevin"]["jim","pam","creed","kevin","dwight","michael"]
Performance notes

This function minimises the projections performed, by materialising the projections in an intermediate list.

For trivial projections, you should prefer using sortBy with comparing, for example:

Example1 expression
sortBy (comparing fst) [(3, 1), (2, 2), (1, 3)][(1,3),(2,2),(3,1)]

Or, for the exact same API as sortOn, you can use `sortBy . comparing`:

Example1 expression
(sortBy . comparing) fst [(3, 1), (2, 2), (1, 3)][(1,3),(2,2),(3,1)]

However, sortOn may still be faster for instances with a more efficient implementation of (>) than compare.

valuesubsequences :: [a] -> [[a]]
#

The subsequences function returns the list of all subsequences of the argument.

Laziness

subsequences does not look ahead unless it must:

Example2 expressions
take 1 (subsequences undefined)[[]]take 2 (subsequences ('a' : undefined))["","a"]
Examples
Example1 expression
subsequences "abc"["","a","b","ab","c","ac","bc","abc"]

This function is productive on infinite inputs:

Example1 expression
take 8 $ subsequences ['a'..]["","a","b","ab","c","ac","bc","abc"]
valuetails :: [a] -> [[a]]
#

\mathcal{O}(n). The tails function returns all final segments of the argument, longest first.

Laziness

Note that tails has the following strictness property: tails _|_ = _|_ : _|_

Example1 expression
tails undefined[*** Exception: Prelude.undefined
Example1 expression
drop 1 (tails [undefined, 1, 2])[[1, 2], [2], []]
Examples
Example1 expression
tails "abc"["abc","bc","c",""]
Example1 expression
tails [1, 2, 3][[1,2,3],[2,3],[3],[]]
Example1 expression
tails [][[]]
valuetranspose :: [[a]] -> [[a]]
#

The transpose function transposes the rows and columns of its argument.

Laziness

transpose is lazy in its elements

Example1 expression
take 1 (transpose ['a' : undefined, 'b' : undefined])["ab"]
Examples
Example1 expression
transpose [[1,2,3],[4,5,6]][[1,4],[2,5],[3,6]]

If some of the rows are shorter than the following rows, their elements are skipped:

Example1 expression
transpose [[10,11],[20],[],[30,31,32]][[10,20,30],[11,31],[32]]

For this reason the outer list must be finite; otherwise transpose hangs:

Example1 expression
transpose (repeat [])* Hangs forever *
valueunfoldr :: (b -> Maybe (a, b)) -> b -> [a]
#

The unfoldr function is a `dual' to foldr: while foldr reduces a list to a summary value, unfoldr builds a list from a seed value. The function takes the element and returns Nothing if it is done producing the list or returns Just (a,b), in which case, a is a prepended to the list and b is used as the next element in a recursive call. For example,

iterate f == unfoldr (\x -> Just (x, f x))

In some cases, unfoldr can undo a foldr operation:

unfoldr f' (foldr f z xs) == xs

if the following holds:

f' (f x y) = Just (x,y)
f' z       = Nothing
Laziness
Example1 expression
take 1 (unfoldr (\x -> Just (x, undefined)) 'a')"a"
Examples
Example1 expression
unfoldr (\b -> if b == 0 then Nothing else Just (b, b-1)) 10[10,9,8,7,6,5,4,3,2,1]
Example1 expression
take 10 $ unfoldr (\(x, y) -> Just (x, (y, x + y))) (0, 1)[0,1,1,2,3,5,8,13,21,54]
valuecomparing :: Ord a => (b -> a) -> b -> b -> Ordering
#
comparing p x y = compare (p x) (p y)

Useful combinator for use in conjunction with the xxxBy family of functions from Data.List, for example:

  ... sortBy (comparing fst) ...
valuestimesIdempotent :: Integral b => b -> a -> a
#

This is a valid definition of stimes for an idempotent Semigroup.

When x <> x = x, this definition should be preferred, because it works in \mathcal{O}(1) rather than \mathcal{O}(\log n).

valuestimesIdempotentMonoid :: (Integral b, Monoid a) => b -> a -> a
#

This is a valid definition of stimes for an idempotent Monoid.

When x <> x = x, this definition should be preferred, because it works in \mathcal{O}(1) rather than \mathcal{O}(\log n)

valueforM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b)
#

forM is mapM with its arguments flipped. For a version that ignores the results see Data.Foldable.forM_.

valuemapAccumL :: Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b)
#

The mapAccumL function behaves like a combination of fmap and foldl; it applies a function to each element of a structure, passing an accumulating parameter from left to right, and returning a final value of this accumulator together with the new structure.

Examples

Basic usage:

Example1 expression
mapAccumL (\a b -> (a + b, a)) 0 [1..10](55,[0,1,3,6,10,15,21,28,36,45])
Example1 expression
mapAccumL (\a b -> (a <> show b, a)) "0" [1..5]("012345",["0","01","012","0123","01234"])
valuemapAccumR :: Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b)
#

The mapAccumR function behaves like a combination of fmap and foldr; it applies a function to each element of a structure, passing an accumulating parameter from right to left, and returning a final value of this accumulator together with the new structure.

Examples

Basic usage:

Example1 expression
mapAccumR (\a b -> (a + b, a)) 0 [1..10](55,[54,52,49,45,40,34,27,19,10,0])
Example1 expression
mapAccumR (\a b -> (a <> show b, a)) "0" [1..5]("054321",["05432","0543","054","05","0"])
valuecurry :: ((a, b) -> c) -> a -> b -> c
#

Convert an uncurried function to a curried function.

Examples
Example1 expression
curry fst 1 21
valuefst :: (a, b) -> a
#

Extract the first component of a pair.

valuesnd :: (a, b) -> b
#

Extract the second component of a pair.

valueswap :: (a, b) -> (b, a)
#

Swap the components of a pair.

valueuncurry :: (a -> b -> c) -> (a, b) -> c
#

uncurry converts a curried function to a function on pairs.

Examples
Example1 expression
uncurry (+) (1,2)3
Example1 expression
uncurry ($) (show, 1)"1"
Example1 expression
map (uncurry max) [(1,2), (3,4), (6,8)][2,4,8]
valuegetStackTrace :: IO (Maybe [Location])
#

Get a trace of the current execution stack state.

Returns Nothing if stack trace support isn't available on host machine.

valuesortWith :: Ord b => (a -> b) -> [a] -> [a]
#

The sortWith function sorts a list of elements using the user supplied function to project something out of each element

In general if the user supplied function is expensive to compute then you should probably be using sortOn, as it only needs to compute it once for each element. sortWith, on the other hand must compute the mapping function for every comparison that it performs.

valuewithFile
  1. :: FilePath

    The path to the file that should be opened

  2. -> IOMode

    The mode in which the file should be opened

  3. -> (Handle -> IO r)

    The action to run with the obtained handle

  4. -> IO r
#

The computation withFile path mode action opens the file and runs action with the obtained handle before closing the file.

Even when an exception is raised within the action, the file will still be closed. This is why withFile path mode act is preferable to

openFile path mode >>= (\hdl -> act hdl >>= System.IO.hClose hdl)

See also: System.IO.bracket

valuebreak :: (a -> Bool) -> [a] -> ([a], [a])
#

break, applied to a predicate p and a list xs, returns a tuple where first element is longest prefix (possibly empty) of xs of elements that do not satisfy p and second element is the remainder of the list:

break p is equivalent to span (not . p) and consequently to (takeWhile (not . p) xs, dropWhile (not . p) xs), even if p is _|_.

Laziness
Example1 expression
break undefined []([],[])
Example1 expression
fst (break (const True) undefined)*** Exception: Prelude.undefined
Example1 expression
fst (break (const True) (undefined : undefined))[]
Example1 expression
take 1 (fst (break (const False) (1 : undefined)))[1]

break produces the first component of the tuple lazily:

Example1 expression
take 10 (fst (break (const False) [1..]))[1,2,3,4,5,6,7,8,9,10]
Examples
Example1 expression
break (> 3) [1,2,3,4,1,2,3,4]([1,2,3],[4,1,2,3,4])
Example1 expression
break (< 9) [1,2,3]([],[1,2,3])
Example1 expression
break (> 9) [1,2,3]([1,2,3],[])
valuedrop :: Int -> [a] -> [a]
#

drop n xs returns the suffix of xs after the first n elements, or [] if n >= length xs.

It is an instance of the more general genericDrop, in which n may be of any integral type.

Examples
Example1 expression
drop 6 "Hello World!""World!"
Example1 expression
drop 3 [1,2,3,4,5][4,5]
Example1 expression
drop 3 [1,2][]
Example1 expression
drop 3 [][]
Example1 expression
drop (-1) [1,2][1,2]
Example1 expression
drop 0 [1,2][1,2]
valuedropWhile :: (a -> Bool) -> [a] -> [a]
#

dropWhile p xs returns the suffix remaining after takeWhile p xs.

Examples
Example1 expression
dropWhile (< 3) [1,2,3,4,5,1,2,3][3,4,5,1,2,3]
Example1 expression
dropWhile (< 9) [1,2,3][]
Example1 expression
dropWhile (< 0) [1,2,3][1,2,3]
valuefilter :: (a -> Bool) -> [a] -> [a]
#

\mathcal{O}(n). filter, applied to a predicate and a list, returns the list of those elements that satisfy the predicate; i.e.,

filter p xs = [ x | x <- xs, p x]
Examples
Example1 expression
filter odd [1, 2, 3][1,3]
Example1 expression
filter (\l -> length l > 3) ["Hello", ", ", "World", "!"]["Hello","World"]
Example1 expression
filter (/= 3) [1, 2, 3, 4, 3, 2, 1][1,2,4,2,1]
valueiterate :: (a -> a) -> a -> [a]
#

iterate f x returns an infinite list of repeated applications of f to x:

iterate f x == [x, f x, f (f x), ...]
Laziness

Note that iterate is lazy, potentially leading to thunk build-up if the consumer doesn't force each element. See iterate' for a strict variant of this function.

Example3 expressions
let xs = iterate (\x -> if x == 0 then undefined else x - 1) 2xs[2,1,0,*** Exception: Prelude.undefinedlength (take 10 xs)10

In xs every element following 0 is bottom, but the list itself is infinitely long because it is generated without forcing its elements.

Examples
Example1 expression
take 10 $ iterate not True[True,False,True,False,True,False,True,False,True,False]
Example1 expression
take 10 $ iterate (+3) 42[42,45,48,51,54,57,60,63,66,69]

iterate id == repeat:

Example1 expression
take 10 $ iterate id 1[1,1,1,1,1,1,1,1,1,1]
valuerepeat :: a -> [a]
#

repeat x is an infinite list, with x the value of every element.

Examples
Example1 expression
take 10 $ repeat 17[17,17,17,17,17,17,17,17,17, 17]
Example1 expression
repeat undefined[*** Exception: Prelude.undefined
valuereplicate :: Int -> a -> [a]
#

replicate n x is a list of length n with x the value of every element. It is an instance of the more general genericReplicate, in which n may be of any integral type.

Examples
Example1 expression
replicate 0 True[]
Example1 expression
replicate (-1) True[]
Example1 expression
replicate 4 True[True,True,True,True]
valuereverse :: [a] -> [a]
#

\mathcal{O}(n). reverse xs returns the elements of xs in reverse order. xs must be finite.

Laziness

reverse is lazy in its elements.

Example1 expression
head (reverse [undefined, 1])1
Example1 expression
reverse (1 : 2 : undefined)*** Exception: Prelude.undefined
Examples
Example1 expression
reverse [][]
Example1 expression
reverse [42][42]
Example1 expression
reverse [2,5,7][7,5,2]
Example1 expression
reverse [1..]* Hangs forever *
valuescanl :: (b -> a -> b) -> b -> [a] -> [b]
#

\mathcal{O}(n). scanl is similar to foldl, but returns a list of successive reduced values from the left:

scanl f z [x1, x2, ...] == [z, z `f` x1, (z `f` x1) `f` x2, ...]

Note that

last (scanl f z xs) == foldl f z xs
Examples
Example1 expression
scanl (+) 0 [1..4][0,1,3,6,10]
Example1 expression
scanl (+) 42 [][42]
Example1 expression
scanl (-) 100 [1..4][100,99,97,94,90]
Example1 expression
scanl (\reversedString nextChar -> nextChar : reversedString) "foo" ['a', 'b', 'c', 'd']["foo","afoo","bafoo","cbafoo","dcbafoo"]
Example1 expression
take 10 (scanl (+) 0 [1..])[0,1,3,6,10,15,21,28,36,45]
Example1 expression
take 1 (scanl undefined 'a' undefined)"a"
valuescanl' :: (b -> a -> b) -> b -> [a] -> [b]
#

\mathcal{O}(n). A strict version of scanl.

valuescanl1 :: (a -> a -> a) -> [a] -> [a]
#

\mathcal{O}(n). scanl1 is a variant of scanl that has no starting value argument:

scanl1 f [x1, x2, ...] == [x1, x1 `f` x2, ...]
Examples
Example1 expression
scanl1 (+) [1..4][1,3,6,10]
Example1 expression
scanl1 (+) [][]
Example1 expression
scanl1 (-) [1..4][1,-1,-4,-8]
Example1 expression
scanl1 (&&) [True, False, True, True][True,False,False,False]
Example1 expression
scanl1 (||) [False, False, True, True][False,False,True,True]
Example1 expression
take 10 (scanl1 (+) [1..])[1,3,6,10,15,21,28,36,45,55]
Example1 expression
take 1 (scanl1 undefined ('a' : undefined))"a"
valuescanr :: (a -> b -> b) -> b -> [a] -> [b]
#

\mathcal{O}(n). scanr is the right-to-left dual of scanl. Note that the order of parameters on the accumulating function are reversed compared to scanl. Also note that

head (scanr f z xs) == foldr f z xs.
Examples
Example1 expression
scanr (+) 0 [1..4][10,9,7,4,0]
Example1 expression
scanr (+) 42 [][42]
Example1 expression
scanr (-) 100 [1..4][98,-97,99,-96,100]
Example1 expression
scanr (\nextChar reversedString -> nextChar : reversedString) "foo" ['a', 'b', 'c', 'd']["abcdfoo","bcdfoo","cdfoo","dfoo","foo"]
Example1 expression
force $ scanr (+) 0 [1..]*** Exception: stack overflow
valuescanr1 :: (a -> a -> a) -> [a] -> [a]
#

\mathcal{O}(n). scanr1 is a variant of scanr that has no starting value argument.

Examples
Example1 expression
scanr1 (+) [1..4][10,9,7,4]
Example1 expression
scanr1 (+) [][]
Example1 expression
scanr1 (-) [1..4][-2,3,-1,4]
Example1 expression
scanr1 (&&) [True, False, True, True][False,False,True,True]
Example1 expression
scanr1 (||) [True, True, False, False][True,True,False,False]
Example1 expression
force $ scanr1 (+) [1..]*** Exception: stack overflow
valuespan :: (a -> Bool) -> [a] -> ([a], [a])
#

span, applied to a predicate p and a list xs, returns a tuple where first element is the longest prefix (possibly empty) of xs of elements that satisfy p and second element is the remainder of the list:

span p xs is equivalent to (takeWhile p xs, dropWhile p xs), even if p is _|_.

Laziness
Example4 expressions
span undefined []([],[])fst (span (const False) undefined)*** Exception: Prelude.undefinedfst (span (const False) (undefined : undefined))[]take 1 (fst (span (const True) (1 : undefined)))[1]

span produces the first component of the tuple lazily:

Example1 expression
take 10 (fst (span (const True) [1..]))[1,2,3,4,5,6,7,8,9,10]
Examples
Example1 expression
span (< 3) [1,2,3,4,1,2,3,4]([1,2],[3,4,1,2,3,4])
Example1 expression
span (< 9) [1,2,3]([1,2,3],[])
Example1 expression
span (< 0) [1,2,3]([],[1,2,3])
valuesplitAt :: Int -> [a] -> ([a], [a])
#

splitAt n xs returns a tuple where first element is xs prefix of length n and second element is the remainder of the list:

splitAt is an instance of the more general genericSplitAt, in which n may be of any integral type.

Laziness

It is equivalent to (take n xs, drop n xs) unless n is _|_: splitAt _|_ xs = _|_, not (_|_, _|_)).

The first component of the tuple is produced lazily:

Example1 expression
fst (splitAt 0 undefined)[]
Example1 expression
take 1 (fst (splitAt 10 (1 : undefined)))[1]
Examples
Example1 expression
splitAt 6 "Hello World!"("Hello ","World!")
Example1 expression
splitAt 3 [1,2,3,4,5]([1,2,3],[4,5])
Example1 expression
splitAt 1 [1,2,3]([1],[2,3])
Example1 expression
splitAt 3 [1,2,3]([1,2,3],[])
Example1 expression
splitAt 4 [1,2,3]([1,2,3],[])
Example1 expression
splitAt 0 [1,2,3]([],[1,2,3])
Example1 expression
splitAt (-1) [1,2,3]([],[1,2,3])
valuetake :: Int -> [a] -> [a]
#

take n, applied to a list xs, returns the prefix of xs of length n, or xs itself if n >= length xs.

It is an instance of the more general genericTake, in which n may be of any integral type.

Laziness
Example2 expressions
take 0 undefined[]take 2 (1 : 2 : undefined)[1,2]
Examples
Example1 expression
take 5 "Hello World!""Hello"
Example1 expression
take 3 [1,2,3,4,5][1,2,3]
Example1 expression
take 3 [1,2][1,2]
Example1 expression
take 3 [][]
Example1 expression
take (-1) [1,2][]
Example1 expression
take 0 [1,2][]
valuetakeWhile :: (a -> Bool) -> [a] -> [a]
#

takeWhile, applied to a predicate p and a list xs, returns the longest prefix (possibly empty) of xs of elements that satisfy p.

Laziness
Example1 expression
takeWhile (const False) undefined*** Exception: Prelude.undefined
Example1 expression
takeWhile (const False) (undefined : undefined)[]
Example1 expression
take 1 (takeWhile (const True) (1 : undefined))[1]
Examples
Example1 expression
takeWhile (< 3) [1,2,3,4,1,2,3,4][1,2]
Example1 expression
takeWhile (< 9) [1,2,3][1,2,3]
Example1 expression
takeWhile (< 0) [1,2,3][]
valueuncons :: [a] -> Maybe (a, [a])
#

\mathcal{O}(1). Decompose a list into its head and tail.

  • If the list is empty, returns Nothing.

  • If the list is non-empty, returns Just (x, xs), where x is the head of the list and xs its tail.

Examples
Example1 expression
uncons []Nothing
Example1 expression
uncons [1]Just (1,[])
Example1 expression
uncons [1, 2, 3]Just (1,[2,3])
valueunzip :: [(a, b)] -> ([a], [b])
#

unzip transforms a list of pairs into a list of first components and a list of second components.

Examples
Example1 expression
unzip []([],[])
Example1 expression
unzip [(1, 'a'), (2, 'b')]([1,2],"ab")
valueunzip3 :: [(a, b, c)] -> ([a], [b], [c])
#

The unzip3 function takes a list of triples and returns three lists of the respective components, analogous to unzip.

Examples
Example1 expression
unzip3 []([],[],[])
Example1 expression
unzip3 [(1, 'a', True), (2, 'b', False)]([1,2],"ab",[True,False])
valuezip :: [a] -> [b] -> [(a, b)]
#

\mathcal{O}(\min(m,n)). zip takes two lists and returns a list of corresponding pairs.

zip is right-lazy:

Example2 expressions
zip [] undefined[]zip undefined []*** Exception: Prelude.undefined...

zip is capable of list fusion, but it is restricted to its first list argument and its resulting list.

Examples
Example1 expression
zip [1, 2, 3] ['a', 'b', 'c'][(1,'a'),(2,'b'),(3,'c')]

If one input list is shorter than the other, excess elements of the longer list are discarded, even if one of the lists is infinite:

Example1 expression
zip [1] ['a', 'b'][(1,'a')]
Example1 expression
zip [1, 2] ['a'][(1,'a')]
Example1 expression
zip [] [1..][]
Example1 expression
zip [1..] [][]
valuezip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
#

zip3 takes three lists and returns a list of triples, analogous to zip. It is capable of list fusion, but it is restricted to its first list argument and its resulting list.

valuezipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
#

\mathcal{O}(\min(m,n)). zipWith generalises zip by zipping with the function given as the first argument, instead of a tupling function.

zipWith (,) xs ys == zip xs ys
zipWith f [x1,x2,x3..] [y1,y2,y3..] == [f x1 y1, f x2 y2, f x3 y3..]

zipWith is right-lazy:

Example2 expressions
let f = undefinedzipWith f [] undefined[]

zipWith is capable of list fusion, but it is restricted to its first list argument and its resulting list.

Examples

zipWith (+) can be applied to two lists to produce the list of corresponding sums:

Example1 expression
zipWith (+) [1, 2, 3] [4, 5, 6][5,7,9]
Example1 expression
zipWith (++) ["hello ", "foo"] ["world!", "bar"]["hello world!","foobar"]
valuesubtract :: Num a => a -> a -> a
#

the same as flip (-).

Because - is treated specially in the Haskell grammar, (- e) is not a section, but an application of prefix negation. However, (subtract exp) is equivalent to the disallowed section.

value(^) :: (Num a, Integral b) => a -> b -> a
#

raise a number to a non-negative integral power

valuedenominator :: Ratio a -> a
#

Extract the denominator of the ratio in reduced form: the numerator and denominator have no common factor and the denominator is positive.

valuefromIntegral :: (Integral a, Num b) => a -> b
#

General coercion from Integral types.

WARNING: This function performs silent truncation if the result type is not at least as big as the argument's type.

valuegcd :: Integral a => a -> a -> a
#

gcd x y is the non-negative factor of both x and y of which every common factor of x and y is also a factor; for example gcd 4 2 = 2, gcd (-4) 6 = 2, gcd 0 4 = 4. gcd 0 0 = 0. (That is, the common divisor that is "greatest" in the divisibility preordering.)

Note: Since for signed fixed-width integer types, abs minBound < 0, the result may be negative if one of the arguments is minBound (and necessarily is if the other is 0 or minBound) for such types.

valuelcm :: Integral a => a -> a -> a
#

lcm x y is the smallest positive integer that both x and y divide.

valuenumerator :: Ratio a -> a
#

Extract the numerator of the ratio in reduced form: the numerator and denominator have no common factor and the denominator is positive.

valuecatchSTM :: Exception e => STM a -> (e -> STM a) -> STM a
#

Exception handling within STM actions.

catchSTM m f catches any exception thrown by m using throwSTM, using the function f to handle the exception. If an exception is thrown, any changes made by m are rolled back, but changes prior to m persist.

valuethrowSTM :: (HasCallStack, Exception e) => e -> STM a
#

A variant of throw that can only be used within the STM monad.

Throwing an exception in STM aborts the transaction and propagates the exception. If the exception is caught via catchSTM, only the changes enclosed by the catch are rolled back; changes made outside of catchSTM persist.

If the exception is not caught inside of the STM, it is re-thrown by atomically, and the entire STM is rolled back.

Although throwSTM has a type that is an instance of the type of throw, the two functions are subtly different:

throw e    `seq` x  ===> throw e
throwSTM e `seq` x  ===> x

The first example will cause the exception e to be raised, whereas the second one won't. In fact, throwSTM will only cause an exception to be raised when it is used within the STM monad. The throwSTM variant should be used in preference to throw to raise an exception within the STM monad because it guarantees ordering with respect to other STM operations, whereas throw does not.

valuecurrentCallStack :: IO [String]
#

Returns a [String] representing the current call stack. This can be useful for debugging.

The implementation uses the call-stack simulation maintained by the profiler, so it only works if the program was compiled with -prof and contains suitable SCC annotations (e.g. by using -fprof-auto). Otherwise, the list returned is likely to be empty or uninformative.

valuereadMaybe :: Read a => String -> Maybe a
#

Parse a string using the Read instance. Succeeds if there is exactly one valid result.

Example1 expression
readMaybe "123" :: Maybe IntJust 123
Example1 expression
readMaybe "hello" :: Maybe IntNothing
valueasks
  1. :: MonadReader r m
  2. => (r -> a)

    The selector function to apply to the environment.

  3. -> m a
#

Retrieves a function of the current environment.

valuegets :: MonadState s m => (s -> a) -> m a
#

Gets specific component of the state, using a projection function supplied.

valuemodify :: MonadState s m => (s -> s) -> m ()
#

Monadic state transformer.

Maps an old state to a new state inside a state monad. The old state is thrown away.

     Main> :t modify ((+1) :: Int -> Int)
     modify (...) :: (MonadState Int a) => a ()

This says that modify (+1) acts over any Monad that is a member of the MonadState class, with an Int state.

valuemodify' :: MonadState s m => (s -> s) -> m ()
#

A variant of modify in which the computation is strict in the new state.

valueappliedTo :: Applicative f => f a -> f (a -> b) -> f b
#

Named version of the <**> operator, which is <*> but flipped. It is helpful for chaining applicative operations in forward applications using &.

Example3 expressions
Just (+ 1) & appliedTo (Just 2)Just 3Just (+) & appliedTo (Just 1) & appliedTo (Just 2)Just 3Nothing & appliedTo (Just 2)Nothing
value(&&^) :: Monad m => m Bool -> m Bool -> m Bool
#

Monadic version of (Data.Bool.&&) operator.

It is lazy by the second argument (similar to (Data.Bool.||)), meaning that if the first argument is False, the function will return False without evaluating the second argument.

Example5 expressions
Just False &&^ Just TrueJust FalseJust True &&^ Just TrueJust TrueJust True &&^ NothingNothingJust False &&^ NothingJust FalseJust False &&^ error "Shouldn't be evaluated"Just False
valueguardM :: MonadPlus m => m Bool -> m ()
#

Monadic version of guard that help to check that a condition (Bool) holds inside. Works with Monads that are also Alternative.

Example3 expressions
guardM (Just True)Just ()guardM (Just False)NothingguardM NothingNothing

Here some complex but real-life example:

findSomePath :: IO (Maybe FilePath)

somePath :: MaybeT IO FilePath
somePath = do
    path <- MaybeT findSomePath
    guardM $ liftIO $ doesDirectoryExist path
    return path
valueguarded :: Alternative f => (a -> Bool) -> a -> f a
#

Either lifts a value into an alternative context or gives a minimal value depending on a predicate. Works with Alternatives.

Example4 expressions
guarded even 3 :: [Int][]guarded even 2 :: [Int][2]guarded (const True) "hello" :: Maybe StringJust "hello"guarded (const False) "world" :: Maybe StringNothing

You can use this function to implement smart constructors simpler:

newtype HttpHost = HttpHost
    { unHttpHost :: Text
    }

mkHttpHost :: Text -> Maybe HttpHost
mkHttpHost host = HttpHost <$> guarded (not . Text.null) host
valueifM :: Monad m => m Bool -> m a -> m a -> m a
#

Monadic version of if-then-else.

Example2 expressions
ifM (pure True) (putTextLn "True text") (putTextLn "False text")True textifM (pure False) (putTextLn "True text") (putTextLn "False text")False text
valueunlessM :: Monad m => m Bool -> m () -> m ()
#

Monadic version of unless. Reverse of whenM. Conditionally don't execute the provided action.

Example2 expressions
unlessM (pure False) $ putTextLn "No text :("No text :(unlessM (pure True) $ putTextLn "Yes text :)"
valuewhenM :: Monad m => m Bool -> m () -> m ()
#

Monadic version of when. Conditionally executes the provided action.

Example5 expressions
whenM (pure False) $ putTextLn "No text :("whenM (pure True)  $ putTextLn "Yes text :)"Yes text :)whenM (Just True) (pure ())Just ()whenM (Just False) (pure ())Just ()whenM Nothing (pure ())Nothing
value(||^) :: Monad m => m Bool -> m Bool -> m Bool
#

Monadic version of (Data.Bool.||) operator.

It is lazy by the second argument (similar to (Data.Bool.||)), meaning that if the first argument is True, the function will return True without evaluating the second argument.

Example5 expressions
Just False ||^ Just TrueJust TrueJust False ||^ Just FalseJust FalseJust False ||^ NothingNothingJust True ||^ NothingJust TrueJust True ||^ error "Shouldn't be evaluated"Just True
valueerror :: (HasCallStack, IsText t) => t -> a
#

Throw pure errors. Use this function only to when you are sure that this branch of code execution is not possible. DO NOT USE error as a normal error handling mechanism.

⚠️CAUTION⚠️ Unlike Prelude version, error takes Text as an argument. In case it used by mistake, the user will see the following:

Example2 expressions
error ("oops" :: String)...... 'error' expects 'Text' but was given 'String'.      Possible fixes:          * Make sure OverloadedStrings extension is enabled          * Use 'error (toText msg)' instead of 'error msg'...error False...... 'error' works with 'Text'      But given: Bool...
valuetraceShow :: Show a => a -> b -> b
#

traceShow remains in code

Similar to trace but prints a given value with the Show instance instead of a String.

Example2 expressions
increment l = map (+1) lincrement [2, 3, 4][3,4,5]
Example2 expressions
increment l = traceShow l (map (+1) l)increment [2, 3, 4][2,3,4][3,4,5]
  • If you want to print a specific String instead, use trace

  • If you want to print and return the same value, use traceShowId

  • If you want to specify a custom printing function, use traceShowWith

valuetraceShowId :: Show a => a -> a
#

traceShowId remains in code

Similar to traceShow but prints the given value itself instead of a separate value.

Example1 expression
traceShowId (1+2+3, "hello" ++ "world")(6,"helloworld")(6,"helloworld")
valuetraceShowM :: (Show a, Applicative f) => a -> f ()
#

traceShowM remains in code

Like traceM, but uses show on the argument to convert it to a String.

Example1 expression
:{let action :: Maybe Int    action = do        x <- Just 3        traceShowM x        y <- pure 12        traceShowM y        pure (x*2 + y)in action:}312Just 18
valuetraceShowWith :: Show b => (a -> b) -> a -> a
#

'traceShowWith remains in code

Similar traceShowId, but uses a provided function to convert the argument to a value with the Show constraint.

Example1 expression
traceShowWith fst (1, "ABC")1(1,"ABC")

In other words, traceShowId ≡ traceShowWith id.

This function is useful for debugging values that do not have Show instance:

Example1 expression
fst $ traceShowWith fst (1, id)11
valueevaluateNF :: (NFData a, MonadIO m) => a -> m a
#

Alias for evaluateWHNF . force with a clearer name.

Example4 expressions
let list = [1..5] :: [Int]:sprint listlist = _() <$ evaluateNF list:sprint listlist = [1,2,3,4,5]
valueevaluateNF_ :: (NFData a, MonadIO m) => a -> m ()
#

Alias for evaluateWHNF . rnf. Similar to evaluateNF but discards the resulting value.

Example4 expressions
let list = [1..5] :: [Int]:sprint listlist = _evaluateNF_ list:sprint listlist = [1,2,3,4,5]
valueevaluateWHNF :: MonadIO m => a -> m a
#

Lifted alias for evaluate with a clearer name.

Example4 expressions
let list = [1..5] :: [Int]:sprint listlist = _() <$ evaluateWHNF list:sprint listlist = 1 : _
valueevaluateWHNF_ :: MonadIO m => a -> m ()
#

Like evaluateWHNF but discards value.

Example4 expressions
let list = [1..5] :: [Int]:sprint listlist = _evaluateWHNF_ list:sprint listlist = 1 : _
valueinverseMap :: (Bounded a, Enum a, Ord k) => (a -> k) -> k -> Maybe a
#

inverseMap f creates a function that is the inverse of a given function f. It does so by constructing Map internally for each value f a. The implementation makes sure that the Map is constructed only once and then shared for every call.

Memory usage note: don't inverse functions that have types like Int as their input. In this case the created Map will have huge size.

The complexity of reversed mapping is \mathcal{O}(\log n).

Performance note: make sure to specialize monomorphic type of your functions that use inverseMap to avoid Map reconstruction.

One of the common inverseMap use-case is inverting the show or a show-like function.

Example4 expressions
data Color = Red | Green | Blue deriving (Show, Enum, Bounded)parse = inverseMap show :: String -> Maybe Colorparse "Red"Just Redparse "Black"Nothing

Correctness note: inverseMap expects injective function as its argument, i.e. the function must map distinct arguments to distinct values.

Typical usage of this function looks like this:

data GhcVer
    = Ghc802
    | Ghc822
    | Ghc844
    | Ghc865
    | Ghc881
    deriving (Eq, Ord, Show, Enum, Bounded)

showGhcVer :: GhcVer -> Text
showGhcVer = \case
    Ghc802 -> "8.0.2"
    Ghc822 -> "8.2.2"
    Ghc844 -> "8.4.4"
    Ghc865 -> "8.6.5"
    Ghc881 -> "8.8.1"

parseGhcVer :: Text -> Maybe GhcVer
parseGhcVer = inverseMap showGhcVer
valueuniverse :: (Bounded a, Enum a) => [a]
#

Returns all values of some Bounded Enum in ascending order.

Example1 expression
universe :: [Bool][False,True]
Example1 expression
universe @Ordering[LT,EQ,GT]
Example2 expressions
data TrafficLight = Red | Blue | Green deriving (Show, Enum, Bounded)universe :: [TrafficLight][Red,Blue,Green]
Example2 expressions
data Singleton = Singleton deriving (Show, Enum, Bounded)universe @Singleton[Singleton]
valueuniverseNonEmpty :: (Bounded a, Enum a) => NonEmpty a
#

Like universe, but returns NonEmpty list of some enumeration

Example1 expression
universeNonEmpty :: NonEmpty BoolFalse :| [True]
Example1 expression
universeNonEmpty @OrderingLT :| [EQ,GT]
Example2 expressions
data TrafficLight = Red | Blue | Green deriving (Show, Eq, Enum, Bounded)universeNonEmpty :: NonEmpty TrafficLightRed :| [Blue,Green]
Example2 expressions
data Singleton = Singleton deriving (Show, Eq, Enum, Bounded)universeNonEmpty @SingletonSingleton :| []
patternpattern Exc :: Exception e => e -> SomeException
#

Pattern synonym to easy pattern matching on exceptions. So instead of writing something like this:

isNonCriticalExc :: SomeException -> Bool
isNonCriticalExc e
    | Just (_ :: NodeAttackedError) <- fromException e = True
    | Just DialogUnexpected{} <- fromException e = True
    | otherwise = False

you can use Exc pattern synonym:

isNonCriticalExc :: SomeException -> Bool
isNonCriticalExc = case
    Exc (_ :: NodeAttackedError) -> True  -- matching all exceptions of type NodeAttackedError
    Exc DialogUnexpected{} -> True
    _ -> False

This pattern is bidirectional. You can use Exc e instead of toException e.

valuebug :: (HasCallStack, Exception e) => e -> a
#

Generate a pure value which, when forced, will synchronously throw the exception wrapped into Bug data type.

valueallM :: (Foldable f, Monad m) => (a -> m Bool) -> f a -> m Bool
#

Monadic version of all.

Example3 expressions
allM (readMaybe >=> pure . even) ["6", "10"]Just TrueallM (readMaybe >=> pure . even) ["5", "aba"]Just FalseallM (readMaybe >=> pure . even) ["aba", "10"]Nothing
valueandM :: (Foldable f, Monad m) => f (m Bool) -> m Bool
#

Monadic version of and.

Example5 expressions
andM [Just True, Just False]Just FalseandM [Just True]Just TrueandM [Just True, Just False, Nothing]Just FalseandM [Just True, Nothing]NothingandM [putTextLn "1" >> pure True, putTextLn "2" >> pure False, putTextLn "3" >> pure True]12False
valueanyM :: (Foldable f, Monad m) => (a -> m Bool) -> f a -> m Bool
#

Monadic version of any.

Example3 expressions
anyM (readMaybe >=> pure . even) ["5", "10"]Just TrueanyM (readMaybe >=> pure . even) ["10", "aba"]Just TrueanyM (readMaybe >=> pure . even) ["aba", "10"]Nothing
valueasumMap :: (Foldable f, Alternative m) => (a -> m b) -> f a -> m b
#

Alternative version of asum that takes a function to map over.

Example1 expression
asumMap (\x -> if x > 2 then Just x else Nothing) [1..4]Just 3
valueelem :: (Foldable f, DisallowElem f, Eq a) => a -> f a -> Bool
#

Like elem but doesn't work on Set and HashSet for performance reasons.

Example2 expressions
elem 'x' ("abc" :: String)Falseelem False (one True :: Set Bool)...... Do not use 'elem' and 'notElem' methods from 'Foldable' on Set      Suggestions:          Instead of              elem :: (Foldable t, Eq a) => a -> t a -> Bool          use              member :: Ord a => a -> Set a -> Bool...          Instead of              notElem :: (Foldable t, Eq a) => a -> t a -> Bool          use              not . member...
valueflipfoldl' :: Foldable f => (a -> b -> b) -> b -> f a -> b
#

Similar to foldl' but takes a function with its arguments flipped.

Example1 expression
flipfoldl' (/) 5 [2,3] :: Rational15 % 2

This function can be useful for constructing containers from lists.

valuefoldMapA
  1. :: (Semigroup b, Monoid b, Applicative m, Foldable f)
  2. => a -> m b
  3. -> f a
  4. -> m b
#

Polymorphic version of the concatMapA function.

Example1 expression
foldMapA @[Int] (Just . replicate 3) [1..3]Just [1,1,1,2,2,2,3,3,3]
valuefoldMapM :: (Monoid b, Monad m, Foldable f) => (a -> m b) -> f a -> m b
#

Polymorphic version of the concatMapM function.

Example1 expression
foldMapM @[Int] (Just . replicate 3) [1..3]Just [1,1,1,2,2,2,3,3,3]
valuenotElem :: (Foldable f, DisallowElem f, Eq a) => a -> f a -> Bool
#

Like notElem but doesn't work on Set and HashSet for performance reasons.

Example2 expressions
notElem 'x' ("abc" :: String)TruenotElem False (one True :: Set Bool)...... Do not use 'elem' and 'notElem' methods from 'Foldable' on Set      Suggestions:          Instead of              elem :: (Foldable t, Eq a) => a -> t a -> Bool          use              member :: Ord a => a -> Set a -> Bool...          Instead of              notElem :: (Foldable t, Eq a) => a -> t a -> Bool          use              not . member...
valueorM :: (Foldable f, Monad m) => f (m Bool) -> m Bool
#

Monadic version of or.

Example3 expressions
orM [Just True, Just False]Just TrueorM [Just True, Nothing]Just TrueorM [Nothing, Just True]Nothing
valuesum :: (Foldable f, Num a) => f a -> a
#

Stricter version of sum.

Example1 expression
sum [1..10]55
valueidentity :: a -> a
#

Renamed version of Prelude.id.

Example1 expression
identity 1010
Example1 expression
fmap identity [1,2,3][1,2,3]
value(<<$>>) :: (Functor f, Functor g) => (a -> b) -> f (g a) -> f (g b)
#

Alias for fmap . fmap. Convenient to work with two nested Functors.

Example1 expression
negate <<$>> Just [1,2,3]Just [-1,-2,-3]
value(??) :: Functor f => f (a -> b) -> a -> f b
#

Operator version of the flap function.

Example1 expression
[(+2), (*3)] ?? 5[7,15]
Example1 expression
Just (+3) ?? 5Just 8
valueflap :: Functor f => f (a -> b) -> a -> f b
#

Takes a function in a Functor context and applies it to a normal value.

Example1 expression
flap (++) "relude" "P""Prelude"
valuedie :: MonadIO m => String -> m a
#

Lifted version of die.

Example1 expression
die "Goodbye!"Goodbye!*** Exception: ExitFailure 1
valueexitWith :: MonadIO m => ExitCode -> m a
#

Lifted version of exitWith.

Example1 expression
exitWith (ExitFailure 3)*** Exception: ExitFailure 3
Example1 expression
exitWith ExitSuccess*** Exception: ExitSuccess
valueatomicModifyIORef'_ :: MonadIO m => IORef a -> (a -> a) -> m ()
#

Version of atomicModifyIORef' that discards return value. Useful when you want to update IORef but not interested in the returning result.

Example3 expressions
ref <- newIORef 42atomicModifyIORef'_ ref (`div` 2)readIORef ref21
valueatomicModifyIORef_ :: MonadIO m => IORef a -> (a -> a) -> m ()
#

Version of atomicModifyIORef that discards return value. Useful when you want to update IORef but not interested in the returning result.

Example3 expressions
ref <- newIORef 42atomicModifyIORef_ ref (`div` 2)readIORef ref21
valuenewIORef :: MonadIO m => a -> m (IORef a)
#

Lifted version of newIORef.

Example2 expressions
ref <- newIORef False:t refref :: IORef Bool
valuewriteIORef :: MonadIO m => IORef a -> a -> m ()
#

Lifted version of writeIORef.

Example3 expressions
ref <- newIORef 42writeIORef ref 43readIORef ref43
value(!!?) :: [a] -> Int -> Maybe a
#

Safer version of !!, returns a Maybe.

Get element from list using index value starting from `0`.

Example1 expression
[] !!? 0Nothing
Example1 expression
["a", "b", "c"] !!? 3Nothing
Example1 expression
[1, 2, 3] !!? (-1)Nothing
Example1 expression
["a", "b", "c"] !!? 2Just "c"
valuemaybeAt :: Int -> [a] -> Maybe a
#

!!? with its arguments flipped.

Get element from list using index value starting from `0`.

Example1 expression
maybeAt 0 []Nothing
Example1 expression
maybeAt 3 ["a", "b", "c"]Nothing
Example1 expression
maybeAt (-1) [1, 2, 3]Nothing
Example1 expression
maybeAt 2 ["a", "b", "c"]Just "c"
valuepartitionWith :: (a -> Either b c) -> [a] -> ([b], [c])
#

Partitions a list based on the result of function which produces an Either value. List of all elements producing Left are extracted, in order, to the first element of the output tuple. Similarly, a list of all elements producing Right are extracted to the second element of output.

Example1 expression
:{ divideEvenOrShow :: Int -> Either Int String divideEvenOrShow n     | even n = Left $ n `div` 2     | otherwise = Right $ "Odd: " <> show n :}
Example1 expression
partitionWith divideEvenOrShow [1 .. 6]([1,2,3],["Odd: 1","Odd: 3","Odd: 5"])
valuehead :: IsNonEmpty f a a "head" => f a -> a
#

O(1). Extracts the first element of a NonEmpty list.

Actual type of this function is the following:

head :: NonEmpty a -> a

but it was given a more complex type to provide friendlier compile time errors.

Example3 expressions
head ('a' :| "bcde")'a'head [0..5 :: Int]...... 'head' works with 'NonEmpty', not ordinary lists.      Possible fix:          Replace: [Int]          With:    NonEmpty Int...      However, you can use 'head' with the ordinary lists.      Apply 'viaNonEmpty' function from relude:          viaNonEmpty head (yourList)      Note, that this will return 'Maybe Int'      therefore it is a safe function unlike 'head' from the standard Prelude...head (Just 'a')...... 'head' works with 'NonEmpty Char' lists      But given: Maybe Char...
valueinit :: IsNonEmpty f a [a] "init" => f a -> [a]
#

O(n). Return all the elements of a NonEmpty list except the last one element.

Actual type of this function is the following:

init :: NonEmpty a -> [a]

but it was given a more complex type to provide friendlier compile time errors.

Example3 expressions
init ('a' :| "bcde")"abcd"init [0..5 :: Int]...... 'init' works with 'NonEmpty', not ordinary lists.      Possible fix:          Replace: [Int]          With:    NonEmpty Int...      However, you can use 'init' with the ordinary lists.      Apply 'viaNonEmpty' function from relude:          viaNonEmpty init (yourList)      Note, that this will return 'Maybe [Int]'      therefore it is a safe function unlike 'init' from the standard Prelude...init (Just 'a')...... 'init' works with 'NonEmpty Char' lists      But given: Maybe Char...
valuelast :: IsNonEmpty f a a "last" => f a -> a
#

O(n). Extracts the last element of a NonEmpty list.

Actual type of this function is the following:

last :: NonEmpty a -> a

but it was given a more complex type to provide friendlier compile time errors.

Example3 expressions
last ('a' :| "bcde")'e'last [0..5 :: Int]...... 'last' works with 'NonEmpty', not ordinary lists.      Possible fix:          Replace: [Int]          With:    NonEmpty Int...      However, you can use 'last' with the ordinary lists.      Apply 'viaNonEmpty' function from relude:          viaNonEmpty last (yourList)      Note, that this will return 'Maybe Int'      therefore it is a safe function unlike 'last' from the standard Prelude...last (Just 'a')...... 'last' works with 'NonEmpty Char' lists      But given: Maybe Char...
valuetail :: IsNonEmpty f a [a] "tail" => f a -> [a]
#

O(1). Return all the elements of a NonEmpty list after the head element.

Actual type of this function is the following:

tail :: NonEmpty a -> [a]

but it was given a more complex type to provide friendlier compile time errors.

Example3 expressions
tail ('a' :| "bcde")"bcde"tail [0..5 :: Int]...... 'tail' works with 'NonEmpty', not ordinary lists.      Possible fix:          Replace: [Int]          With:    NonEmpty Int...      However, you can use 'tail' with the ordinary lists.      Apply 'viaNonEmpty' function from relude:          viaNonEmpty tail (yourList)      Note, that this will return 'Maybe [Int]'      therefore it is a safe function unlike 'tail' from the standard Prelude...tail (Just 'a')...... 'tail' works with 'NonEmpty Char' lists      But given: Maybe Char...
valueviaNonEmpty :: (NonEmpty a -> b) -> [a] -> Maybe b
#

For safe work with lists using functions for NonEmpty.

Example2 expressions
viaNonEmpty head [1]Just 1viaNonEmpty head []Nothing
valuewhenNotNull :: Applicative f => [a] -> (NonEmpty a -> f ()) -> f ()
#

Performs given action over NonEmpty list if given list is non empty.

Example2 expressions
whenNotNull [] $ \(b :| _) -> print (not b)whenNotNull [False,True] $ \(b :| _) -> print (not b)True
valuecycle :: [a] -> [a]
#

Creates an infinite list from a finite list by appending the list to itself infinite times (i.e. by cycling the list). Unlike cycle from Data.List, this implementation doesn't throw error on empty lists, but returns an empty list instead.

Example2 expressions
cycle [][]take 10 $ cycle [1,2,3][1,2,3,1,2,3,1,2,3,1]
valuechainedTo :: Monad m => (a -> m b) -> m a -> m b
#

For chaining monadic operations in forward applications using (&) Named version of =<<.

Example2 expressions
Just [ 1 :: Int ] & chainedTo (viaNonEmpty head)Just 1Nothing & chainedTo (viaNonEmpty head)Nothing
valueinfinitely :: Applicative f => f a -> f Void
#

Repeat a monadic action indefinitely.

This is a more type safe version of forever, which has a convenient but unsafe type.

Consider the following two examples. In the getIntForever functions, it falsely expects Int as the result of the forever function. But it would need to wait *forever* to get that, and this mistake won't be caught by the type system and compiler:

getIntForever :: IO Int
getIntForever = do
    i <- forever $ do ...
    pure i

In contrast, using infinitely instead of forever in foo is a type error.

valueleftToMaybe :: Either l r -> Maybe l
#

Maps left part of Either to Maybe.

Example2 expressions
leftToMaybe (Left True)Just TrueleftToMaybe (Right "aba")Nothing
valuemaybeToLeft :: r -> Maybe l -> Either l r
#

Maps Maybe to Either wrapping default value into Right.

Example2 expressions
maybeToLeft True (Just "aba")Left "aba"maybeToLeft True NothingRight True
valuemaybeToRight :: l -> Maybe r -> Either l r
#

Maps Maybe to Either wrapping default value into Left.

Example2 expressions
maybeToRight True (Just "aba")Right "aba"maybeToRight True NothingLeft True
valuerightToMaybe :: Either l r -> Maybe r
#

Maps right part of Either to Maybe.

Example2 expressions
rightToMaybe (Left True)NothingrightToMaybe (Right "aba")Just "aba"
valuewhenLeft :: Applicative f => a -> Either l r -> (l -> f a) -> f a
#

Applies given action to Either content if Left is given and returns the result. In case of Right the default value will be returned.

Example1 expression
whenLeft "bar" (Left 42) (\a -> "success!" <$ print a)42"success!"
Example1 expression
whenLeft "bar" (Right 42) (\a -> "success!" <$ print a)"bar"
valuewhenLeftM :: Monad m => a -> m (Either l r) -> (l -> m a) -> m a
#

Monadic version of whenLeft.

Example1 expression
whenLeftM "bar" (pure $ Left 42) (\a -> "success!" <$ print a)42"success!"
Example1 expression
whenLeftM "bar" (pure $ Right 42) (\a -> "success!" <$ print a)"bar"
valuewhenLeftM_ :: Monad m => m (Either l r) -> (l -> m ()) -> m ()
#

Monadic version of whenLeft_.

Example2 expressions
whenLeftM_ (pure $ Right 42) putTextLnwhenLeftM_ (pure $ Left "foo") putTextLnfoo
valuewhenLeft_ :: Applicative f => Either l r -> (l -> f ()) -> f ()
#

Applies given action to Either content if Left is given.

Example2 expressions
whenLeft_ (Right 42) putTextLnwhenLeft_ (Left "foo") putTextLnfoo
valuewhenRight :: Applicative f => a -> Either l r -> (r -> f a) -> f a
#

Applies given action to Either content if Right is given and returns the result. In case of Left the default value will be returned.

Example1 expression
whenRight "bar" (Left "foo") (\a -> "success!" <$ print a)"bar"
Example1 expression
whenRight "bar" (Right 42) (\a -> "success!" <$ print a)42"success!"
valuewhenRightM :: Monad m => a -> m (Either l r) -> (r -> m a) -> m a
#

Monadic version of whenRight.

Example1 expression
whenRightM "bar" (pure $ Left "foo") (\a -> "success!" <$ print a)"bar"
Example1 expression
whenRightM "bar" (pure $ Right 42) (\a -> "success!" <$ print a)42"success!"
valuewhenRightM_ :: Monad m => m (Either l r) -> (r -> m ()) -> m ()
#

Monadic version of whenRight_.

Example2 expressions
whenRightM_ (pure $ Left "foo") printwhenRightM_ (pure $ Right 42) print42
valuewhenRight_ :: Applicative f => Either l r -> (r -> f ()) -> f ()
#

Applies given action to Either content if Right is given.

Example2 expressions
whenRight_ (Left "foo") printwhenRight_ (Right 42) print42
value(?:) :: Maybe a -> a -> a
#

Similar to fromMaybe but with flipped arguments.

Example1 expression
readMaybe "True" ?: FalseTrue
Example1 expression
readMaybe "Tru" ?: FalseFalse
valuemapMaybeM :: Monad m => (a -> m (Maybe b)) -> [a] -> m [b]
#

The monadic version of the mapMaybe function.

Example1 expression
:{evenInHalf :: Int -> IO (Maybe Int)evenInHalf n    | even n = pure $ Just $ n `div` 2    | otherwise = pure Nothing:}
Example1 expression
mapMaybeM evenInHalf [1..10][1,2,3,4,5]
valuewhenJustM :: Monad m => m (Maybe a) -> (a -> m ()) -> m ()
#

Monadic version of whenJust.

Example2 expressions
whenJustM (pure Nothing) $ \b -> print (not b)whenJustM (pure $ Just True) $ \b -> print (not b)False
valuewhenNothingM :: Monad m => m (Maybe a) -> m a -> m a
#

Monadic version of whenNothing.

Example2 expressions
whenNothingM (pure $ Just True) $ True <$ putTextLn "Is Just!"TruewhenNothingM (pure Nothing) $ False <$ putTextLn "Is Nothing!"Is Nothing!False
valuewhenNothingM_ :: Monad m => m (Maybe a) -> m () -> m ()
#

Monadic version of whenNothing_.

Example2 expressions
whenNothingM_ (pure $ Just True) $ putTextLn "Is Just!"whenNothingM_ (pure Nothing) $ putTextLn "Is Nothing!"Is Nothing!
valuewhenNothing_ :: Applicative f => Maybe a -> f () -> f ()
#

Performs default Applicative action if Nothing is given. Do nothing for Just. Convenient for discarding Just content.

Example2 expressions
whenNothing_ Nothing $ putTextLn "Nothing!"Nothing!whenNothing_ (Just True) $ putTextLn "Nothing!"
valueetaReaderT :: ReaderT r m a -> ReaderT r m a
#

This function helps with optimizing performance when working with the ReaderT transformer. If you have code like below, that is called in a loop

step :: Instruction -> ReaderT Config IO Result
step instruction = case instruction of
    Add -> do stuff ...
    Del -> do stuff ...

you can improve performance of your Haskell applications by using etaReaderT in the following way:

step :: Instruction -> ReaderT Config IO Result
step instruction = etaReaderT $ case instruction of
    Add -> do stuff ...
    Del -> do stuff ...

For a detailed explanation, refer to the following blog post:

valueevaluatingState :: s -> State s a -> a
#

Alias for flip evalState. It's not shorter but sometimes more readable. Done by analogy with using* functions family.

valueevaluatingStateT :: Functor f => s -> StateT s f a -> f a
#

Alias for flip evalStateT. It's not shorter but sometimes more readable. Done by analogy with using* functions family.

valueexecutingState :: s -> State s a -> s
#

Alias for flip execState. It's not shorter but sometimes more readable. Done by analogy with using* functions family.

valueexecutingStateT :: Functor f => s -> StateT s f a -> f s
#

Alias for flip execStateT. It's not shorter but sometimes more readable. Done by analogy with using* functions family.

valueusingReader :: r -> Reader r a -> a
#

Shorter and more readable alias for flip runReader.

Example1 expression
usingReader 42 $ asks (+5)47
valueusingReaderT :: r -> ReaderT r m a -> m a
#

Shorter and more readable alias for flip runReaderT.

Example1 expression
usingReaderT 42 $ asks (+5)47
valueusingState :: s -> State s a -> (a, s)
#

Shorter and more readable alias for flip runState.

valueusingStateT :: s -> StateT s m a -> m (a, s)
#

Shorter and more readable alias for flip runStateT.

Example1 expression
usingStateT 0 $ put 42 >> pure False(False,42)
valuememptyIfFalse :: Monoid m => Bool -> m -> m
#

Returns the given value in case of the given predicate is satisfied (is True). Otherwise, it returns mempty.

Example2 expressions
memptyIfFalse True (Just "Hello")Just "Hello"memptyIfFalse False "Doesn't matter"""
valuememptyIfTrue :: Monoid m => Bool -> m -> m
#

Returns the given value in case of the given predicate is unsatisfied (is False). Otherwise, it returns mempty.

Example2 expressions
memptyIfTrue True (Just "Hello")NothingmemptyIfTrue False "Does matter""Does matter"
valuehashNub :: Hashable a => [a] -> [a]
#

Like Prelude.nub but runs in O(n \log_{16} n) time and requires Hashable.

Example1 expression
hashNub [3, 3, 3, 2, 2, -1, 1][3,2,-1,1]
valueintNub :: [Int] -> [Int]
#

Removes duplicate elements from a list, keeping only the first occurance of the element.

Like Prelude.nub but runs in O (n \min (n, int\_bits )) time and requires Ord.

Example1 expression
intNub [3, 3, 3, 2, 2, -1, 1][3,2,-1,1]
valueintNubOn :: (a -> Int) -> [a] -> [a]
#

Similar to intNub but works on lists of any types by performing "nubbing" through Ints.

Example1 expression
intNubOn fromEnum "ababbbcdaffee""abcdfe"
valueordNub :: Ord a => [a] -> [a]
#

Removes duplicate elements from a list, keeping only the first occurrence of the element.

Like Prelude.nub but runs in O(n \log n) time and requires Ord.

Example1 expression
ordNub [3, 3, 3, 2, 2, -1, 1][3,2,-1,1]
valueordNubOn :: Ord b => (a -> b) -> [a] -> [a]
#

Similar to ordNub but performs nub through the mapped list on the given function.

Example1 expression
ordNubOn (`div` 10) [3, 3, 3, 13, 2, 22, -1, 1, 66][3,13,22,-1,66]
valuesortNub :: Ord a => [a] -> [a]
#

Like ordNub runs in O(n \log n) but also sorts a list.

Example1 expression
sortNub [3, 3, 3, 2, 2, -1, 1][-1,1,2,3]
valueunstableNub :: Hashable a => [a] -> [a]
#

Like hashNub runs in O(n \log_{16} n) but has better performance; it doesn't save the order.

Example1 expression
unstableNub [3, 3, 3, 2, 2, -1, 1][1,2,3,-1]
valueintegerToBounded :: (Integral a, Bounded a) => Integer -> Maybe a
#

Transforms an integer number to a bounded integral. It returns Nothing for integers outside the bound of the return type.

Example1 expression
integerToBounded @Int 42Just 42
Example1 expression
integerToBounded @Int8 1024Nothing
Example2 expressions
integerToBounded @Int (toInteger (minBound :: Int))Just (-9223372036854775808)integerToBounded @Int $ (toInteger (minBound :: Int)) - 1Nothing
Example2 expressions
integerToBounded @Int (toInteger (maxBound :: Int))Just 9223372036854775807integerToBounded @Int $ (toInteger (maxBound :: Int)) + 1Nothing

If you want to convert Int or Word to a bounded type, take a look at toIntegralSized function instead.

Transforms an integer number to a natural. Only non-negative integers are considered natural, everything else will return Nothing.

Example1 expression
integerToNatural (-1)Nothing
Example1 expression
integerToNatural 0Just 0
Example1 expression
integerToNatural 10Just 10
valueputBS :: MonadIO m => ByteString -> m ()
#

Lifted version of putStr.

Example1 expression
putBS ("Hello, world!" :: ByteString)Hello, world!
valueputText :: MonadIO m => Text -> m ()
#

Lifted version of putStr.

Example1 expression
putText "Hello, world!"Hello, world!
valuereadEither :: Read a => String -> Either Text a
#

Version of readEither that returns Text in case of the parse error.

Example2 expressions
readEither @Int "123"Right 123readEither @Int "aa"Left "Prelude.read: no parse"
valueshow :: (Show a, IsString b) => a -> b
#

Generalized version of show. Unlike show this function is polymorphic in its result type. This makes it more convenient to work with data types like Text or ByteString. However, if you pass the result of show to a function that expects polymorphic argument, this can break type inference, so use -XTypeApplications to specify the textual type explicitly.

Example3 expressions
show (42 :: Int)"42"show (42 :: Double)"42.0"print (show @Text True)"True"
valuelines :: IsText t "lines" => t -> [t]
#

lines takes Text and splits it into the list by lines.

Actual type of this function is the following:

lines :: Text -> [Text]

but it was given a more complex type to provide friendlier compile time errors.

Example5 expressions
lines ""[]lines "one line"["one line"]lines "line 1\nline 2"["line 1","line 2"]lines ("string line" :: String)...... 'lines' works with 'Text', not 'String'.      Possible fixes:          1. Make sure OverloadedStrings extension is enabled.          2. Apply 'toText' to a single value.          3. Apply 'map toText' to the list value....lines True...... 'lines' works with 'Text'      But given: 'Bool'...
valueunlines :: IsText t "unlines" => [t] -> t
#

unlines takes list of Text values and joins them with line separator.

Actual type of this function is the following:

unlines :: [Text] -> Text

but it was given a more complex type to provide friendlier compile time errors.

Example5 expressions
unlines []""unlines ["line 1"]"line 1\n"unlines ["first line", "second line"]"first line\nsecond line\n"unlines (["line 1", "line 2"] :: [String])...... 'unlines' works with 'Text', not 'String'.      Possible fixes:          1. Make sure OverloadedStrings extension is enabled.          2. Apply 'toText' to a single value.          3. Apply 'map toText' to the list value....unlines [True, False]...... 'unlines' works with 'Text'      But given: 'Bool'...
valueunwords :: IsText t "unwords" => [t] -> t
#

unwords takes list of Text values and joins them with space character.

Actual type of this function is the following:

unwords :: [Text] -> Text

but it was given a more complex type to provide friendlier compile time errors.

Example5 expressions
unwords []""unwords ["singleWord"]"singleWord"unwords ["word", "another"]"word another"unwords (["word", "another"] :: [String])...... 'unwords' works with 'Text', not 'String'.      Possible fixes:          1. Make sure OverloadedStrings extension is enabled.          2. Apply 'toText' to a single value.          3. Apply 'map toText' to the list value....unwords [True, False]...... 'unwords' works with 'Text'      But given: 'Bool'...
valuewords :: IsText t "words" => t -> [t]
#

words takes Text and splits it into the list by words.

Actual type of this function is the following:

words :: Text -> [Text]

but it was given a more complex type to provide friendlier compile time errors.

Example5 expressions
words ""[]words "one line"["one","line"]words "   >_<   "[">_<"]words ("string words" :: String)...... 'words' works with 'Text', not 'String'.      Possible fixes:          1. Make sure OverloadedStrings extension is enabled.          2. Apply 'toText' to a single value.          3. Apply 'map toText' to the list value....words True...... 'words' works with 'Text'      But given: 'Bool'...
valuerunReader
  1. :: Reader r a

    A Reader to run.

  2. -> r

    An initial environment.

  3. -> a
#

Runs a Reader and extracts the final value from it. (The inverse of reader.)

valueevalState
  1. :: State s a

    state-passing computation to execute

  2. -> s

    initial value

  3. -> a

    return value of the state computation

#

Evaluate a state computation with the given initial state and return the final value, discarding the final state.

valueexecState
  1. :: State s a

    state-passing computation to execute

  2. -> s

    initial value

  3. -> s

    final state

#

Evaluate a state computation with the given initial state and return the final state, discarding the final value.

valuerunState
  1. :: State s a

    state-passing computation to execute

  2. -> s

    initial state

  3. -> (a, s)

    return value and final state

#

Unwrap a state monad computation as a function. (The inverse of state.)

valuecoerce :: Coercible a b => a -> b
#

The function coerce allows you to safely convert between values of types that have the same representation with no run-time overhead. In the simplest case you can use it instead of a newtype constructor, to go from the newtype's concrete type to the abstract type. But it also works in more complicated settings, e.g. converting a list of newtypes to a list of concrete types.

When used in conversions involving a newtype wrapper, make sure the newtype constructor is in scope.

This function is representation-polymorphic, but the RuntimeRep type argument is marked as Inferred, meaning that it is not available for visible type application. This means the typechecker will accept coerce @Int @Age 42.

Examples
Example5 expressions
newtype TTL = TTL Int deriving (Eq, Ord, Show)newtype Age = Age Int deriving (Eq, Ord, Show)coerce (Age 42) :: TTLTTL 42coerce (+ (1 :: Int)) (Age 42) :: TTLTTL 43coerce (map (+ (1 :: Int))) [Age 42, Age 24] :: [TTL][TTL 43,TTL 25]
valueseq :: a -> b -> b
#

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.

classclass Bifoldable (p :: Type -> Type -> Type) where
#

Bifoldable identifies foldable structures with two different varieties of elements (as opposed to Foldable, which has one variety of element). Common examples are Either and (,):

instance Bifoldable Either where
  bifoldMap f _ (Left  a) = f a
  bifoldMap _ g (Right b) = g b

instance Bifoldable (,) where
  bifoldr f g z (a, b) = f a (g b z)

Some examples below also use the following BiList to showcase empty Bifoldable behaviors when relevant (Either and (,) containing always exactly resp. 1 and 2 elements):

data BiList a b = BiList [a] [b]

instance Bifoldable BiList where
  bifoldr f g z (BiList as bs) = foldr f (foldr g z bs) as

A minimal Bifoldable definition consists of either bifoldMap or bifoldr. When defining more than this minimal set, one should ensure that the following identities hold:

bifold ≡ bifoldMap id id
bifoldMap f g ≡ bifoldr (mappend . f) (mappend . g) mempty
bifoldr f g z t ≡ appEndo (bifoldMap (Endo . f) (Endo . g) t) z

If the type is also an instance of Foldable, then it must satisfy (up to laziness):

bifoldl const ≡ foldl
bifoldr (flip const) ≡ foldr
bifoldMap (const mempty) ≡ foldMap

If the type is also a Bifunctor instance, it should satisfy:

bifoldMap f g ≡ bifold . bimap f g

which implies that

bifoldMap f g . bimap h i ≡ bifoldMap (f . h) (g . i)

Methods

  • bifold :: Monoid m => p m m -> m

    Combines the elements of a structure using a monoid.

    bifold ≡ bifoldMap id id
    Examples

    Basic usage:

    Example1 expression
    bifold (Right [1, 2, 3])[1,2,3]
    Example1 expression
    bifold (Left [5, 6])[5,6]
    Example1 expression
    bifold ([1, 2, 3], [4, 5])[1,2,3,4,5]
    Example1 expression
    bifold (Product 6, Product 7)Product {getProduct = 42}
    Example1 expression
    bifold (Sum 6, Sum 7)Sum {getSum = 13}
  • bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> p a b -> m

    Combines the elements of a structure, given ways of mapping them to a common monoid.

    bifoldMap f g ≡ bifoldr (mappend . f) (mappend . g) mempty
    Examples

    Basic usage:

    Example1 expression
    bifoldMap (take 3) (fmap digitToInt) ([1..], "89")[1,2,3,8,9]
    Example1 expression
    bifoldMap (take 3) (fmap digitToInt) (Left [1..])[1,2,3]
    Example1 expression
    bifoldMap (take 3) (fmap digitToInt) (Right "89")[8,9]
  • bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c

    Combines the elements of a structure in a right associative manner. Given a hypothetical function toEitherList :: p a b -> [Either a b] yielding a list of all elements of a structure in order, the following would hold:

    bifoldr f g z ≡ foldr (either f g) z . toEitherList
    Examples

    Basic usage:

    > bifoldr (+) (*) 3 (5, 7)
    26 -- 5 + (7 * 3)
    
    > bifoldr (+) (*) 3 (7, 5)
    22 -- 7 + (5 * 3)
    
    > bifoldr (+) (*) 3 (Right 5)
    15 -- 5 * 3
    
    > bifoldr (+) (*) 3 (Left 5)
    8 -- 5 + 3
    
  • bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> p a b -> c

    Combines the elements of a structure in a left associative manner. Given a hypothetical function toEitherList :: p a b -> [Either a b] yielding a list of all elements of a structure in order, the following would hold:

    bifoldl f g z
         ≡ foldl (acc -> either (f acc) (g acc)) z . toEitherList

    Note that if you want an efficient left-fold, you probably want to use bifoldl' instead of bifoldl. The reason is that the latter does not force the "inner" results, resulting in a thunk chain which then must be evaluated from the outside-in.

    Examples

    Basic usage:

    > bifoldl (+) (*) 3 (5, 7)
    56 -- (5 + 3) * 7
    
    > bifoldl (+) (*) 3 (7, 5)
    50 -- (7 + 3) * 5
    
    > bifoldl (+) (*) 3 (Right 5)
    15 -- 5 * 3
    
    > bifoldl (+) (*) 3 (Left 5)
    8 -- 5 + 3
    
Instances33Bifoldable, …
classclass (forall a. Functor (p a)) => Bifunctor (p :: Type -> Type -> Type) where
#

A bifunctor is a type constructor that takes two type arguments and is a functor in both arguments. That is, unlike with Functor, a type constructor such as Either does not need to be partially applied for a Bifunctor instance, and the methods in this class permit mapping functions over the Left value or the Right value, or both at the same time.

Formally, the class Bifunctor represents a bifunctor from Hask -> Hask.

Intuitively it is a bifunctor where both the first and second arguments are covariant.

The class definition of a Bifunctor p uses the QuantifiedConstraints language extension to quantify over the first type argument a in its context. The context requires that p a must be a Functor for all a. In other words a partially applied Bifunctor must be a Functor. This makes Functor a superclass of Bifunctor such that a function with a Bifunctor constraint may use fmap in its implementation. Functor has been a quantified superclass of Bifunctor since base-4.18.0.0.

You can define a Bifunctor by either defining bimap or by defining both first and second. The second method must agree with fmap:

second ≡ fmap

From this it follows that:

second id ≡ id

If you supply bimap, you should ensure that:

bimap id id ≡ id

If you supply first and second, ensure:

first id ≡ id
second id ≡ id

If you supply both, you should also ensure:

bimap f g ≡ first f . second g

These ensure by parametricity:

bimap  (f . g) (h . i) ≡ bimap f h . bimap g i
first  (f . g) ≡ first  f . first  g
second (f . g) ≡ second f . second g

Methods

  • bimap :: (a -> b) -> (c -> d) -> p a c -> p b d

    Map over both arguments at the same time.

    bimap f g ≡ first f . second g
    Examples
    Example1 expression
    bimap toUpper (+1) ('j', 3)('J',4)
    Example1 expression
    bimap toUpper (+1) (Left 'j')Left 'J'
    Example1 expression
    bimap toUpper (+1) (Right 3)Right 4
  • first :: (a -> b) -> p a c -> p b c

    Map covariantly over the first argument.

    first f ≡ bimap f id
    Examples
    Example1 expression
    first toUpper ('j', 3)('J',3)
    Example1 expression
    first toUpper (Left 'j')Left 'J'
  • second :: (b -> c) -> p a b -> p a c

    Map covariantly over the second argument.

    second ≡ bimap id
    Examples
    Example1 expression
    second (+1) ('j', 3)('j',4)
    Example1 expression
    second (+1) (Right 3)Right 4
Instances35Bifunctor, …
classclass (Bifunctor t, Bifoldable t) => Bitraversable (t :: Type -> Type -> Type) where
#

Bitraversable identifies bifunctorial data structures whose elements can be traversed in order, performing Applicative or Monad actions at each element, and collecting a result structure with the same shape.

As opposed to Traversable data structures, which have one variety of element on which an action can be performed, Bitraversable data structures have two such varieties of elements.

A definition of bitraverse must satisfy the following laws:

Naturality

bitraverse (t . f) (t . g) ≡ t . bitraverse f g

for every applicative transformation

t

Identity

bitraverse Identity Identity ≡ Identity

Composition

Compose . fmap (bitraverse g1 g2) . bitraverse f1 f2 ≡ bitraverse (Compose . fmap g1 . f1) (Compose . fmap g2 . f2)

where an applicative transformation is a function

t :: (Applicative f, Applicative g) => f a -> g a

preserving the Applicative operations:

t (pure x) ≡ pure x
t (f <*> x) ≡ t f <*> t x

and the identity functor Identity and composition functors Compose are from Data.Functor.Identity and Data.Functor.Compose.

Some simple examples are Either and (,):

instance Bitraversable Either where
  bitraverse f _ (Left x) = Left <$> f x
  bitraverse _ g (Right y) = Right <$> g y

instance Bitraversable (,) where
  bitraverse f g (x, y) = (,) <$> f x <*> g y

Bitraversable relates to its superclasses in the following ways:

bimap f g ≡ runIdentity . bitraverse (Identity . f) (Identity . g)
bifoldMap f g ≡ getConst . bitraverse (Const . f) (Const . g)

These are available as bimapDefault and bifoldMapDefault respectively.

If the type is also an instance of Traversable, then it must satisfy (up to laziness):

traverse ≡ bitraverse pure

Methods

  • bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> t a b -> f (t c d)

    Evaluates the relevant functions at each element in the structure, running the action, and builds a new structure with the same shape, using the results produced from sequencing the actions.

    bitraverse f g ≡ bisequenceA . bimap f g

    For a version that ignores the results, see bitraverse_.

    Examples

    Basic usage:

    Example1 expression
    bitraverse listToMaybe (find odd) (Left [])Nothing
    Example1 expression
    bitraverse listToMaybe (find odd) (Left [1, 2, 3])Just (Left 1)
    Example1 expression
    bitraverse listToMaybe (find odd) (Right [4, 5])Just (Right 5)
    Example1 expression
    bitraverse listToMaybe (find odd) ([1, 2, 3], [4, 5])Just (1,5)
    Example1 expression
    bitraverse listToMaybe (find odd) ([], [4, 5])Nothing
Instances31Bitraversable, …
newtypenewtype Compose (f :: k -> Type) (g :: k1 -> k) (a :: k1)
#

Right-to-left composition of functors. The composition of applicative functors is always applicative, but the composition of monads is not always a monad.

Examples
Example1 expression
fmap (subtract 1) (Compose (Just [1, 2, 3]))Compose (Just [0,1,2])
Example1 expression
Compose (Just [1, 2, 3]) <> Compose NothingCompose (Just [1,2,3])
Example1 expression
Compose (Just [(++ "World"), (++ "Haskell")]) <*> Compose (Just ["Hello, "])Compose (Just ["Hello, World","Hello, Haskell"])

Constructors

Instances107Scoped, Generic1, TestEquality, Binary, Serialise, Composition, …
newtypenewtype Comparison a
#

Defines a total ordering on a type as per compare.

This condition is not checked by the types. You must ensure that the supplied values are valid total orderings yourself.

Constructors

Instances9Contravariant, Decidable, Divisible, Conclude, Decide, Divise, …
  • Contravariant ComparisonDefined in base-4.23.0.0 · Data.Functor.Contravariant

    A Comparison is a Contravariant Functor, because contramap can apply its function argument to each input of the comparison function.

  • Decidable ComparisonDefined in contravariant-1.5.6 · Data.Functor.Contravariant.Divisible
  • Divisible ComparisonDefined in contravariant-1.5.6 · Data.Functor.Contravariant.Divisible
  • Conclude ComparisonDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Conclude
  • Decide ComparisonDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Decide
  • Divise ComparisonDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Divise
  • Semigroup (Comparison a)Defined in base-4.23.0.0 · Data.Functor.Contravariant

    (<>) on comparisons combines results with (<>) @Ordering. Without newtypes this equals liftA2 (liftA2 (<>)).

    (<>) :: Comparison a -> Comparison a -> Comparison a
    Comparison cmp <> Comparison cmp' = Comparison a a' ->
      cmp a a' <> cmp a a'
    
  • Monoid (Comparison a)Defined in base-4.23.0.0 · Data.Functor.Contravariant

    mempty on comparisons always returns EQ. Without newtypes this equals pure (pure EQ).

    mempty :: Comparison a
    mempty = Comparison _ _ -> EQ
    
  • CoArbitrary a => Arbitrary (Comparison a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
classclass Contravariant (f :: Type -> Type) where
#

The class of contravariant functors.

Whereas in Haskell, one can think of a Functor as containing or producing values, a contravariant functor is a functor that can be thought of as consuming values.

As an example, consider the type of predicate functions a -> Bool. One such predicate might be negative x = x < 0, which classifies integers as to whether they are negative. However, given this predicate, we can re-use it in other situations, providing we have a way to map values to integers. For instance, we can use the negative predicate on a person's bank balance to work out if they are currently overdrawn:

newtype Predicate a = Predicate { getPredicate :: a -> Bool }

instance Contravariant Predicate where
  contramap :: (a' -> a) -> (Predicate a -> Predicate a')
  contramap f (Predicate p) = Predicate (p . f)
                                         |   `- First, map the input...
                                         `----- then apply the predicate.

overdrawn :: Predicate Person
overdrawn = contramap personBankBalance negative

Any instance should be subject to the following laws:

Identity

contramap id = id

Composition

contramap (g . f) = contramap f . contramap g

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

Methods

  • contramap :: (a' -> a) -> f a -> f a'
  • (>$) :: b -> f b -> f ainfixl 4

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

Instances38Contravariant, …
newtypenewtype Equivalence a
#

This data type represents an equivalence relation.

Equivalence relations are expected to satisfy three laws:

Reflexivity

getEquivalence f a a = True

Symmetry

getEquivalence f a b = getEquivalence f b a

Transitivity

If

getEquivalence f a b

and

getEquivalence f b c

are both

True

then so is

getEquivalence f a c

.

The types alone do not enforce these laws, so you'll have to check them yourself.

Constructors

Instances9Contravariant, Decidable, Divisible, Conclude, Decide, Divise, …
  • Contravariant EquivalenceDefined in base-4.23.0.0 · Data.Functor.Contravariant

    Equivalence relations are Contravariant, because you can apply the contramapped function to each input to the equivalence relation.

  • Decidable EquivalenceDefined in contravariant-1.5.6 · Data.Functor.Contravariant.Divisible
  • Divisible EquivalenceDefined in contravariant-1.5.6 · Data.Functor.Contravariant.Divisible
  • Conclude EquivalenceDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Conclude
  • Decide EquivalenceDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Decide
  • Divise EquivalenceDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Divise
  • Semigroup (Equivalence a)Defined in base-4.23.0.0 · Data.Functor.Contravariant

    (<>) on equivalences uses logical conjunction (&&) on the results. Without newtypes this equals liftA2 (liftA2 (&&)).

    (<>) :: Equivalence a -> Equivalence a -> Equivalence a
    Equivalence equiv <> Equivalence equiv' = Equivalence a b ->
      equiv a b && equiv' a b
    
  • Monoid (Equivalence a)Defined in base-4.23.0.0 · Data.Functor.Contravariant

    mempty on equivalences always returns True. Without newtypes this equals pure (pure True).

    mempty :: Equivalence a
    mempty = Equivalence _ _ -> True
    
  • CoArbitrary a => Arbitrary (Equivalence a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
newtypenewtype Op a b
#

Dual function arrows.

Constructors

Instances14Category, Semigroupoid, Contravariant, Decidable, Divisible, Conclude, …
  • Category OpDefined in base-4.23.0.0 · Data.Functor.Contravariant
  • Semigroupoid OpDefined in semigroupoids-6.0.2 · Data.Semigroupoid
  • Contravariant (Op a)Defined in base-4.23.0.0 · Data.Functor.Contravariant
  • Monoid r => Decidable (Op r)Defined in contravariant-1.5.6 · Data.Functor.Contravariant.Divisible
  • Monoid r => Divisible (Op r)Defined in contravariant-1.5.6 · Data.Functor.Contravariant.Divisible
  • Conclude (Op r)Defined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Conclude
  • Decide (Op r)Defined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Decide

    Unlike Decidable, requires no constraint on r.

  • Semigroup r => Divise (Op r)Defined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Divise

    Unlike Divisible, requires only Semigroup on r.

  • Floating a => Floating (Op a b)Defined in base-4.23.0.0 · Data.Functor.Contravariant
  • Fractional a => Fractional (Op a b)Defined in base-4.23.0.0 · Data.Functor.Contravariant
  • Num a => Num (Op a b)Defined in base-4.23.0.0 · Data.Functor.Contravariant
  • Semigroup a => Semigroup (Op a b)Defined in base-4.23.0.0 · Data.Functor.Contravariant

    (<>) @(Op a b) without newtypes is (<>) @(b->a) = liftA2 (<>). This lifts the Semigroup operation (<>) over the output of a.

    (<>) :: Op a b -> Op a b -> Op a b
    Op f <> Op g = Op a -> f a <> g a
    
  • Monoid a => Monoid (Op a b)Defined in base-4.23.0.0 · Data.Functor.Contravariant

    mempty @(Op a b) without newtypes is mempty @(b->a) = _ -> mempty.

    mempty :: Op a b
    mempty = Op _ -> mempty
    
  • (Arbitrary a, CoArbitrary b) => Arbitrary (Op a b)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
newtypenewtype Predicate a
#

Constructors

Instances9Contravariant, Decidable, Divisible, Conclude, Decide, Divise, …
  • Contravariant PredicateDefined in base-4.23.0.0 · Data.Functor.Contravariant

    A Predicate is a Contravariant Functor, because contramap can apply its function argument to the input of the predicate.

    Without newtypes contramap f equals precomposing with f (= (. f)).

    contramap :: (a' -> a) -> (Predicate a -> Predicate a')
    contramap f (Predicate g) = Predicate (g . f)
    
  • Decidable PredicateDefined in contravariant-1.5.6 · Data.Functor.Contravariant.Divisible
  • Divisible PredicateDefined in contravariant-1.5.6 · Data.Functor.Contravariant.Divisible
  • Conclude PredicateDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Conclude
  • Decide PredicateDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Decide
  • Divise PredicateDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Divise
  • Semigroup (Predicate a)Defined in base-4.23.0.0 · Data.Functor.Contravariant

    (<>) on predicates uses logical conjunction (&&) on the results. Without newtypes this equals liftA2 (&&).

    (<>) :: Predicate a -> Predicate a -> Predicate a
    Predicate pred <> Predicate pred' = Predicate a ->
      pred a && pred' a
    
  • Monoid (Predicate a)Defined in base-4.23.0.0 · Data.Functor.Contravariant

    mempty on predicates always returns True. Without newtypes this equals pure True.

    mempty :: Predicate a
    mempty = _ -> True
    
  • CoArbitrary a => Arbitrary (Predicate a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
newtypenewtype WrappedMonoid m
#

Provide a Semigroup for an arbitrary Monoid.

NOTE: This is not needed anymore since Semigroup became a superclass of Monoid in base-4.11 and this newtype be deprecated at some point in the future.

Instances30NFData1, FromJSON1, ToJSON1, Generic1, Bounded, Enum, …
datadata ByteString
#

A space-efficient representation of a Word8 vector, supporting many efficient operations.

A ByteString contains 8-bit bytes, or by using the operations from Data.ByteString.Char8 it can be interpreted as containing 8-bit characters.

Instances60IsList, Eq, Data, Ord, Read, Show, …
newtypenewtype ShortByteString
#

A compact representation of a Word8 vector.

It has a lower memory overhead than a ByteString and does not contribute to heap fragmentation. It can be converted to or from a ByteString (at the cost of copying the string data). It supports very few other operations.

Instances26IsList, Eq, Data, Ord, Read, Show, …
  • IsList ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • Eq ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • Data ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • Ord ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal

    Lexicographic order.

  • Read ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • Show ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • IsString ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal

    Beware: fromString truncates multi-byte characters to octets. e.g. "枯朶に烏のとまりけり秋の暮" becomes �6k�nh~�Q��n�

  • Generic ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • Semigroup ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • Monoid ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • NFData ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • Binary ShortByteStringDefined in binary-0.8.9.3 · Data.Binary.Class
  • Hashable ShortByteStringDefined in hashable-1.5.1.0 · Data.Hashable.Class
  • Serialize ShortByteStringDefined in cereal-0.5.8.3 · Data.Serialize
  • Serialise ShortByteStringDefined in serialise-0.2.6.1 · Codec.Serialise.Class
  • One ShortByteStringDefined in relude-1.2.2.2 · Relude.Container.One

    Create singleton ShortByteString.

    Example1 expression
    one 97 :: ShortByteString"a"
    law> length (one x) ≡ 1
    
  • EncodingError ToLText "ShortByteString" "LText" => ToLText ShortByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion

    ⚠️CAUTION⚠️ This instance is for custom error display only.

    You should always specify encoding of bytes explicitly.

    In case it is used by mistake, the user will see the following:

    Example1 expression
    toLText ("some string" :: ShortByteString)...... Type 'ShortByteString' doesn't have instance of 'ToLText'.      Use 'decodeUtf8' or 'decodeUtf8Strict' to convert from UTF-8:          decodeUtf8       :: ShortByteString -> LText          decodeUtf8Strict :: ShortByteString -> Either UnicodeException LText...
  • EncodingError ToString "ShortByteString" "String" => ToString ShortByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion

    ⚠️CAUTION⚠️ This instance is for custom error display only.

    You should always specify encoding of bytes explicitly.

    In case it is used by mistake, the user will see the following:

    Example1 expression
    toString ("some string" :: ShortByteString)...... Type 'ShortByteString' doesn't have instance of 'ToString'.      Use 'decodeUtf8' or 'decodeUtf8Strict' to convert from UTF-8:          decodeUtf8       :: ShortByteString -> String          decodeUtf8Strict :: ShortByteString -> Either UnicodeException String...
  • EncodingError ToText "ShortByteString" "Text" => ToText ShortByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion

    ⚠️CAUTION⚠️ This instance is for custom error display only.

    You should always specify encoding of bytes explicitly.

    In case it is used by mistake, the user will see the following:

    Example1 expression
    toText ("some string" :: ShortByteString)...... Type 'ShortByteString' doesn't have instance of 'ToText'.      Use 'decodeUtf8' or 'decodeUtf8Strict' to convert from UTF-8:          decodeUtf8       :: ShortByteString -> Text          decodeUtf8Strict :: ShortByteString -> Either UnicodeException Text...
  • Lift ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • ConvertUtf8 String ShortByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion
  • ConvertUtf8 LText ShortByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion
  • ConvertUtf8 Text ShortByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion
  • type Rep ShortByteString = D1 ('MetaData "ShortByteString" "Data.ByteString.Short.Internal" "bytestring-0.12.2.0-71fa" 'True) (C1 ('MetaCons "ShortByteString" 'PrefixI 'True) (S1 ('MetaSel ('Just "unShortByteString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteArray)))Defined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • type Item ShortByteString = Word8Defined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • type OneItem ShortByteString = Word8Defined in relude-1.2.2.2 · Relude.Container.One
datadata IntMap a
#

A map of integers to values a.

Instances57Functor, Foldable, Traversable, Eq1, Ord1, Read1, …
datadata IntSet
#

A set of integers.

Instances26IsList, Eq, Data, Ord, Read, Show, …
  • IsList IntSetDefined in containers-0.8 · Data.IntSet.Internal
  • Eq IntSetDefined in containers-0.8 · Data.IntSet.Internal
  • Data IntSetDefined in containers-0.8 · Data.IntSet.Internal
  • Ord IntSetDefined in containers-0.8 · Data.IntSet.Internal
  • Read IntSetDefined in containers-0.8 · Data.IntSet.Internal
  • Show IntSetDefined in containers-0.8 · Data.IntSet.Internal
  • Semigroup IntSetDefined in containers-0.8 · Data.IntSet.Internal

    (<>) = union

  • Monoid IntSetDefined in containers-0.8 · Data.IntSet.Internal

    mempty = empty

  • NFData IntSetDefined in containers-0.8 · Data.IntSet.Internal
  • Binary IntSetDefined in binary-0.8.9.3 · Data.Binary.Class
  • Arbitrary IntSetDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary

    WARNING: The same warning as for Arbitrary (Set a) applies here.

  • CoArbitrary IntSetDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • Function IntSetDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Function
  • Hashable IntSetDefined in hashable-1.5.1.0 · Data.Hashable.Class
  • FromJSON IntSetDefined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON IntSetDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • Default IntSetDefined in data-default-0.8.0.2 · Data.Default.Internal
  • Serialize IntSetDefined in cereal-0.5.8.3 · Data.Serialize
  • Serialise IntSetDefined in serialise-0.2.6.1 · Codec.Serialise.Class
  • One IntSetDefined in relude-1.2.2.2 · Relude.Container.One

    Create singleton IntSet.

    Example1 expression
    one 42 :: IntSetfromList [42]
    law> size (one x) ≡ 1
    
  • StaticMap IntSetDefined in relude-1.2.2.2 · Relude.Extra.Map
  • Lift IntSetDefined in containers-0.8 · Data.IntSet.Internal
  • type Item IntSet = KeyDefined in containers-0.8 · Data.IntSet.Internal
  • type OneItem IntSet = IntDefined in relude-1.2.2.2 · Relude.Container.One
  • type Key IntSet = IntDefined in relude-1.2.2.2 · Relude.Extra.Map
  • type Val IntSet = IntDefined in relude-1.2.2.2 · Relude.Extra.Map
datadata Map k a
#

A Map from keys k to values a.

Instances64Bifoldable, Eq2, Ord2, Show2, NFData2, Hashable2, …
newtypenewtype Seq a
#

General-purpose finite sequences.

Instances70Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
  • Monad SeqDefined in containers-0.8 · Data.Sequence.Internal
  • Functor SeqDefined in containers-0.8 · Data.Sequence.Internal
  • MonadFix SeqDefined in containers-0.8 · Data.Sequence.Internal
  • Applicative SeqDefined in containers-0.8 · Data.Sequence.Internal
  • Foldable SeqDefined in containers-0.8 · Data.Sequence.Internal
  • Traversable SeqDefined in containers-0.8 · Data.Sequence.Internal
  • Alternative SeqDefined in containers-0.8 · Data.Sequence.Internal
  • MonadPlus SeqDefined in containers-0.8 · Data.Sequence.Internal
  • MonadZip SeqDefined in containers-0.8 · Data.Sequence.Internal
  • Eq1 SeqDefined in containers-0.8 · Data.Sequence.Internal
  • Ord1 SeqDefined in containers-0.8 · Data.Sequence.Internal
  • Read1 SeqDefined in containers-0.8 · Data.Sequence.Internal
  • Show1 SeqDefined in containers-0.8 · Data.Sequence.Internal
  • NFData1 SeqDefined in containers-0.8 · Data.Sequence.Internal
  • UnzipWith SeqDefined in containers-0.8 · Data.Sequence.Internal
  • Arbitrary1 SeqDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • Hashable1 SeqDefined in hashable-1.5.1.0 · Data.Hashable.Class
  • Alt SeqDefined in semigroupoids-6.0.2 · Data.Functor.Alt
  • Apply SeqDefined in semigroupoids-6.0.2 · Data.Functor.Bind.Class
  • Bind SeqDefined in semigroupoids-6.0.2 · Data.Functor.Bind.Class
  • Extend SeqDefined in semigroupoids-6.0.2 · Data.Functor.Extend
  • Plus SeqDefined in semigroupoids-6.0.2 · Data.Functor.Plus
  • Align SeqDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Semialign SeqDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Crosswalk SeqDefined in semialign-1.3.1.1 · Data.Crosswalk
  • Unzip SeqDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Zip SeqDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Filterable SeqDefined in witherable-0.5 · Witherable
  • Witherable SeqDefined in witherable-0.5 · Witherable
  • FromJSON1 SeqDefined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON1 SeqDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • FoldableWithIndex Int SeqDefined in indexed-traversable-0.1.5 · WithIndex
  • FunctorWithIndex Int SeqDefined in indexed-traversable-0.1.5 · WithIndex

    The position in the Seq is available as the index.

  • TraversableWithIndex Int SeqDefined in indexed-traversable-0.1.5 · WithIndex
  • SemialignWithIndex Int SeqDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • ZipWithIndex Int SeqDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • FilterableWithIndex Int SeqDefined in witherable-0.5 · Witherable
  • WitherableWithIndex Int SeqDefined in witherable-0.5 · Witherable
  • RegexMaker Regex CompOption ExecOption (Seq Char)Defined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Sequence · orphan
  • Lift a => Lift (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • RegexLike Regex (Seq Char)Defined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Sequence · orphan
  • RegexContext Regex (Seq Char) (Seq Char)Defined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Sequence · orphan
  • IsList (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • Eq a => Eq (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • Data a => Data (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • Ord a => Ord (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • Read a => Read (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • Show a => Show (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • a ~ Char => IsString (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • Semigroup (Seq a)Defined in containers-0.8 · Data.Sequence.Internal

    (<>) = (><)

  • Monoid (Seq a)Defined in containers-0.8 · Data.Sequence.Internal

    mempty = empty

  • NFData a => NFData (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • Binary e => Binary (Seq e)Defined in binary-0.8.9.3 · Data.Binary.Class
  • Arbitrary a => Arbitrary (Seq a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary

    WARNING: The same warning as for Arbitrary (Set a) applies here.

  • CoArbitrary a => CoArbitrary (Seq a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • Function a => Function (Seq a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Function
  • Hashable v => Hashable (Seq v)Defined in hashable-1.5.1.0 · Data.Hashable.Class
  • FromJSON a => FromJSON (Seq a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON a => ToJSON (Seq a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • Extract (Seq a)Defined in regex-base-0.94.0.3 · Text.Regex.Base.RegexLike
  • Default (Seq a)Defined in data-default-0.8.0.2 · Data.Default.Internal
  • Serialize e => Serialize (Seq e)Defined in cereal-0.5.8.3 · Data.Serialize
  • Serialise a => Serialise (Seq a)Defined in serialise-0.2.6.1 · Codec.Serialise.Class
  • Ord a => Stream (Seq a)Defined in megaparsec-9.5.0 · Text.Megaparsec.Stream
  • Uncons (Seq Char)Defined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.NewDFA.Uncons
  • One (Seq a)Defined in relude-1.2.2.2 · Relude.Container.One

    Create singleton Seq.

    Example1 expression
    one 42 :: Seq IntfromList [42]
    law> length (one @(Seq a) x) ≡ 1
    
  • type Item (Seq a) = aDefined in containers-0.8 · Data.Sequence.Internal
  • type Token (Seq a) = aDefined in megaparsec-9.5.0 · Text.Megaparsec.Stream
  • type Tokens (Seq a) = Seq aDefined in megaparsec-9.5.0 · Text.Megaparsec.Stream
  • type OneItem (Seq a) = aDefined in relude-1.2.2.2 · Relude.Container.One
datadata Set a
#

A set of values a.

Instances36Foldable, Eq1, Ord1, Show1, NFData1, Hashable1, …
  • Foldable SetDefined in containers-0.8 · Data.Set.Internal

    Folds in order of increasing key.

  • Eq1 SetDefined in containers-0.8 · Data.Set.Internal
  • Ord1 SetDefined in containers-0.8 · Data.Set.Internal
  • Show1 SetDefined in containers-0.8 · Data.Set.Internal
  • NFData1 SetDefined in containers-0.8 · Data.Set.Internal
  • Hashable1 SetDefined in hashable-1.5.1.0 · Data.Hashable.Class
  • ToJSON1 SetDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • Lift a => Lift (Set a)Defined in containers-0.8 · Data.Set.Internal
  • Ord a => IsList (Set a)Defined in containers-0.8 · Data.Set.Internal
  • Eq a => Eq (Set a)Defined in containers-0.8 · Data.Set.Internal
  • (Data a, Ord a) => Data (Set a)Defined in containers-0.8 · Data.Set.Internal
  • Ord a => Ord (Set a)Defined in containers-0.8 · Data.Set.Internal
  • (Read a, Ord a) => Read (Set a)Defined in containers-0.8 · Data.Set.Internal
  • Show a => Show (Set a)Defined in containers-0.8 · Data.Set.Internal
  • Ord a => Semigroup (Set a)Defined in containers-0.8 · Data.Set.Internal

    (<>) = union

  • Ord a => Monoid (Set a)Defined in containers-0.8 · Data.Set.Internal

    mempty = empty

  • NFData a => NFData (Set a)Defined in containers-0.8 · Data.Set.Internal
  • Binary a => Binary (Set a)Defined in binary-0.8.9.3 · Data.Binary.Class
  • (Ord a, Arbitrary a) => Arbitrary (Set a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary

    WARNING: Users working on the internals of the Set type via e.g. Data.Set.Internal should be aware that this instance aims to give a good representation of Set a as mathematical sets but *does not* aim to provide a varied distribution over the underlying representation.

  • CoArbitrary a => CoArbitrary (Set a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • (Ord a, Function a) => Function (Set a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Function
  • Hashable v => Hashable (Set v)Defined in hashable-1.5.1.0 · Data.Hashable.Class
  • (Ord a, FromJSON a) => FromJSON (Set a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON a => ToJSON (Set a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • Default (Set v)Defined in data-default-0.8.0.2 · Data.Default.Internal
  • (Ord a, Serialize a) => Serialize (Set a)Defined in cereal-0.5.8.3 · Data.Serialize
  • (Ord a, Serialise a) => Serialise (Set a)Defined in serialise-0.2.6.1 · Codec.Serialise.Class
  • One (Set a)Defined in relude-1.2.2.2 · Relude.Container.One

    Create singleton Set.

    Example1 expression
    one 42 :: Set IntfromList [42]
    law> length (one @(Set a) x) ≡ 1
    
  • Ord a => StaticMap (Set a)Defined in relude-1.2.2.2 · Relude.Extra.Map
  • (Ord a, FreeTypeVars a) => FreeTypeVars (Set a)Defined in hnix-0.17.0 · Nix.Type.Infer
  • (Ord a, Substitutable a) => Substitutable (Set a)Defined in hnix-0.17.0 · Nix.Type.Infer
  • Monad m => MonadReader (Set TVar, Scopes (InferT s m) (Judgment s)) (InferT s m)Defined in hnix-0.17.0 · Nix.Type.Infer
  • type Item (Set a) = aDefined in containers-0.8 · Data.Set.Internal
  • type OneItem (Set a) = aDefined in relude-1.2.2.2 · Relude.Container.One
  • type Key (Set a) = aDefined in relude-1.2.2.2 · Relude.Extra.Map
  • type Val (Set a) = aDefined in relude-1.2.2.2 · Relude.Extra.Map
classclass NFData a where
#

A class of types that can be fully evaluated.

Methods

  • rnf :: a -> ()

    rnf should reduce its argument to normal form (that is, fully evaluate all sub-components), and then return ().

    Generic NFData deriving

    Starting with GHC 7.2, you can automatically derive instances for types possessing a Generic instance.

    Note: Generic1 can be auto-derived starting with GHC 7.4

    {-# LANGUAGE DeriveGeneric #-}
    
    import GHC.Generics (Generic, Generic1)
    import Control.DeepSeq
    
    data Foo a = Foo a String
                 deriving (Eq, Generic, Generic1)
    
    instance NFData a => NFData (Foo a)
    instance NFData1 Foo
    
    data Colour = Red | Green | Blue
                  deriving Generic
    
    instance NFData Colour

    Starting with GHC 7.10, the example above can be written more concisely by enabling the new DeriveAnyClass extension:

    {-# LANGUAGE DeriveGeneric, DeriveAnyClass #-}
    
    import GHC.Generics (Generic)
    import Control.DeepSeq
    
    data Foo a = Foo a String
                 deriving (Eq, Generic, Generic1, NFData, NFData1)
    
    data Colour = Red | Green | Blue
                  deriving (Generic, NFData)
    
    Compatibility with previous deepseq versions

    Prior to version 1.4.0.0, the default implementation of the rnf method was defined as

    rnf a = seq a ()

    However, starting with deepseq-1.4.0.0, the default implementation is based on DefaultSignatures allowing for more accurate auto-derived NFData instances. If you need the previously used exact default rnf method implementation semantics, use

    instance NFData Colour where rnf x = seq x ()

    or alternatively

    instance NFData Colour where rnf = rwhnf

    or

    {-# LANGUAGE BangPatterns #-}
    instance NFData Colour where rnf !_ = ()
Instances434Lifting2, Lifting, NFData, …
classclass Applicative f => Alternative (f :: Type -> Type) where
#

A monoid on applicative functors.

If defined, some and many should be the least solutions of the equations:

Examples
Example1 expression
Nothing <|> Just 42Just 42
Example1 expression
[1, 2] <|> [3, 4][1,2,3,4]
Example1 expression
empty <|> print (2^15)32768

Methods

  • empty :: f a

    The identity of <|>

    empty <|> a     == a
    a     <|> empty == a
  • (<|>) :: f a -> f a -> f ainfixl 3

    An associative binary operation

  • some :: f a -> f [a]

    One or more.

    Examples
    Example1 expression
    some (putStr "la")lalalalalalalalala... * goes on forever *
    Example1 expression
    some Nothingnothing
    Example1 expression
    take 5 <$> some (Just 1)* hangs forever *

    Note that this function can be used with Parsers based on Applicatives. In that case some parser will attempt to parse parser one or more times until it fails.

  • many :: f a -> f [a]

    Zero or more.

    Examples
    Example1 expression
    many (putStr "la")lalalalalalalalala... * goes on forever *
    Example1 expression
    many NothingJust []
    Example1 expression
    take 5 <$> many (Just 1)* hangs forever *

    Note that this function can be used with Parsers based on Applicatives. In that case many parser will attempt to parse parser zero or more times until it fails.

Instances116:=>, Lifting2, Lifting, Class, Alternative, …
classclass Functor f => Applicative (f :: Type -> Type) where
#

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 one 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 Prelude.<$> 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).

Methods

  • pure :: a -> f a

    Lift a value into the Structure.

    Examples
    Example1 expression
    pure 1 :: Maybe IntJust 1
    Example1 expression
    pure 'z' :: [Char]"z"
    Example1 expression
    pure (pure ":D") :: Maybe [String]Just [":D"]
  • (<*>) :: f (a -> b) -> f a -> f binfixl 4

    Sequential application.

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

    Example

    Used in combination with (Data.Functor.<$>), (<*>) can be used to build a record.

    Example1 expression
    data MyState = MyState {arg1 :: Foo, arg2 :: Bar, arg3 :: Baz}
    Example3 expressions
    produceFoo :: Applicative f => f FooproduceBar :: Applicative f => f BarproduceBaz :: Applicative f => f Baz
    Example2 expressions
    mkState :: Applicative f => f MyStatemkState = MyState <$> produceFoo <*> produceBar <*> produceBaz
  • liftA2 :: (a -> b -> c) -> f a -> f b -> f c

    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.

    Example
    Example1 expression
    liftA2 (,) (Just 3) (Just 5)Just (3,5)
    Example1 expression
    liftA2 (+) [1, 2, 3] [4, 5, 6][5,6,7,6,7,8,7,8,9]
  • (*>) :: f a -> f b -> f binfixl 4

    Sequence actions, discarding the value of the first argument.

    Examples

    If used in conjunction with the Applicative instance for Maybe, you can chain Maybe computations, with a possible "early return" in case of Nothing.

    Example1 expression
    Just 2 *> Just 3Just 3
    Example1 expression
    Nothing *> Just 3Nothing

    Of course a more interesting use case would be to have effectful computations instead of just returning pure values.

    Example4 expressions
    import Data.Charimport GHC.Internal.Text.ParserCombinators.ReadPlet p = string "my name is " *> munch1 isAlpha <* eofreadP_to_S p "my name is Simon"[("Simon","")]
  • (<*) :: f a -> f b -> f ainfixl 4

    Sequence actions, discarding the value of the second argument.

Instances250:=>, Class, Lifting2, Lifting, Applicative, …
classclass Functor (f :: Type -> Type) where
#

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. See these articles by School of Haskell or David Luposchainsky for an explanation.

Methods

  • fmap :: (a -> b) -> f a -> f b

    fmap is used to apply a function of type (a -> b) to a value of type f a, where f is a functor, to produce a value of type f b. Note that for any type constructor with more than one parameter (e.g., Either), only the last type parameter can be modified with fmap (e.g., b in Either a b).

    Some type constructors with two parameters or more have a Bifunctor instance that allows both the last and the penultimate parameters to be mapped over.

    Examples

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

    Example2 expressions
    fmap show NothingNothingfmap show (Just 3)Just "3"

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

    Example2 expressions
    fmap show (Left 17)Left 17fmap show (Right 17)Right "17"

    Double each element of a list:

    Example1 expression
    fmap (*2) [1,2,3][2,4,6]

    Apply even to the second element of a pair:

    Example1 expression
    fmap even (2,2)(2,True)

    It may seem surprising that the function is only applied to the last element of the tuple compared to the list example above which applies it to every element in the list. To understand, remember that tuples are type constructors with multiple type parameters: a tuple of 3 elements (a,b,c) can also be written (,,) a b c and its Functor instance is defined for Functor ((,,) a b) (i.e., only the third parameter is free to be mapped over with fmap).

    It explains why fmap can be used with tuples containing values of different types as in the following example:

    Example1 expression
    fmap even ("hello", 1.0, 4)("hello",1.0,True)
  • (<$) :: a -> f b -> f ainfixl 4

    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.

    Examples

    Perform a computation with Maybe and replace the result with a constant value if it is Just:

    Example2 expressions
    'a' <$ Just 2Just 'a''a' <$ NothingNothing
Instances430:=>, Class, Lifting2, Lifting, Functor, …
classclass Applicative m => Monad (m :: Type -> Type) where
#

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 List, Maybe and System.IO.IO defined in the Prelude satisfy these laws.

Methods

  • (>>=) :: m a -> (a -> m b) -> m binfixl 1

    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
    

    An alternative name for this function is 'bind', because it is used to introduce bindings in monadic contexts, but some people may refer to it as 'flatMap', which results from it being equivalent to

    \x f -> join (fmap f x) :: Monad m => m a -> (a -> m b) -> m b

    which can be seen as mapping a value with Monad m => m a -> m (m b) and then 'flattening' m (m b) to m b using join.

  • (>>) :: m a -> m b -> m binfixl 1

    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
    

    or in terms of (>>=) as

    as >>= const bs
  • return :: a -> m a

    Inject a value into the monadic type. This function should not be different from its default implementation as pure. The justification for the existence of this function is merely historic.

Instances200:=>, Lifting2, Lifting, Class, Monad, …
  • Monad GenDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Gen
  • Monad RoseDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Property
  • Monad IResultDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Monad ParserDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Monad ResultDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Monad GraphDefined in algebraic-graphs-0.8 · Algebra.Graph

    >>= is a good consumer and producer.

  • Monad ListDefined in algebraic-graphs-0.8 · Algebra.Graph.Internal
  • Monad ExtendedDefined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Monad MinimumDefined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Monad NonNegativeDefined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Monad GraphDefined in algebraic-graphs-0.8 · Algebra.Graph.NonEmpty
  • Monad GraphDefined in algebraic-graphs-0.8 · Algebra.Graph.Undirected
  • Monad ComplexDefined in base-4.23.0.0 · Data.Complex
  • Monad FirstDefined in base-4.23.0.0 · Data.Semigroup
  • Monad LastDefined in base-4.23.0.0 · Data.Semigroup
  • Monad MaxDefined in base-4.23.0.0 · Data.Semigroup
  • Monad MinDefined in base-4.23.0.0 · Data.Semigroup
  • Monad Base16Defined in base16-1.0 · Data.Base16.Types.Internal
  • Monad GetDefined in binary-0.8.9.3 · Data.Binary.Get.Internal
  • Monad PutMDefined in binary-0.8.9.3 · Data.Binary.Put
  • Monad PutDefined in bytestring-0.12.2.0 · Data.ByteString.Builder.Internal
  • Monad PPDefined in cborg-0.2.10.0 · Codec.CBOR.Pretty
  • Monad GetDefined in cereal-0.5.8.3 · Data.Serialize.Get
  • Monad PutMDefined in cereal-0.5.8.3 · Data.Serialize.Put
  • Monad SeqDefined in containers-0.8 · Data.Sequence.Internal
  • Monad TreeDefined in containers-0.8 · Data.Tree
  • Monad CryptoFailableDefined in crypton-2.1.7 · Crypto.Error.Types
  • Monad GetDefined in crypton-asn1-encoding-0.10.0 · Data.ASN1.Get
  • Monad ParseASN1Defined in crypton-asn1-parse-0.10.0 · Data.ASN1.Parse
  • Monad ParserDefined in crypton-socks-0.6.2 · Network.Socks5.Parse
  • Monad CryptoFailableDefined in cryptonite-0.30 · Crypto.Error.Types
  • Monad DNonEmptyDefined in dlist-1.0 · Data.DList.DNonEmpty.Internal
  • Monad DListDefined in dlist-1.0 · Data.DList.Internal
  • Monad PprMDefined in ghc-boot-th-10.0.0.20260917 · GHC.Boot.TH.PprLib
  • Monad NonEmptyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.NonEmpty · orphan
  • Monad IdentityDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Identity
  • Monad FirstDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Monad LastDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Monad DownDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Ord
  • Monad DualDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Monad ProductDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Monad SumDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Monad NoIODefined in ghc-internal-10.0.0 · GHC.Internal.GHCi
  • Monad Par1Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Monad MaybeDefined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Monad STMDefined in ghc-internal-10.0.0 · GHC.Internal.STM
  • Monad QDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Monad
  • Monad PDefined in ghc-internal-10.0.0 · GHC.Internal.Text.ParserCombinators.ReadP
  • Monad ReadPDefined in ghc-internal-10.0.0 · GHC.Internal.Text.ParserCombinators.ReadP
  • Monad ReadPrecDefined in ghc-internal-10.0.0 · GHC.Internal.Text.ParserCombinators.ReadPrec
  • Monad SoloDefined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Monad IODefined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Monad FormatMDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.Internal
  • Monad ParserDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.Pretty.Parser
  • Monad PackerDefined in memory-0.18.0 · Data.ByteArray.Pack.Internal
  • Monad ChunkDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Help.Chunk
  • Monad ComplResultDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Internal
  • Monad CompletionDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Internal
  • Monad PDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Internal
  • Monad ParserMDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Monad ParserResultDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Monad ReadMDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Monad ArrayDefined in primitive-0.9.1.0 · Data.Primitive.Array
  • Monad SmallArrayDefined in primitive-0.9.1.0 · Data.Primitive.SmallArray
  • Monad PackerDefined in ram-0.22.1 · Data.ByteArray.Pack.Internal
  • Monad STMDefined in stm-2.5.3.1 · Control.Sequential.STM
  • Monad HandshakeMDefined in tls-2.4.9 · Network.TLS.Handshake.State
  • Monad RecordMDefined in tls-2.4.9 · Network.TLS.Record.State
  • Monad TLSStDefined in tls-2.4.9 · Network.TLS.State
  • Monad VectorDefined in vector-0.13.2.0 · Data.Vector
  • Monad IdDefined in vector-0.13.2.0 · Data.Vector.Fusion.Util
  • Monad VectorDefined in vector-0.13.2.0 · Data.Vector.Strict
  • Monad BoxDefined in vector-stream-0.1.0.1 · Data.Stream.Monadic
  • Monad StreamDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Monad []Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • () :=> Monad IdentityDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Monad IODefined in constraints-0.14.4 · Data.Constraint
  • () :=> Monad (Either a)Defined in constraints-0.14.4 · Data.Constraint
  • () :=> Monad ((->) a)Defined in constraints-0.14.4 · Data.Constraint
  • () :=> Monad []Defined in constraints-0.14.4 · Data.Constraint
  • DRG gen => Monad (MonadPseudoRandom gen)Defined in crypton-2.1.7 · Crypto.Random.Types
  • DRG gen => Monad (MonadPseudoRandom gen)Defined in cryptonite-0.30 · Crypto.Random.Types
  • Alternative f => Monad (Cofree f)Defined in free-5.2 · Control.Comonad.Cofree
  • Applicative f => Monad (Free f)Defined in free-5.2 · Control.Monad.Free.Ap
  • Functor f => Monad (Free f)Defined in free-5.2 · Control.Monad.Free
  • Functor f => Monad (Free f)Defined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.V1.Free
  • Monad ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Monad U1Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Monad (MkParser inp)Defined in appar-0.1.8 · Text.Appar.Parser
  • Monad (Parser i)Defined in attoparsec-0.14.4 · Data.Attoparsec.Internal.Types
  • Monad (Base64 k)Defined in base64-1.0 · Data.Base64.Types.Internal
  • Monad (Decoder s)Defined in cborg-0.2.10.0 · Codec.CBOR.Decoding
  • Monad (IncrementalDecoder s)Defined in cborg-0.2.10.0 · Codec.CBOR.Read
  • Monad (State s)Defined in containers-0.8 · Utils.Containers.Internal.State
  • Monad (F f)Defined in free-5.2 · Control.Monad.Free.Church
  • Monad (ST s)Defined in ghc-internal-10.0.0 · GHC.Internal.Control.Monad.ST.Lazy.Imp
  • Monad (Either e)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Either
  • Monad (ST s)Defined in ghc-internal-10.0.0 · GHC.Internal.ST
  • Monad (Lint s)Defined in hnix-0.17.0 · Nix.Lint
  • Monad (Solver m)Defined in hnix-0.17.0 · Nix.Type.Infer
  • Monad (SpecM a)Defined in hspec-core-2.11.18 · Test.Hspec.Core.Spec.Monad
  • Monad (LogicT m)Defined in logict-0.8.2.0 · Control.Monad.Logic
  • Monad (Parser byteArray)Defined in memory-0.18.0 · Data.ByteArray.Parse
  • Monad (UniqueParser s)Defined in prettyprinter-1.7.2 · Prettyprinter.Render.Util.SimpleDocTree
  • Monad (Parser byteArray)Defined in ram-0.22.1 · Data.ByteArray.Parse
  • Monad (IParser t)Defined in text-2.1.4 · Data.Text.Internal.Read
  • Monad (PacketFlightM b)Defined in tls-2.4.9 · Network.TLS.IO
  • Monad m => Monad (PropertyM m)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Monadic
  • Monad m => Monad (ZeptoT m)Defined in attoparsec-0.14.4 · Data.Attoparsec.Zepto
  • Monad m => Monad (WrappedMonad m)Defined in base-4.23.0.0 · Control.Applicative
  • Monad m => Monad (IsSTM m)Defined in concurrency-1.11.0.3 · Control.Monad.STM.Class
  • Monad m => Monad (CatchT m)Defined in exceptions-0.10.12 · Control.Monad.Catch.Pure
  • Monad m => Monad (IterT m)Defined in free-5.2 · Control.Monad.Trans.Iter
  • Monad m => Monad (Reducer m)Defined in hnix-0.17.0 · Nix.Reduce
  • Monad m => Monad (WithStringContextT m)Defined in hnix-0.17.0 · Nix.String
  • Monad m => Monad (NarParser m)Defined in hnix-store-nar-0.1.2.0 · System.Nix.Nar.Parser
  • Monad m => Monad (RemoteStoreT m)Defined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.MonadStore
  • Monad m => Monad (ListT m)Defined in optparse-applicative-0.18.1.0 · Options.Applicative.Internal
  • Monad m => Monad (NondetT m)Defined in optparse-applicative-0.18.1.0 · Options.Applicative.Internal
  • Monad m => Monad (QuoteToQuasi m)Defined in th-compat-0.1.7 · Language.Haskell.TH.Syntax.Compat
  • Monad m => Monad (RecvHandshake13M m)Defined in tls-2.4.9 · Network.TLS.Handshake.Common13
  • Monad m => Monad (MaybeT m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Maybe
  • Monoid a => Monad (Tuple2 a)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Semigroup a => Monad (These a)Defined in strict-0.5.1 · Data.Strict.These
  • Semigroup a => Monad (These a)Defined in these-1.2.1 · Data.These
  • ArrowApply a => Monad (ArrowMonad a)Defined in ghc-internal-10.0.0 · GHC.Internal.Control.Arrow
  • Monad m :=> Applicative (WrappedMonad m)Defined in constraints-0.14.4 · Data.Constraint
  • Monad m :=> Functor (WrappedMonad m)Defined in constraints-0.14.4 · Data.Constraint
  • Class (Applicative f) (Monad f)Defined in constraints-0.14.4 · Data.Constraint
  • Monad (FT f m)Defined in free-5.2 · Control.Monad.Trans.Free.Church
  • Monad (Tagged s)Defined in tagged-0.8.11 · Data.Tagged
  • Monad (bi a) => Monad (Biap bi a)Defined in bifunctors-5.6.3 · Data.Bifunctor.Biap
  • Monad (t (Fix1 t)) => Monad (Fix1 t)Defined in hnix-0.17.0 · Nix.Utils.Fix1
  • Monad (t m) => Monad (LiftingAccum t m)Defined in mtl-2.3.2 · Control.Monad.Accum
  • Monad (t m) => Monad (LiftingSelect t m)Defined in mtl-2.3.2 · Control.Monad.Select
  • Monad f => Monad (Ap f)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Monad f => Monad (Alt f)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Monad f => Monad (Rec1 f)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Monad m => Monad (Reader r m)Defined in basement-0.0.16 · Basement.Compat.MonadTrans
  • Monad m => Monad (State r m)Defined in basement-0.0.16 · Basement.Compat.MonadTrans
  • Monad m => Monad (IsConc m)Defined in concurrency-1.11.0.3 · Control.Monad.Conc.Class
  • Monad m => Monad (Kleisli m a)Defined in ghc-internal-10.0.0 · GHC.Internal.Control.Arrow
  • Monad m => Monad (StateT s m)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Utils
  • Monad m => Monad (FreshIdT i m)Defined in hnix-0.17.0 · Nix.Fresh
  • Monad m => Monad (StandardTF r m)Defined in hnix-0.17.0 · Nix.Standard
  • Monad m => Monad (InferT s m)Defined in hnix-0.17.0 · Nix.Type.Infer
  • Monad m => Monad (ExceptT e m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Except
  • Monad m => Monad (IdentityT m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Identity
  • Monad m => Monad (ReaderT r m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Reader
  • Monad m => Monad (SelectT r m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Select
  • Monad m => Monad (StateT s m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.State.Lazy
  • Monad m => Monad (StateT s m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.State.Strict
  • Monad m => Monad (WriterT w m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.CPS
  • Monad m => Monad (Reverse m)Defined in transformers-0.6.3.0 · Data.Functor.Reverse

    Derived instance.

  • Monoid output => Monad (StackMachine output style)Defined in prettyprinter-1.7.2 · Prettyprinter.Render.Util.StackMachine
  • (Alternative f, Monad w) => Monad (CofreeT f w)Defined in free-5.2 · Control.Comonad.Trans.Cofree
  • (Applicative f, Monad f) => Monad (WhenMissing f x)Defined in containers-0.8 · Data.IntMap.Internal

    Equivalent to ReaderT k (ReaderT x (MaybeT f)).

  • (Applicative f, Monad m) => Monad (FreeT f m)Defined in free-5.2 · Control.Monad.Trans.Free.Ap
  • (Functor f, Monad m) => Monad (FreeT f m)Defined in free-5.2 · Control.Monad.Trans.Free
  • (Monad (Rep p), Representable p) => Monad (Prep p)Defined in profunctors-5.6.3 · Data.Profunctor.Rep
  • (Monoid a, Monoid b) => Monad (Tuple3 a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • (Monoid w, Functor m, Monad m) => Monad (AccumT w m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Accum
  • (Monoid w, Monad m) => Monad (WriterT w m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.Lazy
  • (Monoid w, Monad m) => Monad (WriterT w m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.Strict
  • Lifting Monad MaybeTDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Monad IdentityTDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Monad (ExceptT e)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Monad (ReaderT e)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Monad (StateT s)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Monad (StateT s)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Monoid w => Lifting Monad (WriterT w)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Monoid w => Lifting Monad (WriterT w)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting2 Monad ProductDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Monad (ContT r)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Monad f => Lifting Monad (Product f)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Monoid w => Lifting Monad (RWST r w s)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Monoid w => Lifting Monad (RWST r w s)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Class (Monad f, Alternative f) (MonadPlus f)Defined in constraints-0.14.4 · Data.Constraint
  • Monad (Cokleisli w a)Defined in comonad-5.0.10 · Control.Comonad
  • Monad (GComparing a b)Defined in dependent-sum-template-0.2.0.2 · Data.GADT.Compare.Monad
  • Monad (ParsecT s u m)Defined in parsec-3.1.18.0 · Text.Parsec.Prim
  • Monad (Costar f a)Defined in profunctors-5.6.3 · Data.Profunctor.Types
  • Monad (ContT r m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Cont
  • Monad ((->) r)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Monad (t (Fix1T t m) m) => Monad (Fix1T t m)Defined in hnix-0.17.0 · Nix.Utils.Fix1
  • Monad f => Monad (Star f a)Defined in profunctors-5.6.3 · Data.Profunctor.Types
  • Monad m => Monad (SerialT r e m)Defined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Stream s => Monad (ParsecT e s m)Defined in megaparsec-9.5.0 · Text.Megaparsec.Internal

    return returns a parser that succeeds without consuming input.

  • (Applicative f, Monad f) => Monad (WhenMissing f k x)Defined in containers-0.8 · Data.Map.Internal

    Equivalent to ReaderT k (ReaderT x (MaybeT f)) .

  • (Monad f, Applicative f) => Monad (WhenMatched f x y)Defined in containers-0.8 · Data.IntMap.Internal

    Equivalent to ReaderT Key (ReaderT x (ReaderT y (MaybeT f)))

  • (Monad f, Monad g) => Monad (Product f g)Defined in base-4.23.0.0 · Data.Functor.Product
  • (Monad f, Monad g) => Monad (f :*: g)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Monoid a, Monoid b, Monoid c) => Monad (Tuple4 a b c)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Monad f => Monad (M1 i c f)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Monad m => Monad (REST r e s m)Defined in hnix-store-remote-0.7.0.0 · Data.Serializer.Example
  • Monad m => Monad (RWST r w s m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.RWS.CPS
  • (Monad f, Applicative f) => Monad (WhenMatched f k x y)Defined in containers-0.8 · Data.Map.Internal

    Equivalent to ReaderT k (ReaderT x (ReaderT y (MaybeT f)))

  • (Monoid w, Monad m) => Monad (RWST r w s m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.RWS.Lazy
  • (Monoid w, Monad m) => Monad (RWST r w s m)Defined in transformers-0.6.3.0 · Control.Monad.Trans.RWS.Strict
  • Monad state => Monad (Builder collection mutCollection step state err)Defined in basement-0.0.16 · Basement.MutableBuilder
classclass (Alternative m, Monad m) => MonadPlus (m :: Type -> Type) where
#

Monads that also support choice and failure.

Methods

  • mzero :: m a

    The identity of mplus. It should also satisfy the equations

    mzero >>= f  =  mzero
    v >> mzero   =  mzero

    The default definition is

    mzero = empty
    
  • mplus :: m a -> m a -> m a

    An associative operation. The default definition is

    mplus = (<|>)
    
Instances95:=>, Lifting2, Lifting, Class, MonadPlus, …
classclass Semigroup a => Monoid a where
#

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

You can alternatively define mconcat instead of mempty, in which case the laws are:

Unit

mconcat (pure x) = x

Multiplication

mconcat (join xss) = mconcat (fmap mconcat xss)

Subclass

mconcat (toList xs) = sconcat xs

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 newtypes and make those instances of Monoid, e.g. Data.Semigroup.Sum and Data.Semigroup.Product.

NOTE: Semigroup is a superclass of Monoid since base-4.11.0.0.

Methods

  • mempty :: a

    Identity of mappend

    Examples
    Example1 expression
    "Hello world" <> mempty"Hello world"
    Example1 expression
    mempty <> [1, 2, 3][1,2,3]
  • mappend :: a -> a -> a

    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

    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.

    Example1 expression
    mconcat ["Hello", " ", "Haskell", "!"]"Hello Haskell!"
Instances236Lifting2, Lifting, Class, :=>, Monoid, …
  • Monoid EveryDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Monoids
  • Monoid SomeDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Monoids
  • Monoid SeriesDefined in aeson-2.2.5.1 · Data.Aeson.Encoding.Internal
  • Monoid KeyDefined in aeson-2.2.5.1 · Data.Aeson.Key
  • Monoid AdjacencyIntMapDefined in algebraic-graphs-0.8 · Algebra.Graph.AdjacencyIntMap

    Defined via overlay and empty.

  • Monoid MoreDefined in attoparsec-0.14.4 · Data.Attoparsec.Internal.Types
  • Monoid ByteArrayDefined in base-4.23.0.0 · Data.Array.Byte
  • Monoid BuilderDefined in basement-0.0.16 · Basement.Block.Builder
  • Monoid BuilderDefined in basement-0.0.16 · Basement.String.Builder
  • Monoid AsciiStringDefined in basement-0.0.16 · Basement.Types.AsciiString
  • Monoid StringDefined in basement-0.0.16 · Basement.UTF8.Base
  • Monoid PokeDefined in blaze-builder-0.4.4.1 · Blaze.ByteString.Builder.Internal.Write
  • Monoid WriteDefined in blaze-builder-0.4.4.1 · Blaze.ByteString.Builder.Internal.Write
  • Monoid BuilderDefined in bytestring-0.12.2.0 · Data.ByteString.Builder.Internal
  • Monoid ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Internal.Type
  • Monoid ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Lazy.Internal
  • Monoid ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • Monoid EncodingDefined in cborg-0.2.10.0 · Codec.CBOR.Encoding
  • Monoid IntSetDefined in containers-0.8 · Data.IntSet.Internal

    mempty = empty

  • Monoid SharedSecretDefined in crypton-2.1.7 · Crypto.ECC
  • Monoid DistinguishedNameDefined in crypton-x509-1.9.2 · Data.X509.DistinguishedName
  • Monoid CertificateStoreDefined in crypton-x509-store-1.9.0 · Data.X509.CertificateStore
  • Monoid UnitDefined in deepseq-1.5.2.0 · Control.DeepSeq
  • Monoid AllDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Monoid AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Monoid EventDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Internal.Types
  • Monoid EventLifetimeDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Internal.Types
  • Monoid LifetimeDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Internal.Types

    mappend takes the longer of two lifetimes.

  • Monoid ExceptionContextDefined in ghc-internal-10.0.0 · GHC.Internal.Exception.Context
  • Monoid OrderingDefined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Monoid RecursivityDefined in hnix-0.17.0 · Nix.Expr.Types
  • Monoid VariadicDefined in hnix-0.17.0 · Nix.Expr.Types
  • Monoid NixLikeContextValueDefined in hnix-0.17.0 · Nix.String
  • Monoid NixStringDefined in hnix-0.17.0 · Nix.String
  • Monoid AssumptionDefined in hnix-0.17.0 · Nix.Type.Assumption
  • Monoid EnvDefined in hnix-0.17.0 · Nix.Type.Env
  • Monoid InferErrorDefined in hnix-0.17.0 · Nix.Type.Infer
  • Monoid InferStateDefined in hnix-0.17.0 · Nix.Type.Infer
  • Monoid SubstDefined in hnix-0.17.0 · Nix.Type.Infer
  • Monoid PathDefined in hnix-0.17.0 · Nix.Utils
  • Monoid TStringContextDefined in hnix-0.17.0 · Nix.Value
  • Monoid AnnotationsDefined in hspec-core-2.11.18 · Test.Hspec.Core.Annotations
  • Monoid BuilderDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.Pretty
  • Monoid SummaryDefined in hspec-core-2.11.18 · Test.Hspec.Core.Runner.Result
  • Monoid CookieJarDefined in http-client-0.7.19 · Network.HTTP.Client.Types

    Since 1.9

  • Monoid RequestBodyDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Monoid BytesDefined in memory-0.18.0 · Data.ByteArray.Bytes
  • Monoid ScrubbedBytesDefined in memory-0.18.0 · Data.ByteArray.ScrubbedBytes
  • Monoid MsgFlagDefined in network-3.2.9.0 · Network.Socket.Flag
  • Monoid PrefsModDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Builder
  • Monoid ParserHelpDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Help.Types
  • Monoid CompleterDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Monoid ParseErrorDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Monoid OsStringDefined in os-string-2.0.11 · System.OsString.Internal.Types

    "String-Concatenation" for OsString. This is not the same as (</>).

  • Monoid PosixStringDefined in os-string-2.0.11 · System.OsString.Internal.Types
  • Monoid WindowsStringDefined in os-string-2.0.11 · System.OsString.Internal.Types
  • Monoid DocDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJ
  • Monoid AnsiStyleDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal

    mempty does nothing, which is equivalent to inheriting the style of the surrounding doc, or the terminal’s default if no style has been set yet.

  • Monoid BytesDefined in ram-0.22.1 · Data.ByteArray.Bytes
  • Monoid ScrubbedBytesDefined in ram-0.22.1 · Data.ByteArray.ScrubbedBytes
  • Monoid SetTestInfoDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.CorePattern
  • Monoid TextDefined in text-2.1.4 · Data.Text · orphan
  • Monoid BuilderDefined in text-2.1.4 · Data.Text.Internal.Builder
  • Monoid TextDefined in text-2.1.4 · Data.Text.Lazy · orphan
  • Monoid StrictTextBuilderDefined in text-2.1.4 · Data.Text.Internal.StrictBuilder
  • Monoid ShortTextDefined in text-short-0.1.6.1 · Data.Text.Short.Internal
  • Monoid CalendarDiffDaysDefined in time-1.16.0.1 · Data.Time.Calendar.CalendarDiffDays

    Additive

  • Monoid CalendarDiffTimeDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.CalendarDiffTime

    Additive

  • Monoid DurationDefined in time-hourglass-0.3.0 · Time.Diff
  • Monoid PeriodDefined in time-hourglass-0.3.0 · Time.Diff
  • Monoid CredentialsDefined in tls-2.4.9 · Network.TLS.Credentials
  • Monoid StatxFlagsDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Monoid StatxMaskDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Monoid ()Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Lifting Monoid MaybeDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting2 Monoid Tuple2Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Monoid a => Lifting Monoid (Tuple2 a)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Monoid ((->) a)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • () :=> Monoid OrderingDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Monoid ()Defined in constraints-0.14.4 · Data.Constraint
  • () :=> Monoid [a]Defined in constraints-0.14.4 · Data.Constraint
  • a :=> Monoid (Dict a)Defined in constraints-0.14.4 · Data.Constraint
  • PrimType ty => Monoid (Block ty)Defined in basement-0.0.16 · Basement.Block.Base
  • PrimType ty => Monoid (UArray ty)Defined in basement-0.0.16 · Basement.UArray.Base
  • Monoid (KeyMap v)Defined in aeson-2.2.5.1 · Data.Aeson.KeyMap
  • Monoid (IResult a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Monoid (Parser a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Monoid (Result a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Monoid (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph

    Defined via overlay and empty.

  • Monoid (Doc s)Defined in algebraic-graphs-0.8 · Algebra.Graph.Export
  • Monoid (List a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Internal
  • Monoid (Label a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Monoid (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Undirected

    Defined via overlay and empty.

  • Monoid (Comparison a)Defined in base-4.23.0.0 · Data.Functor.Contravariant

    mempty on comparisons always returns EQ. Without newtypes this equals pure (pure EQ).

    mempty :: Comparison a
    mempty = Comparison _ _ -> EQ
    
  • Monoid (Equivalence a)Defined in base-4.23.0.0 · Data.Functor.Contravariant

    mempty on equivalences always returns True. Without newtypes this equals pure (pure True).

    mempty :: Equivalence a
    mempty = Equivalence _ _ -> True
    
  • Monoid (Predicate a)Defined in base-4.23.0.0 · Data.Functor.Contravariant

    mempty on predicates always returns True. Without newtypes this equals pure True.

    mempty :: Predicate a
    mempty = _ -> True
    
  • Monoid (Array a)Defined in basement-0.0.16 · Basement.BoxedArray
  • Monoid (CountOf ty)Defined in basement-0.0.16 · Basement.Types.OffsetSize
  • Monoid (PutM ())Defined in binary-0.8.9.3 · Data.Binary.Put
  • Monoid (PutM ())Defined in cereal-0.5.8.3 · Data.Serialize.Put
  • Monoid (IntMap a)Defined in containers-0.8 · Data.IntMap.Internal

    mempty = empty

  • Monoid (Seq a)Defined in containers-0.8 · Data.Sequence.Internal

    mempty = empty

  • Monoid (MergeSet a)Defined in containers-0.8 · Data.Set.Internal
  • Monoid (EqM a)Defined in containers-0.8 · Utils.Containers.Internal.EqOrdUtil
  • Monoid (OrdM a)Defined in containers-0.8 · Utils.Containers.Internal.EqOrdUtil
  • Monoid (DList a)Defined in dlist-1.0 · Data.DList.Internal
  • Monoid (First a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Monoid (Last a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Monoid (Endo a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Monoid (Scope a)Defined in hnix-0.17.0 · Nix.Scope
  • Monoid (DList a)Defined in hspec-core-2.11.18 · DList
  • Monoid (First a)Defined in lens-family-core-2.1.3 · Lens.Family
  • Monoid (Last a)Defined in lens-family-core-2.1.3 · Lens.Family
  • Monoid (Builder marking)Defined in mlkem-0.2.3.0 · Builder
  • Monoid (InfoMod a)Defined in optparse-applicative-0.18.1.0 · Options.Applicative.Builder
  • Monoid (DefaultProp a)Defined in optparse-applicative-0.18.1.0 · Options.Applicative.Builder.Internal
  • Monoid (Doc a)Defined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Monoid (Doc ann)Defined in prettyprinter-1.7.2 · Prettyprinter.Internal
    mempty = emptyDoc
    mconcat = hcat
    
    Example1 expression
    mappend "hello" "world" :: Doc annhelloworld
  • Monoid (Array a)Defined in primitive-0.9.1.0 · Data.Primitive.Array
  • Monoid (PrimArray a)Defined in primitive-0.9.1.0 · Data.Primitive.PrimArray
  • Monoid (SmallArray a)Defined in primitive-0.9.1.0 · Data.Primitive.SmallArray
  • Monoid (CharMap a)Defined in regex-tdfa-1.3.2.6 · Data.IntMap.CharMap2
  • Monoid (EnumSet e)Defined in regex-tdfa-1.3.2.6 · Data.IntSet.EnumSet2
  • Monoid (Validity k)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal.Debug
  • Monoid (Vector a)Defined in vector-0.13.2.0 · Data.Vector
  • Monoid (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Strict
  • Monoid [a]Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Monoid a => Monoid (Identity a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Identity
  • Monoid a => Monoid (Down a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Ord
  • Monoid a => Monoid (Dual a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Monoid a => Monoid (STM a)Defined in ghc-internal-10.0.0 · GHC.Internal.STM
  • Monoid a => Monoid (Q a)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Monad
  • Monoid a => Monoid (IO a)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Monoid a => Monoid (a)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Monoid m => Monoid (WrappedMonoid m)Defined in base-4.23.0.0 · Data.Semigroup
  • Monoid p => Monoid (Par1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Monoid s => Monoid (CI s)Defined in case-insensitive-1.2.1.0 · Data.CaseInsensitive.Internal
  • Semigroup a => Monoid (Maybe a)Defined in ghc-internal-10.0.0 · GHC.Internal.Base

    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.

  • Semigroup a => Monoid (Chunk a)Defined in optparse-applicative-0.18.1.0 · Options.Applicative.Help.Chunk
  • Semigroup a => Monoid (Maybe a)Defined in strict-0.5.1 · Data.Strict.Maybe
  • Bits a => Monoid (Ior a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Bits a => Monoid (Xor a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • FiniteBits a => Monoid (And a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits

    This constraint is arguably too strong. However, as some types (such as Natural) have undefined complement, this is the only safe choice.

  • FiniteBits a => Monoid (Iff a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits

    This constraint is arguably too strong. However, as some types (such as Natural) have undefined complement, this is the only safe choice.

  • Ord a => Monoid (AdjacencyMap a)Defined in algebraic-graphs-0.8 · Algebra.Graph.AdjacencyMap

    Defined via overlay and empty.

  • Ord a => Monoid (PowerSet a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Ord a => Monoid (Relation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation

    Defined via overlay and empty.

  • Ord a => Monoid (Relation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Symmetric

    Defined via overlay and empty.

  • Ord a => Monoid (Set a)Defined in containers-0.8 · Data.Set.Internal

    mempty = empty

  • Ord a => Monoid (Max a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Utils
  • Ord a => Monoid (Min a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Utils
  • Ord e => Monoid (EF e)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error.Builder
  • Ord t => Monoid (Hints t)Defined in megaparsec-9.5.0 · Text.Megaparsec.Internal
  • Storable a => Monoid (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Storable
  • Num a => Monoid (AlphaColour a)Defined in colour-2.3.7 · Data.Colour.Internal
  • Num a => Monoid (Colour a)Defined in colour-2.3.7 · Data.Colour.Internal
  • Num a => Monoid (TransferFunction a)Defined in colour-2.3.7 · Data.Colour.RGBSpace
  • Num a => Monoid (Product a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Num a => Monoid (Sum a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Hashable a => Monoid (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal

    mempty = empty

    mappend = union

    O(n+m)

    To obtain good performance, the smaller set must be presented as the first argument.

    Examples
    Example1 expression
    mappend (fromList [1,2]) (fromList [2,3])fromList [1,2,3]
  • Stream s => Monoid (ET s)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error.Builder
  • Prim a => Monoid (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Primitive
  • Unbox a => Monoid (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphan
  • (Monoid a, Ord a) => Monoid (Minimum a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • (Semigroup a, Monoid a) => Monoid (Concurrently a)Defined in async-2.2.6 · Control.Concurrent.Async.Internal
  • (Semigroup a, Monoid a) => Monoid (Concurrently a)Defined in hspec-core-2.11.18 · Control.Concurrent.Async.Internal
  • (Ord a, Bounded a) => Monoid (Max a)Defined in base-4.23.0.0 · Data.Semigroup
  • (Ord a, Bounded a) => Monoid (Min a)Defined in base-4.23.0.0 · Data.Semigroup
  • (Ord a, Num a) => Monoid (Capacity a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • (Ord a, Num a) => Monoid (Distance a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • (Generic a, Monoid (Rep a ())) => Monoid (Generically a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Num a, Ord a) => Monoid (Count a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • a => Monoid (Dict a)Defined in constraints-0.14.4 · Data.Constraint
  • Monoid a :=> Applicative (Const a)Defined in constraints-0.14.4 · Data.Constraint
  • Monoid a :=> Applicative (Tuple2 a)Defined in constraints-0.14.4 · Data.Constraint
  • Monoid a :=> Monoid (Const a b)Defined in constraints-0.14.4 · Data.Constraint
  • Monoid a :=> Monoid (Identity a)Defined in constraints-0.14.4 · Data.Constraint
  • Monoid a :=> Monoid (Maybe a)Defined in constraints-0.14.4 · Data.Constraint
  • Monoid a :=> Monoid (IO a)Defined in constraints-0.14.4 · Data.Constraint
  • Class (Semigroup a) (Monoid a)Defined in constraints-0.14.4 · Data.Constraint
  • Applicative m => Monoid (Some m)Defined in some-1.0.6 · Data.GADT.Internal
  • Applicative m => Monoid (Some m)Defined in some-1.0.6 · Data.Some.GADT
  • Applicative m => Monoid (Some m)Defined in some-1.0.6 · Data.Some.Newtype
  • Monad m => Monoid (ZeptoT m a)Defined in attoparsec-0.14.4 · Data.Attoparsec.Zepto
  • Monoid (Parser i a)Defined in attoparsec-0.14.4 · Data.Attoparsec.Internal.Types
  • Monoid (Alt f a)Defined in free-5.2 · Control.Alternative.Free
  • Monoid (Alt f a)Defined in free-5.2 · Control.Alternative.Free.Final
  • Monoid (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Monoid (U1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Monoid (Scopes m a)Defined in hnix-0.17.0 · Nix.Scope
  • Monoid (LogicT m a)Defined in logict-0.8.2.0 · Control.Monad.Logic
  • Monoid (Mod f a)Defined in optparse-applicative-0.18.1.0 · Options.Applicative.Builder.Internal
  • Monoid a => Monoid (Op a b)Defined in base-4.23.0.0 · Data.Functor.Contravariant

    mempty @(Op a b) without newtypes is mempty @(b->a) = _ -> mempty.

    mempty :: Op a b
    mempty = Op _ -> mempty
    
  • Monoid a => Monoid (ST s a)Defined in ghc-internal-10.0.0 · GHC.Internal.Control.Monad.ST.Lazy.Imp
  • Monoid a => Monoid (ST s a)Defined in ghc-internal-10.0.0 · GHC.Internal.ST
  • Monoid b => Monoid (a -> b)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Monoid e => Monoid (Graph e a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Labelled

    Defined via overlay and empty.

  • Ord k => Monoid (Map k v)Defined in containers-0.8 · Data.Map.Internal

    mempty = empty

  • Ord k => Monoid (EnumMap k a)Defined in regex-tdfa-1.3.2.6 · Data.IntMap.EnumMap2
  • Hashable k => Monoid (HashMap k v)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal

    mempty = empty

    mappend = union

    If a key occurs in both maps, the mapping from the first will be the mapping in the result.

    Examples
    Example1 expression
    mappend (fromList [(1,'a'),(2,'b')]) (fromList [(2,'c'),(3,'d')])fromList [(1,'a'),(2,'b'),(3,'d')]
  • Routable k => Monoid (IPRTable k a)Defined in iproute-1.7.15 · Data.IP.RouteTable.Internal

    Since: 1.7.5

  • (MonadConc m, Monoid a) => Monoid (Concurrently m a)Defined in concurrency-1.11.0.3 · Control.Concurrent.Classy.Async
  • (Monad m, Semigroup a, Monoid a) => Monoid (IterT m a)Defined in free-5.2 · Control.Monad.Trans.Iter
  • (Monoid a, Monoid b) => Monoid (Pair a b)Defined in strict-0.5.1 · Data.Strict.Tuple
  • (Monoid a, Monoid b) => Monoid (a, b)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • (Semigroup a, Monoid a) => Monoid (ConcurrentlyE e a)Defined in async-2.2.6 · Control.Concurrent.Async.Internal
  • (Semigroup a, Monoid a) => Monoid (ConcurrentlyE e a)Defined in hspec-core-2.11.18 · Control.Concurrent.Async.Internal
  • (Eq o, Monoid a, Monoid o) => Monoid (Optimum o a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • (Ord a, Eq e, Monoid e) => Monoid (AdjacencyMap e a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.AdjacencyMap

    Defined via overlay and empty.

  • (Ord a, Ord b) => Monoid (AdjacencyMap a b)Defined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap

    Defined via overlay and empty.

  • (Stream s, Ord e) => Monoid (ParseError s e)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error
  • (Repeat f, Monoid a) => Monoid (Zippy f a)Defined in semialign-1.3.1.1 · Data.Zip
  • (Monoid a, Monoid b) :=> Monoid (a, b)Defined in constraints-0.14.4 · Data.Constraint
  • Alternative f => Monoid (Alt f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Applicative f => Monoid (Traversed a f)Defined in indexed-traversable-0.1.5 · WithIndex
  • Monad m => Monoid (Sequenced a m)Defined in indexed-traversable-0.1.5 · WithIndex
  • Monoid (f p) => Monoid (Rec1 f p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Monoid a => Monoid (Const a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Const
  • Monoid a => Monoid (Constant a b)Defined in transformers-0.6.3.0 · Data.Functor.Constant
  • ArrowPlus p => Monoid (Tambara p a b)Defined in profunctors-5.6.3 · Data.Profunctor.Strong
  • (Biapplicative bi, Monoid a, Monoid b) => Monoid (Biap bi a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Biap
  • (Applicative f, Monoid a) => Monoid (Ap f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • (Monoid a, Monoid b, Monoid c) => Monoid (a, b, c)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • (Semigroup a, Monoid a) => Monoid (Tagged s a)Defined in tagged-0.8.11 · Data.Tagged
  • (Profunctor p, Arrow p, Semigroup b, Monoid b) => Monoid (Closure p a b)Defined in profunctors-5.6.3 · Data.Profunctor.Closed
  • Monoid c => Monoid (K1 i c p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Monoid r => Monoid (Forget r a b)Defined in profunctors-5.6.3 · Data.Profunctor.Types

    Via Monoid r => (a -> r)

  • (Monoid (f a), Monoid (g a)) => Monoid (Product f g a)Defined in base-4.23.0.0 · Data.Functor.Product
  • (Monoid (f p), Monoid (g p)) => Monoid ((:*:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Monoid a, Monoid b, Monoid c, Monoid d) => Monoid (a, b, c, d)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • (Monoid a, Semigroup (ParsecT s u m a)) => Monoid (ParsecT s u m a)Defined in parsec-3.1.18.0 · Text.Parsec.Prim

    The Monoid instance for ParsecT is used for the same purposes as the Semigroup instance.

  • (Stream s, Monoid a) => Monoid (ParsecT e s m a)Defined in megaparsec-9.5.0 · Text.Megaparsec.Internal
  • Monoid (f (g a)) => Monoid (Compose f g a)Defined in base-4.23.0.0 · Data.Functor.Compose
  • Monoid (f (g p)) => Monoid ((:.:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Monoid (f p) => Monoid (M1 i c f p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Monoid a, Monoid b, Monoid c, Monoid d, Monoid e) => Monoid (a, b, c, d, e)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
datadata NonEmpty a
#

Non-empty (and non-strict) list type.

Constructors

  • a :| [a]infixr 5
Instances66Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
classclass Semigroup a where
#

The class of semigroups (types with an associative binary operation).

Instances should satisfy the following:

Associativity

x <> (y <> z) = (x <> y) <> z

You can alternatively define sconcat instead of (<>), in which case the laws are:

Unit

sconcat (pure x) = x

Multiplication

sconcat (join xss) = sconcat (fmap sconcat xss)

Methods

  • (<>) :: a -> a -> ainfixr 6

    An associative operation.

    Examples
    Example1 expression
    [1,2,3] <> [4,5,6][1,2,3,4,5,6]
    Example1 expression
    Just [1, 2, 3] <> Just [4, 5, 6]Just [1,2,3,4,5,6]
    Example1 expression
    putStr "Hello, " <> putStrLn "World!"Hello, World!
  • sconcat :: NonEmpty a -> a

    Reduce a non-empty list with <>

    The default definition should be sufficient, but this can be overridden for efficiency.

    Examples

    For the following examples, we will assume that we have:

    Example1 expression
    import Data.List.NonEmpty (NonEmpty (..))
    Example1 expression
    sconcat $ "Hello" :| [" ", "Haskell", "!"]"Hello Haskell!"
    Example1 expression
    sconcat $ Just [1, 2, 3] :| [Nothing, Just [4, 5, 6]]Just [1,2,3,4,5,6]
    Example1 expression
    sconcat $ Left 1 :| [Right 2, Left 3, Right 4]Right 2
  • stimes :: Integral b => b -> a -> a

    Repeat a value n times.

    The default definition will raise an exception for a multiplier that is <= 0. This may be overridden with an implementation that is total. For monoids it is preferred to use stimesMonoid.

    By making this a member of the class, idempotent semigroups and monoids can upgrade this to execute in \mathcal{O}(1) by picking stimes = stimesIdempotent or stimes = stimesIdempotentMonoid respectively.

    Examples
    Example1 expression
    stimes 4 [1][1,1,1,1]
    Example1 expression
    stimes 5 (putStr "hi!")hi!hi!hi!hi!hi!
    Example1 expression
    stimes 3 (Right ":)")Right ":)"
Instances262Lifting2, Lifting, Class, :=>, Semigroup, …
datadata Void
#

Uninhabited data type

Instances47Eq, Data, Ord, Read, Show, Ix, …
methodxor :: a -> a -> a
#

Bitwise "xor"

classclass Eq a where
#

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, instances are encouraged to follow these properties:

Reflexivity

x == x

=

True

Symmetry

x == y

=

y == x

Transitivity

if

x == y && y == z

=

True

, then

x == z

=

True

Extensionality

if

x == y

=

True

and

f

is a function whose return type is an instance of

Eq

, then

f x == f y

=

True

Negation

x /= y

=

not (x == y)

Methods

Instances1526Lifting2, Lifting, Class, :=>, Eq, …
  • Eq CountsDefined in HUnit-1.6.2.0 · Test.HUnit.Base
  • Eq NodeDefined in HUnit-1.6.2.0 · Test.HUnit.Base
  • Eq StateDefined in HUnit-1.6.2.0 · Test.HUnit.Base
  • Eq FailureReasonDefined in HUnit-1.6.2.0 · Test.HUnit.Lang
  • Eq HUnitFailureDefined in HUnit-1.6.2.0 · Test.HUnit.Lang
  • Eq ResultDefined in HUnit-1.6.2.0 · Test.HUnit.Lang
  • Eq ShrunkDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Function
  • Eq ASCIIStringDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq PrintableStringDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq UnicodeStringDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq ADefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Eq BDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Eq CDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Eq OrdADefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Eq OrdBDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Eq OrdCDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Eq LitDefined in aeson-2.2.5.1 · Data.Aeson.Decoding.Tokens
  • Eq NumberDefined in aeson-2.2.5.1 · Data.Aeson.Decoding.Tokens
  • Eq KeyDefined in aeson-2.2.5.1 · Data.Aeson.Key
  • Eq ArityDefined in aeson-2.2.5.1 · Data.Aeson.TH
  • Eq FunArgDefined in aeson-2.2.5.1 · Data.Aeson.TH
  • Eq StarKindStatusDefined in aeson-2.2.5.1 · Data.Aeson.TH
  • Eq DotNetTimeDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Eq JSONPathElementDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Eq SumEncodingDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Eq ValueDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Eq AdjacencyIntMapDefined in algebraic-graphs-0.8 · Algebra.Graph.AdjacencyIntMap
  • Eq PartDefined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap.Algorithm
  • Eq AlphabetDefined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.Example.Automaton
  • Eq StateDefined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.Example.Automaton
  • Eq CityDefined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.Example.Network
  • Eq BlinkSpeedDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Eq ColorDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Eq ColorIntensityDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Eq ConsoleIntensityDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Eq ConsoleLayerDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Eq SGRDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Eq UnderliningDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Eq AsyncCancelledDefined in async-2.2.6 · Control.Concurrent.Async.Internal
  • Eq MoreDefined in attoparsec-0.14.4 · Data.Attoparsec.Internal.Types
  • Eq PosDefined in attoparsec-0.14.4 · Data.Attoparsec.Internal.Types
  • Eq NumberDefined in attoparsec-0.14.4 · Data.Attoparsec.Number
  • Eq ByteArrayDefined in base-4.23.0.0 · Data.Array.Byte
  • Eq IoManagerFlagDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Eq TimeoutDefined in base-4.23.0.0 · System.Timeout
  • Eq PaddingDefined in base64-bytestring-1.2.1.0 · Data.ByteString.Base64.Internal
  • Eq PinnedStatusDefined in basement-0.0.16 · Basement.Compat.Primitive
  • Eq EndiannessDefined in basement-0.0.16 · Basement.Endianness
  • Eq OutOfBoundOperationDefined in basement-0.0.16 · Basement.Exception
  • Eq RecastDestinationSizeDefined in basement-0.0.16 · Basement.Exception
  • Eq RecastSourceSizeDefined in basement-0.0.16 · Basement.Exception
  • Eq EncodingDefined in basement-0.0.16 · Basement.String
  • Eq ASCII7_InvalidDefined in basement-0.0.16 · Basement.String.Encoding.ASCII7
  • Eq ISO_8859_1_InvalidDefined in basement-0.0.16 · Basement.String.Encoding.ISO_8859_1
  • Eq UTF16_InvalidDefined in basement-0.0.16 · Basement.String.Encoding.UTF16
  • Eq UTF32_InvalidDefined in basement-0.0.16 · Basement.String.Encoding.UTF32
  • Eq AsciiStringDefined in basement-0.0.16 · Basement.Types.AsciiString
  • Eq Char7Defined in basement-0.0.16 · Basement.Types.Char7
  • Eq FileSizeDefined in basement-0.0.16 · Basement.Types.OffsetSize
  • Eq AddrDefined in basement-0.0.16 · Basement.Types.Ptr
  • Eq Word128Defined in basement-0.0.16 · Basement.Types.Word128
  • Eq Word256Defined in basement-0.0.16 · Basement.Types.Word256
  • Eq StringDefined in basement-0.0.16 · Basement.UTF8.Base
  • Eq CMDefined in basement-0.0.16 · Basement.UTF8.Types
  • Eq ValidationFailureDefined in basement-0.0.16 · Basement.UTF8.Types
  • Eq BiFunDefined in bifunctors-5.6.3 · Data.Bifunctor.TH
  • Eq OptionsDefined in bifunctors-5.6.3 · Data.Bifunctor.TH
  • Eq StarKindStatusDefined in bifunctors-5.6.3 · Data.Bifunctor.TH.Internal
  • Eq ByteOrderDefined in byteorder-1.0.4 · System.ByteOrder
  • Eq FloatingDecimalDefined in bytestring-0.12.2.0 · Data.ByteString.Builder.RealFloat.D2S
  • Eq FloatingDecimalDefined in bytestring-0.12.2.0 · Data.ByteString.Builder.RealFloat.F2S
  • Eq ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Internal.Type
  • Eq ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Lazy.Internal
  • Eq ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • Eq ByteArrayDefined in cborg-0.2.10.0 · Codec.CBOR.ByteArray
  • Eq SlicedByteArrayDefined in cborg-0.2.10.0 · Codec.CBOR.ByteArray.Sliced
  • Eq TokenTypeDefined in cborg-0.2.10.0 · Codec.CBOR.Decoding
  • Eq TokensDefined in cborg-0.2.10.0 · Codec.CBOR.Encoding
  • Eq TermTokenDefined in cborg-0.2.10.0 · Codec.CBOR.FlatTerm
  • Eq DeserialiseFailureDefined in cborg-0.2.10.0 · Codec.CBOR.Read
  • Eq TermDefined in cborg-0.2.10.0 · Codec.CBOR.Term
  • Eq MoreDefined in cereal-0.5.8.3 · Data.Serialize.Get
  • Eq ClockDefined in clock-0.8.4 · System.Clock
  • Eq TimeSpecDefined in clock-0.8.4 · System.Clock
  • Eq SecondsDefined in clock-0.8.4 · System.Clock.Seconds
  • Eq RGBGamutDefined in colour-2.3.7 · Data.Colour.RGB
  • Eq StateDefined in concurrency-1.11.0.3 · Control.Concurrent.Classy.RWLock
  • Eq IntSetDefined in containers-0.8 · Data.IntSet.Internal
  • Eq IntersectionDefined in containers-0.8 · Data.IntSet.Internal
  • Eq PrefixDefined in containers-0.8 · Data.IntSet.Internal.IntTreeCommons
  • Eq SameSiteOptionDefined in cookie-0.5.1 · Web.Cookie
  • Eq SetCookieDefined in cookie-0.5.1 · Web.Cookie
  • Eq CtxDefined in cryptohash-md5-0.11.101.0 · Crypto.Hash.MD5.FFI
  • Eq NonceDefined in crypton-2.1.7 · Crypto.Cipher.AESGCMSIV
  • Eq CamelliaDefined in crypton-2.1.7 · Crypto.Cipher.Camellia.Primitive
  • Eq KeyDefined in crypton-2.1.7 · Crypto.Cipher.ChaChaPoly1305
  • Eq DESDefined in crypton-2.1.7 · Crypto.Cipher.DES
  • Eq DirectionDefined in crypton-2.1.7 · Crypto.Cipher.DES.Primitive
  • Eq ScheduleDefined in crypton-2.1.7 · Crypto.Cipher.DES.Primitive
  • Eq DES_EDE2Defined in crypton-2.1.7 · Crypto.Cipher.TripleDES
  • Eq DES_EDE3Defined in crypton-2.1.7 · Crypto.Cipher.TripleDES
  • Eq DES_EEE2Defined in crypton-2.1.7 · Crypto.Cipher.TripleDES
  • Eq DES_EEE3Defined in crypton-2.1.7 · Crypto.Cipher.TripleDES
  • Eq ByteSizeDefined in crypton-2.1.7 · Crypto.Cipher.Twofish.Primitive
  • Eq ColumnDefined in crypton-2.1.7 · Crypto.Cipher.Twofish.Primitive
  • Eq AEADModeDefined in crypton-2.1.7 · Crypto.Cipher.Types.Base
  • Eq AuthTagDefined in crypton-2.1.7 · Crypto.Cipher.Types.Base
  • Eq CCM_LDefined in crypton-2.1.7 · Crypto.Cipher.Types.Base
  • Eq CCM_MDefined in crypton-2.1.7 · Crypto.Cipher.Types.Base
  • Eq KeySizeSpecifierDefined in crypton-2.1.7 · Crypto.Cipher.Types.Base
  • Eq FormatDefined in crypton-2.1.7 · Crypto.Data.Padding
  • Eq SharedSecretDefined in crypton-2.1.7 · Crypto.ECC
  • Eq PointDefined in crypton-2.1.7 · Crypto.ECC.Edwards25519
  • Eq ScalarDefined in crypton-2.1.7 · Crypto.ECC.Edwards25519
  • Eq CurveBinaryParamDefined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq CurvePrimeParamDefined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq CurveTypeDefined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p112r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p112r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p128r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p128r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p160k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p160r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p160r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p192k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p192r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p224k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p224r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p256k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p256r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p384r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_p521r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t113r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t113r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t131r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t131r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t163k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t163r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t163r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t193r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t193r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t233k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t233r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t239k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t283k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t283r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t409k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t409r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t571k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq SEC_t571r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq CryptoErrorDefined in crypton-2.1.7 · Crypto.Error.Types
  • Eq CurveFieldDefined in crypton-2.1.7 · Crypto.Internal.ECC
  • Eq MulResultDefined in crypton-2.1.7 · Crypto.Internal.ECC
  • Eq KeyDefined in crypton-2.1.7 · Crypto.Internal.Poly1305
  • Eq OptionsDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Eq VariantDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Eq VersionDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Eq ParametersDefined in crypton-2.1.7 · Crypto.KDF.BCryptPBKDF
  • Eq AuthDefined in crypton-2.1.7 · Crypto.MAC.Poly1305
  • Eq GenTopPolicyDefined in crypton-2.1.7 · Crypto.Number.Generate
  • Eq DhSecretDefined in crypton-2.1.7 · Crypto.PubKey.Curve25519
  • Eq PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Curve25519
  • Eq SecretKeyDefined in crypton-2.1.7 · Crypto.PubKey.Curve25519
  • Eq DhSecretDefined in crypton-2.1.7 · Crypto.PubKey.Curve448
  • Eq PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Curve448
  • Eq SecretKeyDefined in crypton-2.1.7 · Crypto.PubKey.Curve448
  • Eq ParamsDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Eq PrivateNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Eq PublicNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Eq SharedKeyDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Eq KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Eq ParamsDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Eq PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Eq PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Eq SignatureDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Eq ExtendedSignatureDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Eq KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Eq PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Eq PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Eq SignatureDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Eq PointDefined in crypton-2.1.7 · Crypto.PubKey.ECC.P256
  • Eq ScalarDefined in crypton-2.1.7 · Crypto.PubKey.ECC.P256
  • Eq CurveDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Eq CurveBinaryDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Eq CurveCommonDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Eq CurveNameDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Eq CurvePrimeDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Eq PointDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Eq PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Ed25519
  • Eq SecretKeyDefined in crypton-2.1.7 · Crypto.PubKey.Ed25519
  • Eq SignatureDefined in crypton-2.1.7 · Crypto.PubKey.Ed25519
  • Eq PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Ed448
  • Eq SecretKeyDefined in crypton-2.1.7 · Crypto.PubKey.Ed448
  • Eq SignatureDefined in crypton-2.1.7 · Crypto.PubKey.Ed448
  • Eq SignatureDefined in crypton-2.1.7 · Crypto.PubKey.ElGamal
  • Eq BlinderDefined in crypton-2.1.7 · Crypto.PubKey.RSA.Types
  • Eq ErrorDefined in crypton-2.1.7 · Crypto.PubKey.RSA.Types
  • Eq KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.RSA.Types
  • Eq PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.RSA.Types
  • Eq PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.RSA.Types
  • Eq PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Basic
  • Eq PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Basic
  • Eq SignatureDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Basic
  • Eq PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Modified
  • Eq PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Modified
  • Eq PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.RW
  • Eq PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.RW
  • Eq ErrorDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Types
  • Eq ProcessorOptionDefined in crypton-2.1.7 · Crypto.System.CPU
  • Eq ASN1ErrorDefined in crypton-asn1-encoding-0.10.0 · Data.ASN1.Error
  • Eq MoreDefined in crypton-asn1-encoding-0.10.0 · Data.ASN1.Get
  • Eq BitArrayDefined in crypton-asn1-types-0.4.1 · Data.ASN1.BitArray
  • Eq BitArrayOutOfBoundDefined in crypton-asn1-types-0.4.1 · Data.ASN1.BitArray
  • Eq PrettyTypeDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Pretty
  • Eq ASN1Defined in crypton-asn1-types-0.4.1 · Data.ASN1.Types
  • Eq ASN1ConstructionTypeDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types
  • Eq ASN1TimeTypeDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types
  • Eq ASN1ClassDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.Lowlevel
  • Eq ASN1EventDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.Lowlevel
  • Eq ASN1HeaderDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.Lowlevel
  • Eq ASN1LengthDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.Lowlevel
  • Eq ASN1CharacterStringDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.String
  • Eq ASN1StringEncodingDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.String
  • Eq PEMDefined in crypton-pem-0.3.0 · Data.PEM.Types
  • Eq ConnectDefined in crypton-socks-0.6.2 · Network.Socks5.Command
  • Eq SocksAddressDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Eq SocksCommandDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Eq SocksErrorDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Eq SocksHostAddressDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Eq SocksMethodDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Eq SocksReplyDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Eq SocksVersionDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Eq SocksHelloDefined in crypton-socks-0.6.2 · Network.Socks5.Wire
  • Eq SocksHelloResponseDefined in crypton-socks-0.6.2 · Network.Socks5.Wire
  • Eq SocksRequestDefined in crypton-socks-0.6.2 · Network.Socks5.Wire
  • Eq SocksResponseDefined in crypton-socks-0.6.2 · Network.Socks5.Wire
  • Eq HashALGDefined in crypton-x509-1.9.2 · Data.X509.AlgorithmIdentifier
  • Eq PubKeyALGDefined in crypton-x509-1.9.2 · Data.X509.AlgorithmIdentifier
  • Eq SignatureALGDefined in crypton-x509-1.9.2 · Data.X509.AlgorithmIdentifier
  • Eq CRLDefined in crypton-x509-1.9.2 · Data.X509.CRL
  • Eq RevokedCertificateDefined in crypton-x509-1.9.2 · Data.X509.CRL
  • Eq CertKeyUsageDefined in crypton-x509-1.9.2 · Data.X509.Cert
  • Eq CertificateDefined in crypton-x509-1.9.2 · Data.X509.Cert
  • Eq CertificateChainDefined in crypton-x509-1.9.2 · Data.X509.CertificateChain
  • Eq CertificateChainRawDefined in crypton-x509-1.9.2 · Data.X509.CertificateChain
  • Eq DistinguishedNameDefined in crypton-x509-1.9.2 · Data.X509.DistinguishedName
  • Eq DistinguishedNameInnerDefined in crypton-x509-1.9.2 · Data.X509.DistinguishedName
  • Eq DnElementDefined in crypton-x509-1.9.2 · Data.X509.DistinguishedName
  • Eq AltNameDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq DistributionPointDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq ExtAuthorityKeyIdDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq ExtBasicConstraintsDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq ExtCrlDistributionPointsDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq ExtExtendedKeyUsageDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq ExtKeyUsageDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq ExtKeyUsageFlagDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq ExtKeyUsagePurposeDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq ExtNameConstraintsDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq ExtNetscapeCommentDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq ExtSubjectAltNameDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq ExtSubjectKeyIdDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq GeneralSubtreeDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq ReasonFlagDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Eq ExtensionRawDefined in crypton-x509-1.9.2 · Data.X509.ExtensionRaw
  • Eq ExtensionsDefined in crypton-x509-1.9.2 · Data.X509.ExtensionRaw
  • Eq PrivKeyDefined in crypton-x509-1.9.2 · Data.X509.PrivateKey
  • Eq PrivKeyECDefined in crypton-x509-1.9.2 · Data.X509.PrivateKey
  • Eq PubKeyDefined in crypton-x509-1.9.2 · Data.X509.PublicKey
  • Eq PubKeyECDefined in crypton-x509-1.9.2 · Data.X509.PublicKey
  • Eq SerializedPointDefined in crypton-x509-1.9.2 · Data.X509.PublicKey
  • Eq FailedReasonDefined in crypton-x509-validation-1.9.1 · Data.X509.Validation
  • Eq IPAddressDefined in crypton-x509-validation-1.9.1 · Data.X509.Validation
  • Eq ValidationChecksDefined in crypton-x509-validation-1.9.1 · Data.X509.Validation
  • Eq ValidationCacheResultDefined in crypton-x509-validation-1.9.1 · Data.X509.Validation.Cache
  • Eq FingerprintDefined in crypton-x509-validation-1.9.1 · Data.X509.Validation.Fingerprint
  • Eq SignatureFailureDefined in crypton-x509-validation-1.9.1 · Data.X509.Validation.Signature
  • Eq SignatureVerificationDefined in crypton-x509-validation-1.9.1 · Data.X509.Validation.Signature
  • Eq NonceDefined in cryptonite-0.30 · Crypto.Cipher.AESGCMSIV
  • Eq DESDefined in cryptonite-0.30 · Crypto.Cipher.DES
  • Eq DES_EDE2Defined in cryptonite-0.30 · Crypto.Cipher.TripleDES
  • Eq DES_EDE3Defined in cryptonite-0.30 · Crypto.Cipher.TripleDES
  • Eq DES_EEE2Defined in cryptonite-0.30 · Crypto.Cipher.TripleDES
  • Eq DES_EEE3Defined in cryptonite-0.30 · Crypto.Cipher.TripleDES
  • Eq ByteSizeDefined in cryptonite-0.30 · Crypto.Cipher.Twofish.Primitive
  • Eq ColumnDefined in cryptonite-0.30 · Crypto.Cipher.Twofish.Primitive
  • Eq AEADModeDefined in cryptonite-0.30 · Crypto.Cipher.Types.Base
  • Eq AuthTagDefined in cryptonite-0.30 · Crypto.Cipher.Types.Base
  • Eq CCM_LDefined in cryptonite-0.30 · Crypto.Cipher.Types.Base
  • Eq CCM_MDefined in cryptonite-0.30 · Crypto.Cipher.Types.Base
  • Eq KeySizeSpecifierDefined in cryptonite-0.30 · Crypto.Cipher.Types.Base
  • Eq FormatDefined in cryptonite-0.30 · Crypto.Data.Padding
  • Eq SharedSecretDefined in cryptonite-0.30 · Crypto.ECC
  • Eq PointDefined in cryptonite-0.30 · Crypto.ECC.Edwards25519
  • Eq ScalarDefined in cryptonite-0.30 · Crypto.ECC.Edwards25519
  • Eq CurveBinaryParamDefined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq CurvePrimeParamDefined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq CurveTypeDefined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p112r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p112r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p128r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p128r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p160k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p160r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p160r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p192k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p192r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p224k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p224r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p256k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p256r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p384r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_p521r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t113r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t113r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t131r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t131r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t163k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t163r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t163r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t193r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t193r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t233k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t233r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t239k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t283k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t283r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t409k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t409r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t571k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq SEC_t571r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq CryptoErrorDefined in cryptonite-0.30 · Crypto.Error.Types
  • Eq OptionsDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Eq VariantDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Eq VersionDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Eq ParametersDefined in cryptonite-0.30 · Crypto.KDF.BCryptPBKDF
  • Eq AuthDefined in cryptonite-0.30 · Crypto.MAC.Poly1305
  • Eq GenTopPolicyDefined in cryptonite-0.30 · Crypto.Number.Generate
  • Eq DhSecretDefined in cryptonite-0.30 · Crypto.PubKey.Curve25519
  • Eq PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Curve25519
  • Eq SecretKeyDefined in cryptonite-0.30 · Crypto.PubKey.Curve25519
  • Eq DhSecretDefined in cryptonite-0.30 · Crypto.PubKey.Curve448
  • Eq PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Curve448
  • Eq SecretKeyDefined in cryptonite-0.30 · Crypto.PubKey.Curve448
  • Eq ParamsDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Eq PrivateNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Eq PublicNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Eq SharedKeyDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Eq KeyPairDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Eq ParamsDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Eq PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Eq PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Eq SignatureDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Eq KeyPairDefined in cryptonite-0.30 · Crypto.PubKey.ECC.ECDSA
  • Eq PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.ECC.ECDSA
  • Eq PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.ECC.ECDSA
  • Eq SignatureDefined in cryptonite-0.30 · Crypto.PubKey.ECC.ECDSA
  • Eq PointDefined in cryptonite-0.30 · Crypto.PubKey.ECC.P256
  • Eq ScalarDefined in cryptonite-0.30 · Crypto.PubKey.ECC.P256
  • Eq CurveDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Eq CurveBinaryDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Eq CurveCommonDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Eq CurveNameDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Eq CurvePrimeDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Eq PointDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Eq PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Ed25519
  • Eq SecretKeyDefined in cryptonite-0.30 · Crypto.PubKey.Ed25519
  • Eq SignatureDefined in cryptonite-0.30 · Crypto.PubKey.Ed25519
  • Eq PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Ed448
  • Eq SecretKeyDefined in cryptonite-0.30 · Crypto.PubKey.Ed448
  • Eq SignatureDefined in cryptonite-0.30 · Crypto.PubKey.Ed448
  • Eq BlinderDefined in cryptonite-0.30 · Crypto.PubKey.RSA.Types
  • Eq ErrorDefined in cryptonite-0.30 · Crypto.PubKey.RSA.Types
  • Eq KeyPairDefined in cryptonite-0.30 · Crypto.PubKey.RSA.Types
  • Eq PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.RSA.Types
  • Eq PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.RSA.Types
  • Eq PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Basic
  • Eq PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Basic
  • Eq SignatureDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Basic
  • Eq PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Modified
  • Eq PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Modified
  • Eq PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.RW
  • Eq PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.RW
  • Eq ErrorDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Types
  • Eq ProcessorOptionDefined in cryptonite-0.30 · Crypto.System.CPU
  • Eq StarKindStatusDefined in deriving-compat-0.6.8 · Data.Deriving.Internal
  • Eq FFTOptionsDefined in deriving-compat-0.6.8 · Data.Functor.Deriving.Internal
  • Eq FunctorFunDefined in deriving-compat-0.6.8 · Data.Functor.Deriving.Internal
  • Eq OrdFunDefined in deriving-compat-0.6.8 · Data.Ord.Deriving.Internal
  • Eq ReadOptionsDefined in deriving-compat-0.6.8 · Text.Read.Deriving.Internal
  • Eq ShowOptionsDefined in deriving-compat-0.6.8 · Text.Show.Deriving.Internal
  • Eq FileTypeDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Eq PermissionsDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Eq XdgDirectoryDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Eq XdgDirectoryListDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Eq ECHConfigDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Eq ECHConfigContentsDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Eq ECHConfigExtensionDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Eq EncodedServerPublicKeyDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Eq HpkeKeyConfigDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Eq HpkeSymmetricCipherSuiteDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Eq TimeoutDefined in extra-1.8.1 · System.Time.Extra
  • Eq VoidDefined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Eq BigNatDefined in ghc-internal-10.0.0 · GHC.Internal.Bignum.BigNat
  • Eq IntegerDefined in ghc-internal-10.0.0 · GHC.Internal.Bignum.Integer
  • Eq NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Bignum.Natural
  • Eq ByteOrderDefined in ghc-internal-10.0.0 · GHC.Internal.ByteOrder
  • Eq ClosureTypeDefined in ghc-internal-10.0.0 · GHC.Internal.ClosureTypes
  • Eq BlockReasonDefined in ghc-internal-10.0.0 · GHC.Internal.Conc.Sync
  • Eq ThreadIdDefined in ghc-internal-10.0.0 · GHC.Internal.Conc.Sync
  • Eq ThreadStatusDefined in ghc-internal-10.0.0 · GHC.Internal.Conc.Sync
  • Eq ConstrDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data

    Equality of constructors

  • Eq ConstrRepDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Eq DataRepDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Eq FixityDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Eq AllDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Eq AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Eq SomeTypeRepDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Typeable.Internal
  • Eq UniqueDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Unique
  • Eq VersionDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Version
  • Eq ControlMessageDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Control
  • Eq EPollFdDefined in ghc-internal-10.0.0 · GHC.Internal.Event.EPoll
  • Eq EventTypeDefined in ghc-internal-10.0.0 · GHC.Internal.Event.EPoll
  • Eq EventDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Internal.Types
  • Eq EventLifetimeDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Internal.Types
  • Eq LifetimeDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Internal.Types
  • Eq FdKeyDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Manager
  • Eq StateDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Manager
  • Eq EventDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Poll
  • Eq TimeoutKeyDefined in ghc-internal-10.0.0 · GHC.Internal.Event.TimeOut
  • Eq StateDefined in ghc-internal-10.0.0 · GHC.Internal.Event.TimerManager
  • Eq UniqueDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Unique
  • Eq ErrorCallDefined in ghc-internal-10.0.0 · GHC.Internal.Exception
  • Eq ArithExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.Exception.Type
  • Eq SpecConstrAnnotationDefined in ghc-internal-10.0.0 · GHC.Internal.Exts
  • Eq FingerprintDefined in ghc-internal-10.0.0 · GHC.Internal.Fingerprint.Type
  • Eq ErrnoDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Error
  • Eq CBoolDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CClockDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CDoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CFloatDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CLLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CPtrdiffDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CSCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CSUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CSigAtomicDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CSizeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CTimeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CUCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CUIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CUIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CUIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CULLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CULongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CUShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq CWcharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Eq IntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Eq WordPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Eq ForeignSrcLangDefined in ghc-internal-10.0.0 · GHC.Internal.ForeignSrcLang
  • Eq AssociativityDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq DecidedStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq FixityDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq SourceStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq SourceUnpackednessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq PrimTypeDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Eq TsoFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Eq WhatNextDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Eq WhyBlockedDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Eq HalfWordDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.InfoTable.Types
  • Eq StgInfoTableDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.InfoTable.Types
  • Eq CostCentreDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Eq CostCentreStackDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Eq IndexTableDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Eq StgTSOProfInfoDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Eq MaskingStateDefined in ghc-internal-10.0.0 · GHC.Internal.IO
  • Eq BufferStateDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Buffer
  • Eq IODeviceTypeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Device
  • Eq SeekModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Device
  • Eq CodingProgressDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Encoding.Types
  • Eq ArrayExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Eq AsyncExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Eq ExitCodeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Eq IOErrorTypeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Eq IOExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Eq HandlePosnDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle
  • Eq BufferModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Eq HandleDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Eq NewlineDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Eq NewlineModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Eq IOModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.IOMode
  • Eq IoSubSystemDefined in ghc-internal-10.0.0 · GHC.Internal.IO.SubSystem
  • Eq InfoProvDefined in ghc-internal-10.0.0 · GHC.Internal.InfoProv.Types
  • Eq Int16Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Eq Int32Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Eq Int64Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Eq Int8Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Eq ExtensionDefined in ghc-internal-10.0.0 · GHC.Internal.LanguageExtensions
  • Eq IoManagerFlagDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Eq ByteOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Constants
  • Eq WordOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Constants
  • Eq ByteOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.ConstantsProf
  • Eq WordOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.ConstantsProf
  • Eq StackEntryDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Decode
  • Eq SrcLocDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Types
  • Eq CBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CBlkSizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CCcDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CClockIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CDevDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CFsBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CFsFilCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CGidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CInoDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CKeyDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CModeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CNfdsDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CNlinkDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq COffDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CPidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CRLimDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CSocklenDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CSpeedDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CSsizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CTcflagDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CTimerDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq CUidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq FdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Eq AnnLookupDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq AnnTargetDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq BangDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq BndrVisDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq BodyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq BytesDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq CallconvDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq ClauseDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq ConDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq DecDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq DecidedStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq DerivClauseDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq DerivStrategyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq DocLocDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq ExpDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq FamilyResultSigDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq FixityDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq FixityDirectionDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq ForeignDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq FunDepDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq GuardDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq InfoDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq InjectivityAnnDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq InlineDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq LitDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq LocDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq MatchDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq ModNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq ModuleDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq ModuleInfoDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq NameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq NameFlavourDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq NameSpaceDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq NamespaceSpecifierDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq OccNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq OverlapDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq PatDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq PatSynArgsDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq PatSynDirDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq PhasesDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq PkgNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq PragmaDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq RangeDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq RoleDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq RuleBndrDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq RuleMatchDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq SafetyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq SourceStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq SourceUnpackednessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq SpecificityDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq StmtDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq TyLitDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq TySynEqnDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq TypeDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq TypeFamilyHeadDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq LexemeDefined in ghc-internal-10.0.0 · GHC.Internal.Text.Read.Lex
  • Eq NumberDefined in ghc-internal-10.0.0 · GHC.Internal.Text.Read.Lex
  • Eq SomeCharDefined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Eq SomeSymbolDefined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Eq SomeNatDefined in ghc-internal-10.0.0 · GHC.Internal.TypeNats
  • Eq BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Eq CharDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Eq DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Classes

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

    Example1 expression
    0/0 == (0/0 :: Double)False

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

    Example2 expressions
    0 == (-0 :: Double)Truerecip 0 == recip (-0 :: Double)False
  • Eq FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Classes

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

    Example1 expression
    0/0 == (0/0 :: Float)False

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

    Example2 expressions
    0 == (-0 :: Float)Truerecip 0 == recip (-0 :: Float)False
  • Eq IntDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Eq ModuleDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Eq OrderingDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Eq TrNameDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Eq TyConDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Eq WordDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Eq GeneralCategoryDefined in ghc-internal-10.0.0 · GHC.Internal.Unicode
  • Eq Word16Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Eq Word32Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Eq Word64Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Eq Word8Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Eq IndexUsedDefined in gitrev-1.3.1 · Development.GitRev
  • Eq HalfDefined in half-0.3.3 · Numeric.Half.Internal
  • Eq MD5Defined in hashing-0.1.1.0 · Crypto.Hash.MD5
  • Eq SHA1Defined in hashing-0.1.1.0 · Crypto.Hash.SHA1
  • Eq SHA224Defined in hashing-0.1.1.0 · Crypto.Hash.SHA256
  • Eq SHA256Defined in hashing-0.1.1.0 · Crypto.Hash.SHA256
  • Eq SHA384Defined in hashing-0.1.1.0 · Crypto.Hash.SHA512
  • Eq SHA512Defined in hashing-0.1.1.0 · Crypto.Hash.SHA512
  • Eq WhirlpoolDefined in hashing-0.1.1.0 · Crypto.Hash.Whirlpool
  • Eq PosDefined in haskell-lexer-1.2.1 · Language.Haskell.Lexer.Position
  • Eq TokenDefined in haskell-lexer-1.2.1 · Language.Haskell.Lexer.Tokens
  • Eq NAtomDefined in hnix-0.17.0 · Nix.Atoms
  • Eq FileTypeDefined in hnix-0.17.0 · Nix.Builtins
  • Eq NixPathEntryTypeDefined in hnix-0.17.0 · Nix.Builtins
  • Eq VersionComponentDefined in hnix-0.17.0 · Nix.Builtins
  • Eq StorePathDefined in hnix-0.17.0 · Nix.Effects
  • Eq HashModeDefined in hnix-0.17.0 · Nix.Effects.Derivation
  • Eq NBinaryOpDefined in hnix-0.17.0 · Nix.Expr.Types
  • Eq NPosDefined in hnix-0.17.0 · Nix.Expr.Types
  • Eq NSourcePosDefined in hnix-0.17.0 · Nix.Expr.Types
  • Eq NUnaryOpDefined in hnix-0.17.0 · Nix.Expr.Types
  • Eq RecursivityDefined in hnix-0.17.0 · Nix.Expr.Types
  • Eq VarNameDefined in hnix-0.17.0 · Nix.Expr.Types
  • Eq VariadicDefined in hnix-0.17.0 · Nix.Expr.Types
  • Eq SrcSpanDefined in hnix-0.17.0 · Nix.Expr.Types.Annotated
  • Eq NixLevelDefined in hnix-0.17.0 · Nix.Frames
  • Eq TAtomDefined in hnix-0.17.0 · Nix.Lint
  • Eq VerbosityDefined in hnix-0.17.0 · Nix.Options
  • Eq NAppOpDefined in hnix-0.17.0 · Nix.Parser
  • Eq NAssocDefined in hnix-0.17.0 · Nix.Parser
  • Eq NOpNameDefined in hnix-0.17.0 · Nix.Parser
  • Eq NOpPrecedenceDefined in hnix-0.17.0 · Nix.Parser
  • Eq NOperatorDefDefined in hnix-0.17.0 · Nix.Parser
  • Eq NSpecialOpDefined in hnix-0.17.0 · Nix.Parser
  • Eq ValueOriginDefined in hnix-0.17.0 · Nix.Pretty
  • Eq WrapModeDefined in hnix-0.17.0 · Nix.Pretty
  • Eq ContextFlavorDefined in hnix-0.17.0 · Nix.String
  • Eq NixLikeContextDefined in hnix-0.17.0 · Nix.String
  • Eq NixLikeContextValueDefined in hnix-0.17.0 · Nix.String
  • Eq NixStringDefined in hnix-0.17.0 · Nix.String
  • Eq StringContextDefined in hnix-0.17.0 · Nix.String
  • Eq CoercionLevelDefined in hnix-0.17.0 · Nix.String.Coerce
  • Eq CopyToStoreModeDefined in hnix-0.17.0 · Nix.String.Coerce
  • Eq AssumptionDefined in hnix-0.17.0 · Nix.Type.Assumption
  • Eq EnvDefined in hnix-0.17.0 · Nix.Type.Env
  • Eq ConstraintDefined in hnix-0.17.0 · Nix.Type.Infer
  • Eq InferStateDefined in hnix-0.17.0 · Nix.Type.Infer
  • Eq SubstDefined in hnix-0.17.0 · Nix.Type.Infer
  • Eq TypeErrorDefined in hnix-0.17.0 · Nix.Type.Infer
  • Eq SchemeDefined in hnix-0.17.0 · Nix.Type.Type
  • Eq TVarDefined in hnix-0.17.0 · Nix.Type.Type
  • Eq TypeDefined in hnix-0.17.0 · Nix.Type.Type
  • Eq PathDefined in hnix-0.17.0 · Nix.Utils
  • Eq BaseEncodingDefined in hnix-store-core-0.8.0.0 · System.Nix.Base
  • Eq BuildModeDefined in hnix-store-core-0.8.0.0 · System.Nix.Build
  • Eq BuildResultDefined in hnix-store-core-0.8.0.0 · System.Nix.Build
  • Eq BuildStatusDefined in hnix-store-core-0.8.0.0 · System.Nix.Build
  • Eq ContentAddressDefined in hnix-store-core-0.8.0.0 · System.Nix.ContentAddress
  • Eq ContentAddressMethodDefined in hnix-store-core-0.8.0.0 · System.Nix.ContentAddress
  • Eq DerivedPathDefined in hnix-store-core-0.8.0.0 · System.Nix.DerivedPath
  • Eq OutputsSpecDefined in hnix-store-core-0.8.0.0 · System.Nix.DerivedPath
  • Eq ParseOutputsErrorDefined in hnix-store-core-0.8.0.0 · System.Nix.DerivedPath
  • Eq OutputNameDefined in hnix-store-core-0.8.0.0 · System.Nix.OutputName
  • Eq DerivationOutputErrorDefined in hnix-store-core-0.8.0.0 · System.Nix.Realisation
  • Eq RealisationDefined in hnix-store-core-0.8.0.0 · System.Nix.Realisation
  • Eq RealisationWithIdDefined in hnix-store-core-0.8.0.0 · System.Nix.Realisation
  • Eq NarSignatureDefined in hnix-store-core-0.8.0.0 · System.Nix.Signature
  • Eq SignatureDefined in hnix-store-core-0.8.0.0 · System.Nix.Signature
  • Eq FileIngestionMethodDefined in hnix-store-core-0.8.0.0 · System.Nix.Store.Types
  • Eq RepairModeDefined in hnix-store-core-0.8.0.0 · System.Nix.Store.Types
  • Eq InvalidNameErrorDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Eq InvalidPathErrorDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Eq StoreDirDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Eq StorePathDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Eq StorePathHashPartDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Eq StorePathNameDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Eq StorePathTrustDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath.Metadata
  • Eq IsExecutableDefined in hnix-store-nar-0.1.2.0 · System.Nix.Nar.Effects
  • Eq MyGetErrorDefined in hnix-store-remote-0.7.0.0 · Data.Serializer.Example
  • Eq MyPutErrorDefined in hnix-store-remote-0.7.0.0 · Data.Serializer.Example
  • Eq OpCodeDefined in hnix-store-remote-0.7.0.0 · Data.Serializer.Example
  • Eq WorkerErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.MonadStore
  • Eq WorkerExceptionDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.MonadStore
  • Eq HandshakeSErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Eq LoggerSErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Eq ReplySErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Eq RequestSErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Eq SErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Eq ActivityDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Activity
  • Eq ActivityIDDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Activity
  • Eq ActivityResultDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Activity
  • Eq CheckModeDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.CheckMode
  • Eq GCActionDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.GC
  • Eq GCOptionsDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.GC
  • Eq GCResultDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.GC
  • Eq GCRootDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.GC
  • Eq ClientHandshakeInputDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Handshake
  • Eq ClientHandshakeOutputDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Handshake
  • Eq ServerHandshakeInputDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Handshake
  • Eq ServerHandshakeOutputDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Handshake
  • Eq BasicErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Eq ErrorInfoDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Eq FieldDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Eq LoggerDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Eq LoggerOpCodeDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Eq TraceDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Eq ProtoVersionDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.ProtoVersion
  • Eq MissingDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Query.Missing
  • Eq ProtoStoreConfigDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreConfig
  • Eq StoreConnectionDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreConfig
  • Eq StoreSocketPathDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreConfig
  • Eq StoreTCPDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreConfig
  • Eq StoreTextDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreText
  • Eq SubstituteModeDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.SubstituteMode
  • Eq SuccessCodeReplyDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.SuccessCodeReply
  • Eq TrustedFlagDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.TrustedFlag
  • Eq VerbosityDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Verbosity
  • Eq WorkerMagicDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.WorkerMagic
  • Eq WorkerOpDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.WorkerOp
  • Eq AEAD_IDDefined in hpke-0.2.1 · Crypto.HPKE.ID
  • Eq KDF_IDDefined in hpke-0.2.1 · Crypto.HPKE.ID
  • Eq KEM_IDDefined in hpke-0.2.1 · Crypto.HPKE.ID
  • Eq ModeDefined in hpke-0.2.1 · Crypto.HPKE.KeySchedule
  • Eq EncodedPublicKeyDefined in hpke-0.2.1 · Crypto.HPKE.Types
  • Eq EncodedSecretKeyDefined in hpke-0.2.1 · Crypto.HPKE.Types
  • Eq HPKEErrorDefined in hpke-0.2.1 · Crypto.HPKE.Types
  • Eq AsyncCancelledDefined in hspec-core-2.11.18 · Control.Concurrent.Async.Internal
  • Eq DIDefined in hspec-core-2.11.18 · Data.Algorithm.Diff
  • Eq DLDefined in hspec-core-2.11.18 · Data.Algorithm.Diff
  • Eq InvalidValueDefined in hspec-core-2.11.18 · GetOpt.Declarative.Environment
  • Eq SecondsDefined in hspec-core-2.11.18 · Test.Hspec.Core.Clock
  • Eq ColorModeDefined in hspec-core-2.11.18 · Test.Hspec.Core.Config.Definition
  • Eq UnicodeModeDefined in hspec-core-2.11.18 · Test.Hspec.Core.Config.Definition
  • Eq LocationDefined in hspec-core-2.11.18 · Test.Hspec.Core.Example.Location
  • Eq FailureReportDefined in hspec-core-2.11.18 · Test.Hspec.Core.FailureReport
  • Eq DiffDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.Diff
  • Eq LineDiffDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.Diff
  • Eq ValueDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.Pretty.Parser
  • Eq ChunkDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.V2
  • Eq ColorChunkDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.V2
  • Eq ProgressReportingDefined in hspec-core-2.11.18 · Test.Hspec.Core.Runner
  • Eq UseColorDefined in hspec-core-2.11.18 · Test.Hspec.Core.Runner
  • Eq ResultItemDefined in hspec-core-2.11.18 · Test.Hspec.Core.Runner.Result
  • Eq ResultItemStatusDefined in hspec-core-2.11.18 · Test.Hspec.Core.Runner.Result
  • Eq SpecResultDefined in hspec-core-2.11.18 · Test.Hspec.Core.Runner.Result
  • Eq SummaryDefined in hspec-core-2.11.18 · Test.Hspec.Core.Runner.Result
  • Eq ConfigDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Config
  • Eq ForestDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Run
  • Eq HookDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Run
  • Eq SpecDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Run
  • Eq TreeDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Run
  • Eq ChunkDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Sort
  • Eq NaturalSortKeyDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Sort
  • Eq ConnHostDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Eq ConnKeyDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Eq MaxHeaderLengthDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Eq MaxNumberHeadersDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Eq ProxyDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Eq ProxySecureModeDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Eq ResponseTimeoutDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Eq StatusHeadersDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Eq StreamFileStatusDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Eq LookupResultDefined in http-client-0.7.19 · Network.PublicSuffixList.Lookup
  • Eq DigestAuthExceptionDetailsDefined in http-client-tls-0.4.0 · Network.HTTP.Client.TLS
  • Eq ByteRangeDefined in http-types-0.12.6 · Network.HTTP.Types.Header
  • Eq StdMethodDefined in http-types-0.12.6 · Network.HTTP.Types.Method
  • Eq StatusDefined in http-types-0.12.6 · Network.HTTP.Types.Status

    A Status is equal to another Status if the status codes are equal.

  • Eq EscapeItemDefined in http-types-0.12.6 · Network.HTTP.Types.URI
  • Eq HttpVersionDefined in http-types-0.12.6 · Network.HTTP.Types.Version
  • Eq IPDefined in iproute-1.7.15 · Data.IP.Addr

    Equality over IP addresses. Correctly compare IPv4 and IPv4-embedded-in-IPv6 addresses.

    Example8 expressions
    (read "2001:db8:00:00:00:00:00:01" :: IP) == (read "2001:db8:00:00:00:00:00:01" :: IP)True(read "2001:db8:00:00:00:00:00:01" :: IP) == (read "2001:db8:00:00:00:00:00:05" :: IP)False(read "127.0.0.1" :: IP) == (read "127.0.0.1" :: IP)True(read "127.0.0.1" :: IP) == (read "10.0.0.1" :: IP)False(read "::ffff:127.0.0.1" :: IP) == (read "127.0.0.1" :: IP)True(read "::ffff:127.0.0.1" :: IP) == (read "127.0.0.9" :: IP)False(read "::ffff:127.0.0.1" :: IP) >= (read "127.0.0.1" :: IP)True(read "::ffff:127.0.0.1" :: IP) <= (read "127.0.0.1" :: IP)True
  • Eq IPv4Defined in iproute-1.7.15 · Data.IP.Addr
  • Eq IPv6Defined in iproute-1.7.15 · Data.IP.Addr
  • Eq IPRangeDefined in iproute-1.7.15 · Data.IP.Range
  • Eq InvalidPosExceptionDefined in megaparsec-9.5.0 · Text.Megaparsec.Pos
  • Eq PosDefined in megaparsec-9.5.0 · Text.Megaparsec.Pos
  • Eq SourcePosDefined in megaparsec-9.5.0 · Text.Megaparsec.Pos
  • Eq BytesDefined in memory-0.18.0 · Data.ByteArray.Bytes
  • Eq BaseDefined in memory-0.18.0 · Data.ByteArray.Encoding
  • Eq MemViewDefined in memory-0.18.0 · Data.ByteArray.MemView
  • Eq ScrubbedBytesDefined in memory-0.18.0 · Data.ByteArray.ScrubbedBytes
  • Eq EndiannessDefined in memory-0.18.0 · Data.Memory.Endian
  • Eq Word128Defined in memory-0.18.0 · Data.Memory.ExtendedWords
  • Eq FnvHash32Defined in memory-0.18.0 · Data.Memory.Hash.FNV
  • Eq FnvHash64Defined in memory-0.18.0 · Data.Memory.Hash.FNV
  • Eq SipHashDefined in memory-0.18.0 · Data.Memory.Hash.SipHash
  • Eq MemoryAdviceDefined in memory-0.18.0 · Data.Memory.MemMap.Posix
  • Eq MemoryMapFlagDefined in memory-0.18.0 · Data.Memory.MemMap.Posix
  • Eq MemoryProtectionDefined in memory-0.18.0 · Data.Memory.MemMap.Posix
  • Eq MemorySyncFlagDefined in memory-0.18.0 · Data.Memory.MemMap.Posix
  • Eq ZqDefined in mlkem-0.2.3.0 · Auxiliary
  • Eq ParseExceptionDefined in neat-interpolation-0.5.1.4 · NeatInterpolation.Parsing
  • Eq MsgFlagDefined in network-3.2.9.0 · Network.Socket.Flag
  • Eq AddrInfoDefined in network-3.2.9.0 · Network.Socket.Info
  • Eq AddrInfoFlagDefined in network-3.2.9.0 · Network.Socket.Info
  • Eq NameInfoFlagDefined in network-3.2.9.0 · Network.Socket.Info
  • Eq SocketOptionDefined in network-3.2.9.0 · Network.Socket.Options
  • Eq SocketTimeoutDefined in network-3.2.9.0 · Network.Socket.Options
  • Eq StructLingerDefined in network-3.2.9.0 · Network.Socket.Options
  • Eq CmsgDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Eq CmsgIdDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Eq IPv4PktInfoDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Eq IPv4TOSDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Eq IPv4TTLDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Eq IPv6HopLimitDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Eq IPv6PktInfoDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Eq IPv6TClassDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Eq CmsgHdrDefined in network-3.2.9.0 · Network.Socket.Posix.CmsgHdr
  • Eq FamilyDefined in network-3.2.9.0 · Network.Socket.Types
  • Eq PortNumberDefined in network-3.2.9.0 · Network.Socket.Types
  • Eq SockAddrDefined in network-3.2.9.0 · Network.Socket.Types
  • Eq SocketDefined in network-3.2.9.0 · Network.Socket.Types
  • Eq SocketTypeDefined in network-3.2.9.0 · Network.Socket.Types
  • Eq BufferOverrunDefined in network-byte-order-0.1.8 · Network.ByteOrder
  • Eq URIDefined in network-uri-2.6.4.2 · Network.URI
  • Eq URIAuthDefined in network-uri-2.6.4.2 · Network.URI
  • Eq RichnessDefined in optparse-applicative-0.18.1.0 · Options.Applicative.BashCompletion
  • Eq ParentheticDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Help.Core
  • Eq AltNodeTypeDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Eq ArgPolicyDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Eq ArgumentReachabilityDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Eq BacktrackingDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Eq OptNameDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Eq OptVisibilityDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Eq ParserPrefsDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Eq EncodingExceptionDefined in os-string-2.0.11 · System.OsString.Encoding.Internal
  • Eq OsCharDefined in os-string-2.0.11 · System.OsString.Internal.Types

    Byte equality of the internal representation.

  • Eq OsStringDefined in os-string-2.0.11 · System.OsString.Internal.Types

    Byte equality of the internal representation.

  • Eq PosixCharDefined in os-string-2.0.11 · System.OsString.Internal.Types
  • Eq PosixStringDefined in os-string-2.0.11 · System.OsString.Internal.Types
  • Eq WindowsCharDefined in os-string-2.0.11 · System.OsString.Internal.Types
  • Eq WindowsStringDefined in os-string-2.0.11 · System.OsString.Internal.Types
  • Eq MessageDefined in parsec-3.1.18.0 · Text.Parsec.Error
  • Eq ParseErrorDefined in parsec-3.1.18.0 · Text.Parsec.Error
  • Eq SourcePosDefined in parsec-3.1.18.0 · Text.Parsec.Pos
  • Eq ModeDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Eq StyleDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Eq TextDetailsDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Eq PrettyLevelDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJClass
  • Eq DocDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJ
  • Eq PrettyLevelDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJClass
  • Eq ValueDefined in pretty-show-1.10 · Text.Show.Value
  • Eq FusionDepthDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • Eq LayoutOptionsDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • Eq PageWidthDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • Eq AnsiStyleDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Eq BoldDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Eq ColorDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Eq IntensityDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Eq ItalicizedDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Eq LayerDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Eq UnderlinedDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Eq CmdSpecDefined in process-1.6.30.0 · System.Process.Common
  • Eq CreateProcessDefined in process-1.6.30.0 · System.Process.Common
  • Eq StdStreamDefined in process-1.6.30.0 · System.Process.Common
  • Eq CommunicationHandleDefined in process-1.6.30.0 · System.Process.CommunicationHandle.Internal
  • Eq BytesDefined in ram-0.22.1 · Data.ByteArray.Bytes
  • Eq BaseDefined in ram-0.22.1 · Data.ByteArray.Encoding
  • Eq MemViewDefined in ram-0.22.1 · Data.ByteArray.MemView
  • Eq ScrubbedBytesDefined in ram-0.22.1 · Data.ByteArray.ScrubbedBytes
  • Eq EndiannessDefined in ram-0.22.1 · Data.Memory.Endian
  • Eq Word128Defined in ram-0.22.1 · Data.Memory.ExtendedWords
  • Eq FnvHash32Defined in ram-0.22.1 · Data.Memory.Hash.FNV
  • Eq FnvHash64Defined in ram-0.22.1 · Data.Memory.Hash.FNV
  • Eq SipHashDefined in ram-0.22.1 · Data.Memory.Hash.SipHash
  • Eq MemoryAdviceDefined in ram-0.22.1 · Data.Memory.MemMap.Posix
  • Eq MemoryMapFlagDefined in ram-0.22.1 · Data.Memory.MemMap.Posix
  • Eq MemoryProtectionDefined in ram-0.22.1 · Data.Memory.MemMap.Posix
  • Eq MemorySyncFlagDefined in ram-0.22.1 · Data.Memory.MemMap.Posix
  • Eq CardinalityDefined in random-1.3.1 · System.Random.GFinite
  • Eq StdGenDefined in random-1.3.1 · System.Random.Internal
  • Eq ActionDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Eq DoPaDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Eq OPDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Eq QTDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Eq TagTaskDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Eq TagUpdateDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Eq WhichTestDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Eq PDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.CorePattern
  • Eq QDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.CorePattern
  • Eq SetTestInfoDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.CorePattern
  • Eq WantedDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.CorePattern
  • Eq PatternDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Pattern
  • Eq PatternSetDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Pattern
  • Eq PatternSetCharacterClassDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Pattern
  • Eq PatternSetCollatingElementDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Pattern
  • Eq PatternSetEquivalenceClassDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Pattern
  • Eq UndefinedDefined in relude-1.2.2.2 · Relude.Debug
  • Eq ScientificDefined in scientific-0.3.9.0 · Data.Scientific

    Scientific numbers can be safely compared for equality. No magnitude 10^e is calculated so there's no risk of a blowup in space or time when comparing scientific numbers coming from untrusted sources.

  • Eq UTF8EncodingDefined in serialise-0.2.6.1 · Codec.Serialise.Internal.GeneralisedUTF8
  • Eq CondensePolicyDefined in split-0.2.5.1 · Data.List.Split.Internals
  • Eq DelimPolicyDefined in split-0.2.5.1 · Data.List.Split.Internals
  • Eq EndPolicyDefined in split-0.2.5.1 · Data.List.Split.Internals
  • Eq TSemDefined in stm-2.5.3.1 · Control.Concurrent.STM.TSem
  • Eq FileTypeDefined in streaming-commons-0.2.3.1 · Data.Streaming.Filesystem
  • Eq HostPreferenceDefined in streaming-commons-0.2.3.1 · Data.Streaming.Network.Internal
  • Eq CodePointDefined in streaming-commons-0.2.3.1 · Data.Streaming.Text
  • Eq DecoderStateDefined in streaming-commons-0.2.3.1 · Data.Streaming.Text
  • Eq StrategyDefined in streaming-commons-0.2.3.1 · Data.Streaming.Zlib.Lowlevel
  • Eq UnicodeExceptionDefined in text-2.1.4 · Data.Text.Encoding.Error
  • Eq I8Defined in text-2.1.4 · Data.Text.Foreign
  • Eq TextDefined in text-2.1.4 · Data.Text · orphan
  • Eq BuilderDefined in text-2.1.4 · Data.Text.Internal.Builder
  • Eq PartialUtf8CodePointDefined in text-2.1.4 · Data.Text.Internal.Encoding
  • Eq Utf8StateDefined in text-2.1.4 · Data.Text.Internal.Encoding
  • Eq DecoderStateDefined in text-2.1.4 · Data.Text.Internal.Encoding.Utf8
  • Eq SizeDefined in text-2.1.4 · Data.Text.Internal.Fusion.Size
  • Eq TextDefined in text-2.1.4 · Data.Text.Lazy · orphan
  • Eq BDefined in text-short-0.1.6.1 · Data.Text.Short.Internal
  • Eq ShortTextDefined in text-short-0.1.6.1 · Data.Text.Short.Internal
  • Eq ConstructorInfoDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Eq ConstructorVariantDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Eq DatatypeInfoDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Eq DatatypeVariantDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Eq FieldStrictnessDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Eq StrictnessDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Eq UnpackednessDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Eq CalendarDiffDaysDefined in time-1.16.0.1 · Data.Time.Calendar.CalendarDiffDays
  • Eq DayDefined in time-1.16.0.1 · Data.Time.Calendar.Days
  • Eq MonthDefined in time-1.16.0.1 · Data.Time.Calendar.Month
  • Eq QuarterDefined in time-1.16.0.1 · Data.Time.Calendar.Quarter
  • Eq QuarterOfYearDefined in time-1.16.0.1 · Data.Time.Calendar.Quarter
  • Eq DayOfWeekDefined in time-1.16.0.1 · Data.Time.Calendar.Week
  • Eq FirstWeekTypeDefined in time-1.16.0.1 · Data.Time.Calendar.WeekDate
  • Eq AbsoluteTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.AbsoluteTime
  • Eq DiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.DiffTime
  • Eq NominalDiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.NominalDiffTime
  • Eq SystemTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.SystemTime
  • Eq UTCTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.UTCTime
  • Eq UniversalTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.UniversalTime
  • Eq TimeLocaleDefined in time-1.16.0.1 · Data.Time.Format.Locale
  • Eq WeekTypeDefined in time-1.16.0.1 · Data.Time.Format.Parse.Instances
  • Eq CalendarDiffTimeDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.CalendarDiffTime
  • Eq LocalTimeDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.LocalTime
  • Eq TimeOfDayDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.TimeOfDay
  • Eq TimeZoneDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.TimeZone
  • Eq DurationDefined in time-hourglass-0.3.0 · Time.Diff
  • Eq PeriodDefined in time-hourglass-0.3.0 · Time.Diff
  • Eq MJDEpochDefined in time-hourglass-0.3.0 · Time.Epoch
  • Eq UnixEpochDefined in time-hourglass-0.3.0 · Time.Epoch
  • Eq WindowsEpochDefined in time-hourglass-0.3.0 · Time.Epoch
  • Eq ISO8601_DateDefined in time-hourglass-0.3.0 · Time.Format
  • Eq ISO8601_DateAndTimeDefined in time-hourglass-0.3.0 · Time.Format
  • Eq TimeFormatElemDefined in time-hourglass-0.3.0 · Time.Format
  • Eq TimeFormatFctDefined in time-hourglass-0.3.0 · Time.Format
  • Eq TimeFormatStringDefined in time-hourglass-0.3.0 · Time.Format
  • Eq CTmDefined in time-hourglass-0.3.0 · Time.Internal
  • Eq TimezoneMinutesDefined in time-hourglass-0.3.0 · Time.Timezone
  • Eq UTCDefined in time-hourglass-0.3.0 · Time.Timezone
  • Eq DateDefined in time-hourglass-0.3.0 · Time.Types
  • Eq DateTimeDefined in time-hourglass-0.3.0 · Time.Types
  • Eq ElapsedDefined in time-hourglass-0.3.0 · Time.Types
  • Eq ElapsedPDefined in time-hourglass-0.3.0 · Time.Types
  • Eq HoursDefined in time-hourglass-0.3.0 · Time.Types
  • Eq MinutesDefined in time-hourglass-0.3.0 · Time.Types
  • Eq MonthDefined in time-hourglass-0.3.0 · Time.Types
  • Eq NanoSecondsDefined in time-hourglass-0.3.0 · Time.Types
  • Eq SecondsDefined in time-hourglass-0.3.0 · Time.Types
  • Eq TimeOfDayDefined in time-hourglass-0.3.0 · Time.Types
  • Eq TimezoneOffsetDefined in time-hourglass-0.3.0 · Time.Types
  • Eq WeekDayDefined in time-hourglass-0.3.0 · Time.Types
  • Eq CompressionDefined in tls-2.4.9 · Network.TLS.Compression
  • Eq EstablishedDefined in tls-2.4.9 · Network.TLS.Context.Internal
  • Eq RecordLimitDefined in tls-2.4.9 · Network.TLS.Context.Internal
  • Eq HashDefined in tls-2.4.9 · Network.TLS.Crypto
  • Eq RSAEncodingDefined in tls-2.4.9 · Network.TLS.Crypto
  • Eq SignatureParamsDefined in tls-2.4.9 · Network.TLS.Crypto
  • Eq GroupPrivateDefined in tls-2.4.9 · Network.TLS.Crypto.IES
  • Eq GroupPublicADefined in tls-2.4.9 · Network.TLS.Crypto.IES
  • Eq GroupPublicBDefined in tls-2.4.9 · Network.TLS.Crypto.IES
  • Eq GroupDefined in tls-2.4.9 · Network.TLS.Crypto.Types
  • Eq KeyExchangeSignatureAlgDefined in tls-2.4.9 · Network.TLS.Crypto.Types
  • Eq AlertDescriptionDefined in tls-2.4.9 · Network.TLS.Error
  • Eq AlertLevelDefined in tls-2.4.9 · Network.TLS.Error
  • Eq TLSErrorDefined in tls-2.4.9 · Network.TLS.Error
  • Eq TLSExceptionDefined in tls-2.4.9 · Network.TLS.Error
  • Eq ApplicationLayerProtocolNegotiationDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq CertificateAuthoritiesDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq CertificateCompressionAlgorithmDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq CompressCertificateDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq CookieDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq EarlyDataIndicationDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq EcPointFormatDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq EcPointFormatsSupportedDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq EchOuterExtensionsDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq EncryptedClientHelloDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq ExtendedMainSecretDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq ExtensionIDDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq ExtensionRawDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq HeartBeatDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq HeartBeatModeDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq KeyShareDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq KeyShareEntryDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq MaxFragmentEnumDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq MaxFragmentLengthDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq MessageTypeDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq PostHandshakeAuthDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq PreSharedKeyDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq PskIdentityDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq PskKexModeDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq PskKeyExchangeModesDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq RecordSizeLimitDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq SecureRenegotiationDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq ServerNameDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq ServerNameTypeDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq SessionTicketDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq SignatureAlgorithmsDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq SignatureAlgorithmsCertDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq SupportedGroupsDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq SupportedVersionsDefined in tls-2.4.9 · Network.TLS.Extension
  • Eq GroupsDefined in tls-2.4.9 · Network.TLS.Handshake.Client.ClientHello
  • Eq SelectKeyShareResultDefined in tls-2.4.9 · Network.TLS.Handshake.Server.ClientHello13
  • Eq KeyUpdateRequestDefined in tls-2.4.9 · Network.TLS.Handshake.Server.TLS13
  • Eq HandshakeMode13Defined in tls-2.4.9 · Network.TLS.Handshake.State
  • Eq RTT0StatusDefined in tls-2.4.9 · Network.TLS.Handshake.State
  • Eq HashAlgorithmDefined in tls-2.4.9 · Network.TLS.HashAndSignature
  • Eq SignatureAlgorithmDefined in tls-2.4.9 · Network.TLS.HashAndSignature
  • Eq MeasurementDefined in tls-2.4.9 · Network.TLS.Measurement
  • Eq CurrentParamsDefined in tls-2.4.9 · Network.TLS.Packet
  • Eq EMSModeDefined in tls-2.4.9 · Network.TLS.Parameters
  • Eq GroupUsageDefined in tls-2.4.9 · Network.TLS.Parameters
  • Eq InformationDefined in tls-2.4.9 · Network.TLS.Parameters
  • Eq LimitDefined in tls-2.4.9 · Network.TLS.Parameters
  • Eq SupportedDefined in tls-2.4.9 · Network.TLS.Parameters
  • Eq CryptLevelDefined in tls-2.4.9 · Network.TLS.Record.State
  • Eq CertificateChain_Defined in tls-2.4.9 · Network.TLS.Struct
  • Eq CertificateTypeDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq CipherDataDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq ClientHelloDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq ClientKeyXchgAlgorithmDataDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq ClientRandomDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq DigitallySignedDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq HandshakeDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq HandshakeTypeDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq HeaderDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq PacketDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq ProtocolTypeDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq ServerDHParamsDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq ServerDSAParamsDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq ServerECDHParamsDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq ServerHelloDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq ServerKeyXchgAlgorithmDataDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq ServerRSAParamsDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq ServerRandomDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq SessionDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq VerifyDataDefined in tls-2.4.9 · Network.TLS.Struct
  • Eq Handshake13Defined in tls-2.4.9 · Network.TLS.Struct13
  • Eq KeyUpdateDefined in tls-2.4.9 · Network.TLS.Struct13
  • Eq Packet13Defined in tls-2.4.9 · Network.TLS.Struct13
  • Eq SessionIDorTicket_Defined in tls-2.4.9 · Network.TLS.Struct13
  • Eq TicketNonceDefined in tls-2.4.9 · Network.TLS.Struct13
  • Eq BigNumDefined in tls-2.4.9 · Network.TLS.Types
  • Eq DirectionDefined in tls-2.4.9 · Network.TLS.Types
  • Eq RoleDefined in tls-2.4.9 · Network.TLS.Types
  • Eq BulkDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Eq BulkDirectionDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Eq CipherDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Eq CipherIdDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Eq CipherKeyExchangeTypeDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Eq SessionDataDefined in tls-2.4.9 · Network.TLS.Types.Session
  • Eq SessionFlagDefined in tls-2.4.9 · Network.TLS.Types.Session
  • Eq TLS13TicketInfoDefined in tls-2.4.9 · Network.TLS.Types.Session
  • Eq VersionDefined in tls-2.4.9 · Network.TLS.Types.Version
  • Eq CertificateRejectReasonDefined in tls-2.4.9 · Network.TLS.X509
  • Eq CertificateUsageDefined in tls-2.4.9 · Network.TLS.X509
  • Eq DirTypeDefined in unix-2.8.8.0 · System.Posix.Directory.Common
  • Eq AdviceDefined in unix-2.8.8.0 · System.Posix.Fcntl
  • Eq CAttributesDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Eq StatxFlagsDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Eq StatxMaskDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Eq OpenFileFlagsDefined in unix-2.8.8.0 · System.Posix.IO.Common
  • Eq OpenModeDefined in unix-2.8.8.0 · System.Posix.IO.Common
  • Eq ProcessStatusDefined in unix-2.8.8.0 · System.Posix.Process.Internals
  • Eq ResourceDefined in unix-2.8.8.0 · System.Posix.Resource
  • Eq ResourceLimitDefined in unix-2.8.8.0 · System.Posix.Resource
  • Eq ResourceLimitsDefined in unix-2.8.8.0 · System.Posix.Resource
  • Eq BaudRateDefined in unix-2.8.8.0 · System.Posix.Terminal.Common
  • Eq GroupEntryDefined in unix-2.8.8.0 · System.Posix.User.Common
  • Eq UserEntryDefined in unix-2.8.8.0 · System.Posix.User.Common
  • Eq UnixDiffTimeDefined in unix-time-0.5.0 · Data.UnixTime.Types
  • Eq UnixTimeDefined in unix-time-0.5.0 · Data.UnixTime.Types
  • Eq SubHashPathDefined in unordered-containers-0.2.21 · Data.HashMap.Internal.Debug
  • Eq UUIDDefined in uuid-types-1.0.6.1 · Data.UUID.Types.Internal
  • Eq UnpackedUUIDDefined in uuid-types-1.0.6.1 · Data.UUID.Types.Internal
  • Eq SizeDefined in vector-0.13.2.0 · Data.Vector.Fusion.Bundle.Size
  • Eq ChecksDefined in vector-0.13.2.0 · Data.Vector.Internal.Check
  • Eq AttrDefined in xml-1.3.14 · Text.XML.Light.Types
  • Eq CDataKindDefined in xml-1.3.14 · Text.XML.Light.Types
  • Eq QNameDefined in xml-1.3.14 · Text.XML.Light.Types
  • Eq CompressParamsDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Internal
  • Eq DecompressErrorDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Internal
  • Eq DecompressParamsDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Internal
  • Eq CompressionLevelDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Eq CompressionStrategyDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Eq DictionaryHashDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Eq FormatDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Eq MemoryLevelDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Eq MethodDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Eq WindowBitsDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Eq ()Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Lifting Eq ComplexDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Eq IdentityDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Eq MaybeDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Eq RatioDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Eq []Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting2 Eq EitherDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting2 Eq Tuple2Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Eq1 f => Lifting Eq (Lift f)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Eq1 m => Lifting Eq (MaybeT m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Eq a => Lifting Eq (Either a)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Eq a => Lifting Eq (Tuple2 a)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Eq1 f => Lifting Eq (Backwards f)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Eq1 f => Lifting Eq (Reverse f)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Eq1 m => Lifting Eq (IdentityT m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Eq e, Eq1 m) => Lifting Eq (ExceptT e m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Eq w, Eq1 m) => Lifting Eq (WriterT w m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Eq w, Eq1 m) => Lifting Eq (WriterT w m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Eq1 f, Eq1 g) => Lifting Eq (Product f g)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Eq1 f, Eq1 g) => Lifting Eq (Sum f g)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Eq1 f, Eq1 g) => Lifting Eq (Compose f g)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • () :=> Eq IntegerDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Eq NaturalDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Eq BoolDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Eq DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Eq FloatDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Eq IntDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Eq WordDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Eq (Dict a)Defined in constraints-0.14.4 · Data.Constraint
  • () :=> Eq ()Defined in constraints-0.14.4 · Data.Constraint
  • () :=> Eq (a :- b)Defined in constraints-0.14.4 · Data.Constraint
  • Class () (Eq a)Defined in constraints-0.14.4 · Data.Constraint
  • Eq1 f => Eq (Fix f)Defined in data-fix-0.3.4 · Data.Fix
  • Eq (Encoding' a)Defined in aeson-2.2.5.1 · Data.Aeson.Encoding.Internal
  • Eq (Async a)Defined in async-2.2.6 · Control.Concurrent.Async.Internal
  • Eq (Ticket a)Defined in atomic-primops-0.8.8 · Data.Atomics.Internal
  • Eq (Chan a)Defined in base-4.23.0.0 · Control.Concurrent.Chan
  • Eq (MutableByteArray s)Defined in base-4.23.0.0 · Data.Array.Byte
  • Eq (Bits n)Defined in basement-0.0.16 · Basement.Bits
  • Eq (Zn n)Defined in basement-0.0.16 · Basement.Bounded
  • Eq (Zn64 n)Defined in basement-0.0.16 · Basement.Bounded
  • Eq (FinalPtr a)Defined in basement-0.0.16 · Basement.FinalPtr
  • Eq (CountOf ty)Defined in basement-0.0.16 · Basement.Types.OffsetSize
  • Eq (Offset ty)Defined in basement-0.0.16 · Basement.Types.OffsetSize
  • Eq (MVar m State) => Eq (RWLock m)Defined in concurrency-1.11.0.3 · Control.Concurrent.Classy.RWLock
  • Eq (MVar m ()) => Eq (Lock m)Defined in concurrency-1.11.0.3 · Control.Concurrent.Classy.Lock
  • Eq (Dict a)Defined in constraints-0.14.4 · Data.Constraint
  • Eq (IV c)Defined in crypton-2.1.7 · Crypto.Cipher.Types.Block
  • Eq (MiyaguchiPreneel a)Defined in crypton-2.1.7 · Crypto.ConstructHash.MiyaguchiPreneel
  • Eq (Scalar curve) => Eq (Signature curve)Defined in crypton-2.1.7 · Crypto.PubKey.ECDSA
  • Eq (CurveParameters curve)Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq (Point curve)Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq (Scalar curve)Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Eq (Digest a)Defined in crypton-2.1.7 · Crypto.Hash.Types
  • Eq (PRK a)Defined in crypton-2.1.7 · Crypto.KDF.HKDF
  • Eq (CMAC a)Defined in crypton-2.1.7 · Crypto.MAC.CMAC
  • Eq (HMAC a)Defined in crypton-2.1.7 · Crypto.MAC.HMAC
  • Eq (KMAC a)Defined in crypton-2.1.7 · Crypto.MAC.KMAC
  • Eq (KeyedBlake2 a)Defined in crypton-2.1.7 · Crypto.MAC.KeyedBlake2
  • Eq (SecretKey curve)Defined in crypton-2.1.7 · Crypto.PubKey.EdDSA
  • Eq (IV c)Defined in cryptonite-0.30 · Crypto.Cipher.Types.Block
  • Eq (MiyaguchiPreneel a)Defined in cryptonite-0.30 · Crypto.ConstructHash.MiyaguchiPreneel
  • Eq (Scalar curve) => Eq (Signature curve)Defined in cryptonite-0.30 · Crypto.PubKey.ECDSA
  • Eq (CurveParameters curve)Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq (Point curve)Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq (Scalar curve)Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Eq (Digest a)Defined in cryptonite-0.30 · Crypto.Hash.Types
  • Eq (PRK a)Defined in cryptonite-0.30 · Crypto.KDF.HKDF
  • Eq (CMAC a)Defined in cryptonite-0.30 · Crypto.MAC.CMAC
  • Eq (HMAC a)Defined in cryptonite-0.30 · Crypto.MAC.HMAC
  • Eq (KMAC a)Defined in cryptonite-0.30 · Crypto.MAC.KMAC
  • Eq (SecretKey curve)Defined in cryptonite-0.30 · Crypto.PubKey.EdDSA
  • Eq (ConstPtr a)Defined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.ConstPtr
  • Eq (ForeignPtr a)Defined in ghc-internal-10.0.0 · GHC.Internal.ForeignPtr
  • Eq (IORef a)Defined in ghc-internal-10.0.0 · GHC.Internal.IORef

    Pointer equality.

  • Eq (MVar a)Defined in ghc-internal-10.0.0 · GHC.Internal.MVar

    Compares the underlying pointers.

  • Eq (FunPtr a)Defined in ghc-internal-10.0.0 · GHC.Internal.Ptr
  • Eq (Ptr a)Defined in ghc-internal-10.0.0 · GHC.Internal.Ptr
  • Eq (TVar a)Defined in ghc-internal-10.0.0 · GHC.Internal.STM
  • Eq (StablePtr a)Defined in ghc-internal-10.0.0 · GHC.Internal.Stable
  • Eq (StableName a)Defined in ghc-internal-10.0.0 · GHC.Internal.StableName
  • Eq (SChar c)Defined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Eq (SSymbol s)Defined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Eq (SNat n)Defined in ghc-internal-10.0.0 · GHC.Internal.TypeNats
  • Eq (Cmd a)Defined in hnix-store-remote-0.7.0.0 · Data.Serializer.Example
  • Eq (StoreRequest a)Defined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreRequest
  • Eq (Async a)Defined in hspec-core-2.11.18 · Control.Concurrent.Async.Internal
  • Eq (Token s) => Eq (ET s)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error.Builder
  • Eq (CountOf ty)Defined in mlkem-0.2.3.0 · Base
  • Eq (Offset ty)Defined in mlkem-0.2.3.0 · Base
  • Eq (Ciphertext a)Defined in mlkem-0.2.3.0 · Internal
  • Eq (DecapsulationKey a)Defined in mlkem-0.2.3.0 · Internal
  • Eq (EncapsulationKey a)Defined in mlkem-0.2.3.0 · Internal
  • Eq (SharedSecret a)Defined in mlkem-0.2.3.0 · Internal
  • Eq (Doc a)Defined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Eq (Seed g)Defined in random-1.3.1 · System.Random.Internal
  • Eq (EnumSet e)Defined in regex-tdfa-1.3.2.6 · Data.IntSet.EnumSet2
  • Eq (TBQueue a)Defined in stm-2.5.3.1 · Control.Concurrent.STM.TBQueue
  • Eq (TChan a)Defined in stm-2.5.3.1 · Control.Concurrent.STM.TChan
  • Eq (TMVar a)Defined in stm-2.5.3.1 · Control.Concurrent.STM.TMVar
  • Eq (TQueue a)Defined in stm-2.5.3.1 · Control.Concurrent.STM.TQueue
  • Eq (TVar a)Defined in stm-2.5.3.1 · Control.Sequential.STM
  • Eq (ElapsedSince epoch)Defined in time-hourglass-0.3.0 · Time.Epoch
  • Eq (ElapsedSinceP epoch)Defined in time-hourglass-0.3.0 · Time.Epoch
  • Eq (Fragment a)Defined in tls-2.4.9 · Network.TLS.Record.Types
  • Eq (Record a)Defined in tls-2.4.9 · Network.TLS.Record.Types
  • Eq a => Eq (Blind a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (Fixed a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (Large a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (Negative a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (NoShrink a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (NonEmptyList a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (NonNegative a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (NonPositive a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (NonZero a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (OrderedList a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (Positive a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (Shrink2 a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (Small a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (SortedList a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Eq a => Eq (IResult a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Eq a => Eq (Result a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Eq a => Eq (Context a)Defined in algebraic-graphs-0.8 · Algebra.Graph
  • Eq a => Eq (AdjacencyMap a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Acyclic.AdjacencyMap
  • Eq a => Eq (AdjacencyMap a)Defined in algebraic-graphs-0.8 · Algebra.Graph.AdjacencyMap
  • Eq a => Eq (List a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Internal
  • Eq a => Eq (Capacity a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Eq a => Eq (Count a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Eq a => Eq (Distance a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Eq a => Eq (Extended a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Eq a => Eq (Minimum a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Eq a => Eq (NonNegative a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Eq a => Eq (PowerSet a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Eq a => Eq (AdjacencyMap a)Defined in algebraic-graphs-0.8 · Algebra.Graph.NonEmpty.AdjacencyMap
  • Eq a => Eq (Relation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation
  • Eq a => Eq (Relation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Symmetric
  • Eq a => Eq (Complex a)Defined in base-4.23.0.0 · Data.Complex
  • Eq a => Eq (First a)Defined in base-4.23.0.0 · Data.Semigroup
  • Eq a => Eq (Last a)Defined in base-4.23.0.0 · Data.Semigroup
  • Eq a => Eq (Max a)Defined in base-4.23.0.0 · Data.Semigroup
  • Eq a => Eq (Min a)Defined in base-4.23.0.0 · Data.Semigroup
  • Eq a => Eq (Base16 a)Defined in base16-1.0 · Data.Base16.Types.Internal
  • Eq a => Eq (Array a)Defined in basement-0.0.16 · Basement.BoxedArray
  • Eq a => Eq (BE a)Defined in basement-0.0.16 · Basement.Endianness
  • Eq a => Eq (LE a)Defined in basement-0.0.16 · Basement.Endianness
  • Eq a => Eq (NonEmpty a)Defined in basement-0.0.16 · Basement.NonEmpty
  • Eq a => Eq (Chromaticity a)Defined in colour-2.3.7 · Data.Colour.CIE.Chromaticity
  • Eq a => Eq (AlphaColour a)Defined in colour-2.3.7 · Data.Colour.Internal
  • Eq a => Eq (Colour a)Defined in colour-2.3.7 · Data.Colour.Internal
  • Eq a => Eq (RGB a)Defined in colour-2.3.7 · Data.Colour.RGB
  • Eq a => Eq (IntMap a)Defined in containers-0.8 · Data.IntMap.Internal
  • Eq a => Eq (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • Eq a => Eq (ViewL a)Defined in containers-0.8 · Data.Sequence.Internal
  • Eq a => Eq (ViewR a)Defined in containers-0.8 · Data.Sequence.Internal
  • Eq a => Eq (Intersection a)Defined in containers-0.8 · Data.Set.Internal
  • Eq a => Eq (Set a)Defined in containers-0.8 · Data.Set.Internal
  • Eq a => Eq (PostOrder a)Defined in containers-0.8 · Data.Tree
  • Eq a => Eq (Tree a)Defined in containers-0.8 · Data.Tree
  • Eq a => Eq (CryptoFailable a)Defined in crypton-2.1.7 · Crypto.Error.Types
  • Eq a => Eq (GmpSupported a)Defined in crypton-2.1.7 · Crypto.Number.Compat
  • Eq a => Eq (CryptoFailable a)Defined in cryptonite-0.30 · Crypto.Error.Types
  • Eq a => Eq (GmpSupported a)Defined in cryptonite-0.30 · Crypto.Number.Compat
  • Eq a => Eq (DNonEmpty a)Defined in dlist-1.0 · Data.DList.DNonEmpty.Internal
  • Eq a => Eq (DList a)Defined in dlist-1.0 · Data.DList.Internal
  • Eq a => Eq (GenericArbitrary a)Defined in generic-arbitrary-1.0.1.2 · Test.QuickCheck.Arbitrary.Generic
  • Eq a => Eq (NonEmpty a)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Eq a => Eq (And a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Eq a => Eq (Iff a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Eq a => Eq (Ior a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Eq a => Eq (Xor a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Eq a => Eq (Identity a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Identity
  • Eq a => Eq (First a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Eq a => Eq (Last a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Eq a => Eq (Down a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Ord
  • Eq a => Eq (Dual a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Eq a => Eq (Product a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Eq a => Eq (Sum a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Eq a => Eq (ZipList a)Defined in ghc-internal-10.0.0 · GHC.Internal.Functor.ZipList
  • Eq a => Eq (Maybe a)Defined in ghc-internal-10.0.0 · GHC.Internal.Maybe
  • Eq a => Eq (Ratio a)Defined in ghc-internal-10.0.0 · GHC.Internal.Real
  • Eq a => Eq (Hashed a)Defined in hashable-1.5.1.0 · Data.Hashable.Class

    Uses precomputed hash to detect inequality faster

  • Eq a => Eq (Scope a)Defined in hnix-0.17.0 · Nix.Scope
  • Eq a => Eq (DerivationOutput a)Defined in hnix-store-core-0.8.0.0 · System.Nix.Realisation
  • Eq a => Eq (Metadata a)Defined in hnix-store-core-0.8.0.0 · System.Nix.StorePath.Metadata
  • Eq a => Eq (ForPV a)Defined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Eq a => Eq (Diff a)Defined in hspec-core-2.11.18 · Data.Algorithm.Diff
  • Eq a => Eq (AddrRange a)Defined in iproute-1.7.15 · Data.IP.Range
  • Eq a => Eq (Logic a)Defined in logict-0.8.2.0 · Control.Monad.Logic
  • Eq a => Eq (BE a)Defined in memory-0.18.0 · Data.Memory.Endian
  • Eq a => Eq (LE a)Defined in memory-0.18.0 · Data.Memory.Endian
  • Eq a => Eq (Chunk a)Defined in optparse-applicative-0.18.1.0 · Options.Applicative.Help.Chunk
  • Eq a => Eq (AnnotDetails a)Defined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Eq a => Eq (Span a)Defined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Eq a => Eq (Array a)Defined in primitive-0.9.1.0 · Data.Primitive.Array
  • Eq a => Eq (SmallArray a)Defined in primitive-0.9.1.0 · Data.Primitive.SmallArray
  • Eq a => Eq (BE a)Defined in ram-0.22.1 · Data.Memory.Endian
  • Eq a => Eq (LE a)Defined in ram-0.22.1 · Data.Memory.Endian
  • Eq a => Eq (CharMap a)Defined in regex-tdfa-1.3.2.6 · Data.IntMap.CharMap2
  • Eq a => Eq (Chunk a)Defined in split-0.2.5.1 · Data.List.Split.Internals
  • Eq a => Eq (Maybe a)Defined in strict-0.5.1 · Data.Strict.Maybe
  • Eq a => Eq (Stream a)Defined in text-2.1.4 · Data.Text.Internal.Fusion.Types
  • Eq a => Eq (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal

    Note that, in the presence of hash collisions, equal HashSets may behave differently, i.e. extensionality may be violated:

    Example2 expressions
    data D = A | B deriving (Eq, Show)instance Hashable D where hashWithSalt salt _d = salt
    Example2 expressions
    x = fromList [A, B]y = fromList [B, A]
    Example3 expressions
    x == yTruetoList x[A,B]toList y[B,A]

    In general, the lack of extensionality can be observed with any function that depends on the key ordering, such as folds and traversals.

  • Eq a => Eq (Vector a)Defined in vector-0.13.2.0 · Data.Vector
  • Eq a => Eq (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Strict
  • Eq a => Eq (a)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Eq a => Eq [a]Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Eq ann => Eq (SimpleDocStream ann)Defined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • Eq ann => Eq (SimpleDocTok ann)Defined in prettyprinter-1.7.2 · Prettyprinter.Render.Util.SimpleDocTree
  • Eq ann => Eq (SimpleDocTree ann)Defined in prettyprinter-1.7.2 · Prettyprinter.Render.Util.SimpleDocTree
  • Eq customGetError => Eq (GetSerializerError customGetError)Defined in hnix-store-remote-0.7.0.0 · Data.Serializer
  • Eq e => Eq (Base16Error e)Defined in base16-1.0 · Data.Text.Encoding.Base16.Error
  • Eq e => Eq (Base64Error e)Defined in base64-1.0 · Data.Text.Encoding.Base64.Error
  • Eq e => Eq (Tree e)Defined in http-client-0.7.19 · Network.PublicSuffixList.Types
  • Eq e => Eq (ErrorFancy e)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error
  • Eq e => Eq (EF e)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error.Builder
  • Eq flag => Eq (TyVarBndr flag)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Eq g => Eq (StateGen g)Defined in random-1.3.1 · System.Random.Internal
  • Eq g => Eq (AtomicGen g)Defined in random-1.3.1 · System.Random.Stateful
  • Eq g => Eq (IOGen g)Defined in random-1.3.1 · System.Random.Stateful
  • Eq g => Eq (STGen g)Defined in random-1.3.1 · System.Random.Stateful
  • Eq g => Eq (TGen g)Defined in random-1.3.1 · System.Random.Stateful
  • Eq k => Eq (Error k)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal.Debug
  • Eq k => Eq (Validity k)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal.Debug
  • Eq m => Eq (WrappedMonoid m)Defined in base-4.23.0.0 · Data.Semigroup
  • Eq p => Eq (Par1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq r => Eq (Binding r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Eq r => Eq (NExprF r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Eq r => Eq (NKeyName r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Eq r => Eq (NString r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Eq r => Eq (Params r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Eq r => Eq (NSymbolicF r)Defined in hnix-0.17.0 · Nix.Lint
  • Eq s => Eq (CI s)Defined in case-insensitive-1.2.1.0 · Data.CaseInsensitive.Internal
  • Eq s => Eq (PosState s)Defined in megaparsec-9.5.0 · Text.Megaparsec.State
  • Eq t => Eq (ErrorItem t)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error
  • Eq t => Eq (LocalTime t)Defined in time-hourglass-0.3.0 · Time.LocalTime
  • Eq v => Eq (KeyMap v)Defined in aeson-2.2.5.1 · Data.Aeson.KeyMap
  • Eq vertex => Eq (SCC vertex)Defined in containers-0.8 · Data.Graph
  • Ord a => Eq (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph

    == is a good consumer of both arguments.

  • Ord a => Eq (Todo a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Example.Todo
  • Ord a => Eq (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph.NonEmpty
  • Ord a => Eq (PreorderRelation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Preorder
  • Ord a => Eq (ReflexiveRelation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Reflexive
  • Ord a => Eq (TransitiveRelation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Transitive
  • Ord a => Eq (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Undirected
  • ByteArrayAccess bytes => Eq (View bytes)Defined in memory-0.18.0 · Data.ByteArray.View
  • ByteArrayAccess bytes => Eq (View bytes)Defined in ram-0.22.1 · Data.ByteArray.View
  • (PrimType ty, Eq ty) => Eq (Block ty)Defined in basement-0.0.16 · Basement.Block.Base
  • (PrimType ty, Eq ty) => Eq (UArray ty)Defined in basement-0.0.16 · Basement.UArray.Base
  • (Functor f, Eq1 f) => Eq (Mu f)Defined in data-fix-0.3.4 · Data.Fix
  • (Functor f, Eq1 f) => Eq (Nu f)Defined in data-fix-0.3.4 · Data.Fix
  • (Monoid s, Eq s) => Eq (Doc s)Defined in algebraic-graphs-0.8 · Algebra.Graph.Export
  • (Eq a, Prim a) => Eq (PrimArray a)Defined in primitive-0.9.1.0 · Data.Primitive.PrimArray
  • (Eq ty, Prim ty) => Eq (ScrubbedBlock ty)Defined in mlkem-0.2.3.0 · ScrubbedBlock
  • (Storable a, Eq a) => Eq (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Storable
  • (Show a, Eq a, ASN1Object a) => Eq (Signed a)Defined in crypton-x509-1.9.2 · Data.X509.Signed
  • (Show a, Eq a, ASN1Object a) => Eq (SignedExact a)Defined in crypton-x509-1.9.2 · Data.X509.Signed
  • (Prim a, Eq a) => Eq (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Primitive
  • (Unbox a, Eq a) => Eq (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphan
  • Eq a :=> Eq (Complex a)Defined in constraints-0.14.4 · Data.Constraint
  • Eq a :=> Eq (Const a b)Defined in constraints-0.14.4 · Data.Constraint
  • Eq a :=> Eq (Identity a)Defined in constraints-0.14.4 · Data.Constraint
  • Eq a :=> Eq (Maybe a)Defined in constraints-0.14.4 · Data.Constraint
  • Eq a :=> Eq (Ratio a)Defined in constraints-0.14.4 · Data.Constraint
  • Eq a :=> Eq [a]Defined in constraints-0.14.4 · Data.Constraint
  • Class (Eq a) (Bits a)Defined in constraints-0.14.4 · Data.Constraint
  • Class (Eq a) (Ord a)Defined in constraints-0.14.4 · Data.Constraint
  • PrimType a => Eq (BlockN n a)Defined in basement-0.0.16 · Basement.Sized.Block
  • PrimType a => Eq (UVect n a)Defined in basement-0.0.16 · Basement.Sized.UVect
  • MonadConc m => Eq (Async m a)Defined in concurrency-1.11.0.3 · Control.Concurrent.Classy.Async
  • Eq (IOUArray i e)Defined in array-0.5.8.0 · Data.Array.IO.Internals
  • Eq (Fixed a)Defined in base-4.23.0.0 · Data.Fixed
  • Eq (PublicKey curve hash)Defined in crypton-2.1.7 · Crypto.PubKey.EdDSA
  • Eq (Signature curve hash)Defined in crypton-2.1.7 · Crypto.PubKey.EdDSA
  • Eq (PublicKey curve hash)Defined in cryptonite-0.30 · Crypto.PubKey.EdDSA
  • Eq (Signature curve hash)Defined in cryptonite-0.30 · Crypto.PubKey.EdDSA
  • Eq (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Eq (TypeRep a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Typeable.Internal
  • Eq (U1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (V1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (IOArray i e)Defined in ghc-internal-10.0.0 · GHC.Internal.IOArray
  • Eq (STRef s a)Defined in ghc-internal-10.0.0 · GHC.Internal.STRef

    Pointer equality.

  • Eq (MutableArray s a)Defined in primitive-0.9.1.0 · Data.Primitive.Array
  • Eq (MVar s a)Defined in primitive-0.9.1.0 · Data.Primitive.MVar
  • Eq (MutVar s a)Defined in primitive-0.9.1.0 · Data.Primitive.MutVar
  • Eq (MutablePrimArray s a)Defined in primitive-0.9.1.0 · Data.Primitive.PrimArray
  • Eq (PrimVar s a)Defined in primitive-0.9.1.0 · Data.Primitive.PrimVar
  • Eq (SmallMutableArray s a)Defined in primitive-0.9.1.0 · Data.Primitive.SmallArray
  • Eq (Some Cmd)Defined in hnix-store-remote-0.7.0.0 · Data.Serializer.Example
  • Eq (Some StoreRequest)Defined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreRequest
  • Eq (a :- b)Defined in constraints-0.14.4 · Data.Constraint

    Assumes IncoherentInstances doesn't exist.

  • Eq (f a) => Eq (Zippy f a)Defined in semialign-1.3.1.1 · Data.Zip
  • Eq a => Eq (Arg a b)Defined in base-4.23.0.0 · Data.Semigroup

    Note that Arg's Eq instance does not satisfy extensionality:

    Example2 expressions
    Arg 0 0 == Arg 0 1Truelet f (Arg _ x) = x in f (Arg 0 0) == f (Arg 0 1)False
  • Eq a => Eq (Base64 k a)Defined in base64-1.0 · Data.Base64.Types.Internal
  • Eq a => Eq (ListN n a)Defined in basement-0.0.16 · Basement.Sized.List
  • Eq a => Eq (Vect n a)Defined in basement-0.0.16 · Basement.Sized.Vect
  • Eq a => Eq (Chan p a)Defined in colour-2.3.7 · Data.Colour.Chan
  • Eq a => Eq (Vector n a)Defined in mlkem-0.2.3.0 · Vector
  • Eq a => Eq (EnumMap k a)Defined in regex-tdfa-1.3.2.6 · Data.IntMap.EnumMap2
  • Eq ba => Eq (SizedByteArray n ba)Defined in memory-0.18.0 · Data.ByteArray.Sized
  • Eq ba => Eq (SizedByteArray n ba)Defined in ram-0.22.1 · Data.ByteArray.Sized
  • GEq tag => Eq (Some tag)Defined in some-1.0.6 · Data.GADT.Internal
  • GEq tag => Eq (Some tag)Defined in some-1.0.6 · Data.Some.GADT
  • GEq tag => Eq (Some tag)Defined in some-1.0.6 · Data.Some.Newtype
  • (Eq1 f, Eq a) => Eq (Ap f a)Defined in free-5.2 · Control.Applicative.Free
  • (Eq1 f, Eq a) => Eq (Cofree f a)Defined in free-5.2 · Control.Comonad.Cofree
  • (Eq1 f, Eq a) => Eq (Free f a)Defined in free-5.2 · Control.Monad.Free
  • (Eq1 f, Eq a) => Eq (Free f a)Defined in free-5.2 · Control.Monad.Free.Ap
  • (Eq1 f, Eq a) => Eq (Lift f a)Defined in transformers-0.6.3.0 · Control.Applicative.Lift
  • (Eq1 m, Eq a) => Eq (IterT m a)Defined in free-5.2 · Control.Monad.Trans.Iter
  • (Eq1 m, Eq a) => Eq (MaybeT m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Maybe
  • (Eq1 w, Eq a) => Eq (CoiterT w a)Defined in free-5.2 · Control.Comonad.Trans.Coiter
  • (Eq (ParseError s e), Eq s) => Eq (State s e)Defined in megaparsec-9.5.0 · Text.Megaparsec.State
  • (Eq (Token s), Eq e) => Eq (ParseError s e)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error
  • (Eq a, Eq b) => Eq (List a b)Defined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap
  • (Eq a, Eq b) => Eq (Matching a b)Defined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap.Algorithm
  • (Eq a, Eq b) => Eq (These a b)Defined in basement-0.0.16 · Basement.These
  • (Eq a, Eq b) => Eq (Either a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Either
  • (Eq a, Eq b) => Eq (Either a b)Defined in strict-0.5.1 · Data.Strict.Either
  • (Eq a, Eq b) => Eq (These a b)Defined in strict-0.5.1 · Data.Strict.These
  • (Eq a, Eq b) => Eq (Pair a b)Defined in strict-0.5.1 · Data.Strict.Tuple
  • (Eq a, Eq b) => Eq (These a b)Defined in these-1.2.1 · Data.These
  • (Eq a, Eq b) => Eq (a, b)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (Eq a, Eq e) => Eq (AdjacencyMap e a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.AdjacencyMap
  • (Eq ann, Eq expr) => Eq (AnnUnit ann expr)Defined in hnix-0.17.0 · Nix.Expr.Types.Annotated
  • (Eq c, Eq a) => Eq (Tree c a)Defined in hspec-core-2.11.18 · Test.Hspec.Core.Runner.Eval
  • (Eq c, Eq a) => Eq (Tree c a)Defined in hspec-core-2.11.18 · Test.Hspec.Core.Tree
  • (Eq e, Monoid e, Ord a) => Eq (Graph e a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Labelled
  • (Eq e, Eq a) => Eq (Context e a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Labelled
  • (Eq fp, Eq txt) => Eq (DerivationOutput fp txt)Defined in nix-derivation-1.1.3 · Nix.Derivation.Types
  • (Eq i, Eq e) => Eq (TArray i e)Defined in stm-2.5.3.1 · Control.Concurrent.STM.TArray
  • (Eq k, Eq a) => Eq (Map k a)Defined in containers-0.8 · Data.Map.Internal
  • (Eq k, Eq a) => Eq (IPRTable k a)Defined in iproute-1.7.15 · Data.IP.RouteTable.Internal
  • (Eq k, Eq e) => Eq (TkArray k e)Defined in aeson-2.2.5.1 · Data.Aeson.Decoding.Tokens
  • (Eq k, Eq e) => Eq (TkRecord k e)Defined in aeson-2.2.5.1 · Data.Aeson.Decoding.Tokens
  • (Eq k, Eq e) => Eq (Tokens k e)Defined in aeson-2.2.5.1 · Data.Aeson.Decoding.Tokens
  • (Eq k, Eq v) => Eq (HashMap k v)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal

    Note that, in the presence of hash collisions, equal HashMaps may behave differently, i.e. extensionality may be violated:

    Example2 expressions
    data D = A | B deriving (Eq, Show)instance Hashable D where hashWithSalt salt _d = salt
    Example2 expressions
    x = fromList [(A,1), (B,2)]y = fromList [(B,2), (A,1)]
    Example3 expressions
    x == yTruetoList x[(A,1),(B,2)]toList y[(B,2),(A,1)]

    In general, the lack of extensionality can be observed with any function that depends on the key ordering, such as folds and traversals.

  • (Eq k, Eq v) => Eq (Leaf k v)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal
  • (Eq o, Eq a) => Eq (Optimum o a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • (Eq s, Eq (Token s), Eq e) => Eq (ParseErrorBundle s e)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error
  • (Eq txt, Eq fp) => Eq (Derivation fp txt)Defined in nix-derivation-1.1.3 · Nix.Derivation.Types
  • (Eq v, Eq (ThunkId m)) => Eq (NThunkF m v)Defined in hnix-0.17.0 · Nix.Thunk.Basic
  • (Eq v, Eq r) => Eq (Antiquoted v r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • (Ord a, Ord b) => Eq (AdjacencyMap a b)Defined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap
  • (Ix i, Eq e) => Eq (Array i e)Defined in ghc-internal-10.0.0 · GHC.Internal.Arr
  • (Ix ix, Eq e, IArray UArray e) => Eq (UArray ix e)Defined in array-0.5.8.0 · Data.Array.Base
  • (GEq (Rep1 f a), Generic1 f) => Eq (FunctorClassesDefault f a)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • (Eq a, Eq b) :=> Eq (Either a b)Defined in constraints-0.14.4 · Data.Constraint
  • (Eq a, Eq b) :=> Eq (a, b)Defined in constraints-0.14.4 · Data.Constraint
  • Eq (STUArray s i e)Defined in array-0.5.8.0 · Data.Array.Base
  • Eq (STArray s i e)Defined in ghc-internal-10.0.0 · GHC.Internal.Arr
  • Eq (Coercion a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Coercion
  • Eq (OrderingI a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Ord
  • Eq (URec Char p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (URec Double p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (URec Float p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (URec Int p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (URec Word p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (URec (Ptr ()) p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (GOrdering a b)Defined in some-1.0.6 · Data.GADT.Internal
  • Eq (a :~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • Eq (bi a b) => Eq (Biap bi a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Biap
  • Eq (f a) => Eq (Ap f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Eq (f a) => Eq (Alt f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Eq (f p) => Eq (Rec1 f p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (p (Fix p a) a) => Eq (Fix p a)Defined in bifunctors-5.6.3 · Data.Bifunctor.Fix
  • Eq (p a a) => Eq (Join p a)Defined in bifunctors-5.6.3 · Data.Bifunctor.Join
  • Eq (w (CofreeF f a (CofreeT f w a))) => Eq (CofreeT f w a)Defined in free-5.2 · Control.Comonad.Trans.Cofree
  • Eq a => Eq (Const a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Const
  • Eq a => Eq (Constant a b)Defined in transformers-0.6.3.0 · Data.Functor.Constant
  • Eq a => Eq (Bundle Id v a)Defined in vector-0.13.2.0 · Data.Vector.Fusion.Bundle · orphan
  • Eq b => Eq (Tagged s b)Defined in tagged-0.8.11 · Data.Tagged
  • Eq r => Eq (NValueF p m r)Defined in hnix-0.17.0 · Nix.Value
  • NVConstraint f => Eq (WValue t f m)Defined in hnix-0.17.0 · Nix.Builtins
  • (Eq1 f, Eq1 m, Eq a) => Eq (FreeT f m a)Defined in free-5.2 · Control.Monad.Trans.Free
  • (Eq1 f, Eq1 m, Eq a) => Eq (FreeT f m a)Defined in free-5.2 · Control.Monad.Trans.Free.Ap
  • (Eq1 f, Eq a) => Eq (Backwards f a)Defined in transformers-0.6.3.0 · Control.Applicative.Backwards
  • (Eq1 f, Eq a) => Eq (IdentityT f a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Identity
  • (Eq1 f, Eq a) => Eq (Reverse f a)Defined in transformers-0.6.3.0 · Data.Functor.Reverse
  • (Functor f, Monad m, Eq1 f, Eq1 m, Eq a) => Eq (FT f m a)Defined in free-5.2 · Control.Monad.Trans.Free.Church
  • (Eq (f a), Eq (g a), Eq a) => Eq (These1 f g a)Defined in these-1.2.1 · Data.Functor.These
  • (Eq a, Eq (f b)) => Eq (CofreeF f a b)Defined in free-5.2 · Control.Comonad.Trans.Cofree
  • (Eq a, Eq (f b)) => Eq (FreeF f a b)Defined in free-5.2 · Control.Monad.Trans.Free
  • (Eq a, Eq (f b)) => Eq (FreeF f a b)Defined in free-5.2 · Control.Monad.Trans.Free.Ap
  • (Eq a, Eq b, Eq c) => Eq (a, b, c)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (Eq e, Eq1 m, Eq a) => Eq (ExceptT e m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Except
  • (Eq w, Eq1 m, Eq a) => Eq (WriterT w m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.Lazy
  • (Eq w, Eq1 m, Eq a) => Eq (WriterT w m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.Strict
  • (Generic1 f, Eq (Rep1 f a)) => Eq (Generically1 f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (GEq tag, Has' Eq tag f) => Eq (DSum tag f)Defined in dependent-sum-0.7.2.0 · Data.Dependent.Sum
  • Eq (a :~~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • Eq c => Eq (K1 i c p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Eq (f a), Eq (g a)) => Eq (Product f g a)Defined in base-4.23.0.0 · Data.Functor.Product
  • (Eq (f a), Eq (g a)) => Eq (Sum f g a)Defined in base-4.23.0.0 · Data.Functor.Sum
  • (Eq (f p), Eq (g p)) => Eq ((:*:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Eq (f p), Eq (g p)) => Eq ((:+:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Eq a, Comonad f) => Eq (NValue' t f m a)Defined in hnix-0.17.0 · Nix.Value
  • (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Eq (f (g a)) => Eq (Compose f g a)Defined in base-4.23.0.0 · Data.Functor.Compose
  • Eq (f (g p)) => Eq ((:.:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (f a) => Eq (Clown f a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Clown
  • Eq (f p) => Eq (M1 i c f p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (g b) => Eq (Joker g a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Joker
  • Eq (p a b) => Eq (WrappedBifunctor p a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Wrapped
  • Eq (p b a) => Eq (Flip p a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Flip
  • (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (Eq (f a b), Eq (g a b)) => Eq (Product f g a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Product
  • (Eq (p a b), Eq (q a b)) => Eq (Sum p q a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Sum
  • (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f) => Eq (a, b, c, d, e, f)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Eq (f (p a b)) => Eq (Tannen f p a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Tannen
  • (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g) => Eq (a, b, c, d, e, f, g)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Eq (p (f a) (g b)) => Eq (Biff p f g a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Biff
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
classclass Eq a => Ord a where
#

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.

Ord, as defined by the Haskell report, implements a total order and has the following properties:

Comparability

x <= y || y <= x

=

True

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

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 (==). Users who expect a stronger guarantee are advised to write their own min and/or max functions.

The nuance of the above distinction is not always fully internalized by developers, and in the past (tracing back to the Haskell 1.4 Report) the specification for Ord asserted the stronger property that (min x y, max x y) = (x, y) or (y, x), or in other words, that min and max will return one of their arguments, using argument order as the tie-breaker if the arguments are equal by comparison. A few list and Foldable functions have behavior that is best understood with this assumption in mind: all variations of minimumBy and maximumBy (which can't use min and max in their implementations) are written such that minimumBy compare and maximumBy compare are respectively equivalent to minimum and maximum (which do use min and max) only if min and max adhere to this tie-breaking convention. Otherwise, if there are multiple least or largest elements in a container, minimum and maximum may not return the same one that minimumBy compare and maximumBy compare do (though they should return something that is equal). (This is relevant for types with non-extensional equality, like Arg, but also in cases where the precise reference held matters for memory-management reasons.) Unless there is a reason to deviate, it is less confusing for implementors of Ord to respect this same convention (as the default definitions of min and max do).

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

Methods

Instances808Lifting2, Lifting, :=>, Class, Ord, …
  • Ord ASCIIStringDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord PrintableStringDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord UnicodeStringDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord OrdADefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Ord OrdBDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Ord OrdCDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Ord KeyDefined in aeson-2.2.5.1 · Data.Aeson.Key
  • Ord ArityDefined in aeson-2.2.5.1 · Data.Aeson.TH
  • Ord DotNetTimeDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Ord JSONPathElementDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Ord ValueDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal

    The ordering is total, consistent with Eq instance. However, nothing else about the ordering is specified, and it may change from environment to environment and version to version of either this package or its dependencies (hashable and 'unordered-containers').

  • Ord AdjacencyIntMapDefined in algebraic-graphs-0.8 · Algebra.Graph.AdjacencyIntMap
  • Ord AlphabetDefined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.Example.Automaton
  • Ord StateDefined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.Example.Automaton
  • Ord CityDefined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.Example.Network
  • Ord BlinkSpeedDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Ord ColorDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Ord ColorIntensityDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Ord ConsoleIntensityDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Ord ConsoleLayerDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Ord UnderliningDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Ord PosDefined in attoparsec-0.14.4 · Data.Attoparsec.Internal.Types
  • Ord NumberDefined in attoparsec-0.14.4 · Data.Attoparsec.Number
  • Ord ByteArrayDefined in base-4.23.0.0 · Data.Array.Byte

    Non-lexicographic ordering. This compares the lengths of the byte arrays first and uses a lexicographic ordering if the lengths are equal. Subject to change between major versions.

  • Ord EncodingDefined in basement-0.0.16 · Basement.String
  • Ord UTF32_InvalidDefined in basement-0.0.16 · Basement.String.Encoding.UTF32
  • Ord AsciiStringDefined in basement-0.0.16 · Basement.Types.AsciiString
  • Ord Char7Defined in basement-0.0.16 · Basement.Types.Char7
  • Ord FileSizeDefined in basement-0.0.16 · Basement.Types.OffsetSize
  • Ord AddrDefined in basement-0.0.16 · Basement.Types.Ptr
  • Ord Word128Defined in basement-0.0.16 · Basement.Types.Word128
  • Ord Word256Defined in basement-0.0.16 · Basement.Types.Word256
  • Ord StringDefined in basement-0.0.16 · Basement.UTF8.Base
  • Ord OptionsDefined in bifunctors-5.6.3 · Data.Bifunctor.TH
  • Ord ByteOrderDefined in byteorder-1.0.4 · System.ByteOrder
  • Ord ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Internal.Type
  • Ord ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Lazy.Internal
  • Ord ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal

    Lexicographic order.

  • Ord ByteArrayDefined in cborg-0.2.10.0 · Codec.CBOR.ByteArray
  • Ord SlicedByteArrayDefined in cborg-0.2.10.0 · Codec.CBOR.ByteArray.Sliced
  • Ord TokenTypeDefined in cborg-0.2.10.0 · Codec.CBOR.Decoding
  • Ord TermTokenDefined in cborg-0.2.10.0 · Codec.CBOR.FlatTerm
  • Ord TermDefined in cborg-0.2.10.0 · Codec.CBOR.Term
  • Ord TimeSpecDefined in clock-0.8.4 · System.Clock
  • Ord SecondsDefined in clock-0.8.4 · System.Clock.Seconds
  • Ord StateDefined in concurrency-1.11.0.3 · Control.Concurrent.Classy.RWLock
  • Ord IntSetDefined in containers-0.8 · Data.IntSet.Internal
  • Ord IntersectionDefined in containers-0.8 · Data.IntSet.Internal
  • Ord OptionsDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Ord VariantDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Ord VersionDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Ord ParametersDefined in crypton-2.1.7 · Crypto.KDF.BCryptPBKDF
  • Ord PrivateNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Ord PublicNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Ord CurveNameDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Ord ASN1TimeTypeDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types
  • Ord ASN1ClassDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.Lowlevel
  • Ord ASN1CharacterStringDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.String
  • Ord ASN1StringEncodingDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.String
  • Ord ConnectDefined in crypton-socks-0.6.2 · Network.Socks5.Command
  • Ord SocksAddressDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Ord SocksCommandDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Ord SocksErrorDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Ord SocksHostAddressDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Ord SocksMethodDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Ord SocksReplyDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Ord SocksVersionDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Ord DistinguishedNameDefined in crypton-x509-1.9.2 · Data.X509.DistinguishedName
  • Ord AltNameDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Ord ExtKeyUsageFlagDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Ord ExtKeyUsagePurposeDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Ord ExtSubjectAltNameDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Ord ReasonFlagDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Ord OptionsDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Ord VariantDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Ord VersionDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Ord ParametersDefined in cryptonite-0.30 · Crypto.KDF.BCryptPBKDF
  • Ord PrivateNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Ord PublicNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Ord CurveNameDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Ord FFTOptionsDefined in deriving-compat-0.6.8 · Data.Functor.Deriving.Internal
  • Ord ReadOptionsDefined in deriving-compat-0.6.8 · Text.Read.Deriving.Internal
  • Ord ShowOptionsDefined in deriving-compat-0.6.8 · Text.Show.Deriving.Internal
  • Ord FileTypeDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Ord PermissionsDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Ord XdgDirectoryDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Ord XdgDirectoryListDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Ord ECHConfigDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Ord ECHConfigContentsDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Ord ECHConfigExtensionDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Ord EncodedServerPublicKeyDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Ord HpkeKeyConfigDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Ord HpkeSymmetricCipherSuiteDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Ord VoidDefined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Ord BigNatDefined in ghc-internal-10.0.0 · GHC.Internal.Bignum.BigNat
  • Ord IntegerDefined in ghc-internal-10.0.0 · GHC.Internal.Bignum.Integer
  • Ord NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Bignum.Natural
  • Ord ByteOrderDefined in ghc-internal-10.0.0 · GHC.Internal.ByteOrder
  • Ord ClosureTypeDefined in ghc-internal-10.0.0 · GHC.Internal.ClosureTypes
  • Ord BlockReasonDefined in ghc-internal-10.0.0 · GHC.Internal.Conc.Sync
  • Ord ThreadIdDefined in ghc-internal-10.0.0 · GHC.Internal.Conc.Sync
  • Ord ThreadStatusDefined in ghc-internal-10.0.0 · GHC.Internal.Conc.Sync
  • Ord AllDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Ord AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Ord SomeTypeRepDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Typeable.Internal
  • Ord UniqueDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Unique
  • Ord VersionDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Version
  • Ord TimeoutKeyDefined in ghc-internal-10.0.0 · GHC.Internal.Event.TimeOut
  • Ord UniqueDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Unique
  • Ord ErrorCallDefined in ghc-internal-10.0.0 · GHC.Internal.Exception
  • Ord ArithExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.Exception.Type
  • Ord FingerprintDefined in ghc-internal-10.0.0 · GHC.Internal.Fingerprint.Type
  • Ord CBoolDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CClockDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CDoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CFloatDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CLLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CPtrdiffDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CSCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CSUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CSigAtomicDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CSizeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CTimeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CUCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CUIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CUIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CUIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CULLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CULongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CUShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord CWcharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Ord IntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Ord WordPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Ord AssociativityDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord DecidedStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord FixityDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord SourceStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord SourceUnpackednessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord PrimTypeDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Ord TsoFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Ord WhatNextDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Ord WhyBlockedDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Ord HalfWordDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.InfoTable.Types
  • Ord CostCentreDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Ord CostCentreStackDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Ord IndexTableDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Ord StgTSOProfInfoDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Ord SeekModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Device
  • Ord ArrayExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Ord AsyncExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Ord ExitCodeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Ord BufferModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Ord NewlineDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Ord NewlineModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Ord IOModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.IOMode
  • Ord Int16Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Ord Int32Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Ord Int64Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Ord Int8Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Ord ExtensionDefined in ghc-internal-10.0.0 · GHC.Internal.LanguageExtensions
  • Ord ByteOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Constants
  • Ord WordOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Constants
  • Ord ByteOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.ConstantsProf
  • Ord WordOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.ConstantsProf
  • Ord CBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CBlkSizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CCcDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CClockIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CDevDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CFsBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CFsFilCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CGidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CInoDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CKeyDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CModeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CNfdsDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CNlinkDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord COffDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CPidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CRLimDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CSocklenDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CSpeedDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CSsizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CTcflagDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CTimerDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord CUidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord FdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Ord AnnLookupDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord AnnTargetDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord BangDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord BndrVisDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord BodyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord BytesDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord CallconvDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord ClauseDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord ConDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord DecDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord DecidedStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord DerivClauseDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord DerivStrategyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord DocLocDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord ExpDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord FamilyResultSigDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord FixityDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord FixityDirectionDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord ForeignDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord FunDepDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord GuardDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord InfoDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord InjectivityAnnDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord InlineDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord LitDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord LocDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord MatchDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord ModNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord ModuleDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord ModuleInfoDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord NameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord NameFlavourDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord NameSpaceDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord NamespaceSpecifierDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord OccNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord OverlapDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord PatDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord PatSynArgsDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord PatSynDirDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord PhasesDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord PkgNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord PragmaDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord RangeDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord RoleDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord RuleBndrDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord RuleMatchDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord SafetyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord SourceStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord SourceUnpackednessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord SpecificityDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord StmtDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord TyLitDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord TySynEqnDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord TypeDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord TypeFamilyHeadDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord SomeCharDefined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Ord SomeSymbolDefined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Ord SomeNatDefined in ghc-internal-10.0.0 · GHC.Internal.TypeNats
  • Ord BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Ord CharDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Ord DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Classes

    IEEE 754 Double-precision type includes not only numbers, but also positive and negative infinities and a special element called NaN (which can be quiet or signal).

    IEEE 754-2008, section 5.11 requires that if at least one of arguments of <=, <, >, >= is NaN then the result of the comparison is False, and instance Ord Double complies with this requirement. This violates the reflexivity: both NaN <= NaN and NaN >= NaN are False.

    IEEE 754-2008, section 5.10 defines totalOrder predicate. Unfortunately, compare on Doubles violates the IEEE standard and does not define a total order. More specifically, both compare NaN x and compare x NaN always return GT.

    Thus, users must be extremely cautious when using instance Ord Double. For instance, one should avoid ordered containers with keys represented by Double, because data loss and corruption may happen. An IEEE-compliant compare is available in fp-ieee package as TotallyOrdered newtype.

    Moving further, the behaviour of min and max with regards to NaN is also non-compliant. IEEE 754-2008, section 5.3.1 defines that quiet NaN should be treated as a missing data by minNum and maxNum functions, for example, minNum(NaN, 1) = minNum(1, NaN) = 1. Some languages such as Java deviate from the standard implementing minNum(NaN, 1) = minNum(1, NaN) = NaN. However, min / max in base are even worse: min NaN 1 is 1, but min 1 NaN is NaN.

    IEEE 754-2008 compliant min / max can be found in ieee754 package under minNum / maxNum names. Implementations compliant with minimumNumber / maximumNumber from a newer IEEE 754-2019, section 9.6 are available from fp-ieee package.

  • Ord FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Classes

    See instance Ord Double for discussion of deviations from IEEE 754 standard.

  • Ord IntDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Ord OrderingDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Ord TyConDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Ord WordDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Ord GeneralCategoryDefined in ghc-internal-10.0.0 · GHC.Internal.Unicode
  • Ord Word16Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Ord Word32Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Ord Word64Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Ord Word8Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Ord HalfDefined in half-0.3.3 · Numeric.Half.Internal
  • Ord PosDefined in haskell-lexer-1.2.1 · Language.Haskell.Lexer.Position
  • Ord TokenDefined in haskell-lexer-1.2.1 · Language.Haskell.Lexer.Tokens
  • Ord NAtomDefined in hnix-0.17.0 · Nix.Atoms
  • Ord FileTypeDefined in hnix-0.17.0 · Nix.Builtins
  • Ord VersionComponentDefined in hnix-0.17.0 · Nix.Builtins
  • Ord StorePathDefined in hnix-0.17.0 · Nix.Effects
  • Ord NBinaryOpDefined in hnix-0.17.0 · Nix.Expr.Types
  • Ord NPosDefined in hnix-0.17.0 · Nix.Expr.Types
  • Ord NSourcePosDefined in hnix-0.17.0 · Nix.Expr.Types
  • Ord NUnaryOpDefined in hnix-0.17.0 · Nix.Expr.Types
  • Ord RecursivityDefined in hnix-0.17.0 · Nix.Expr.Types
  • Ord VarNameDefined in hnix-0.17.0 · Nix.Expr.Types
  • Ord VariadicDefined in hnix-0.17.0 · Nix.Expr.Types
  • Ord SrcSpanDefined in hnix-0.17.0 · Nix.Expr.Types.Annotated
  • Ord NixLevelDefined in hnix-0.17.0 · Nix.Frames
  • Ord TAtomDefined in hnix-0.17.0 · Nix.Lint
  • Ord VerbosityDefined in hnix-0.17.0 · Nix.Options
  • Ord NAppOpDefined in hnix-0.17.0 · Nix.Parser
  • Ord NAssocDefined in hnix-0.17.0 · Nix.Parser
  • Ord NOpNameDefined in hnix-0.17.0 · Nix.Parser
  • Ord NOpPrecedenceDefined in hnix-0.17.0 · Nix.Parser
  • Ord NOperatorDefDefined in hnix-0.17.0 · Nix.Parser
  • Ord NSpecialOpDefined in hnix-0.17.0 · Nix.Parser
  • Ord ContextFlavorDefined in hnix-0.17.0 · Nix.String
  • Ord NixLikeContextDefined in hnix-0.17.0 · Nix.String
  • Ord NixLikeContextValueDefined in hnix-0.17.0 · Nix.String
  • Ord NixStringDefined in hnix-0.17.0 · Nix.String
  • Ord StringContextDefined in hnix-0.17.0 · Nix.String
  • Ord CoercionLevelDefined in hnix-0.17.0 · Nix.String.Coerce
  • Ord CopyToStoreModeDefined in hnix-0.17.0 · Nix.String.Coerce
  • Ord ConstraintDefined in hnix-0.17.0 · Nix.Type.Infer
  • Ord InferStateDefined in hnix-0.17.0 · Nix.Type.Infer
  • Ord SubstDefined in hnix-0.17.0 · Nix.Type.Infer
  • Ord TypeErrorDefined in hnix-0.17.0 · Nix.Type.Infer
  • Ord SchemeDefined in hnix-0.17.0 · Nix.Type.Type
  • Ord TVarDefined in hnix-0.17.0 · Nix.Type.Type
  • Ord TypeDefined in hnix-0.17.0 · Nix.Type.Type
  • Ord PathDefined in hnix-0.17.0 · Nix.Utils
  • Ord BaseEncodingDefined in hnix-store-core-0.8.0.0 · System.Nix.Base
  • Ord BuildModeDefined in hnix-store-core-0.8.0.0 · System.Nix.Build
  • Ord BuildResultDefined in hnix-store-core-0.8.0.0 · System.Nix.Build
  • Ord BuildStatusDefined in hnix-store-core-0.8.0.0 · System.Nix.Build
  • Ord ContentAddressDefined in hnix-store-core-0.8.0.0 · System.Nix.ContentAddress
  • Ord ContentAddressMethodDefined in hnix-store-core-0.8.0.0 · System.Nix.ContentAddress
  • Ord DerivedPathDefined in hnix-store-core-0.8.0.0 · System.Nix.DerivedPath
  • Ord OutputsSpecDefined in hnix-store-core-0.8.0.0 · System.Nix.DerivedPath
  • Ord ParseOutputsErrorDefined in hnix-store-core-0.8.0.0 · System.Nix.DerivedPath
  • Ord OutputNameDefined in hnix-store-core-0.8.0.0 · System.Nix.OutputName
  • Ord DerivationOutputErrorDefined in hnix-store-core-0.8.0.0 · System.Nix.Realisation
  • Ord RealisationDefined in hnix-store-core-0.8.0.0 · System.Nix.Realisation
  • Ord RealisationWithIdDefined in hnix-store-core-0.8.0.0 · System.Nix.Realisation
  • Ord NarSignatureDefined in hnix-store-core-0.8.0.0 · System.Nix.Signature
  • Ord SignatureDefined in hnix-store-core-0.8.0.0 · System.Nix.Signature
  • Ord FileIngestionMethodDefined in hnix-store-core-0.8.0.0 · System.Nix.Store.Types
  • Ord RepairModeDefined in hnix-store-core-0.8.0.0 · System.Nix.Store.Types
  • Ord InvalidNameErrorDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Ord InvalidPathErrorDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Ord StoreDirDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Ord StorePathDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Ord StorePathHashPartDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Ord StorePathNameDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Ord StorePathTrustDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath.Metadata
  • Ord OpCodeDefined in hnix-store-remote-0.7.0.0 · Data.Serializer.Example
  • Ord WorkerErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.MonadStore
  • Ord WorkerExceptionDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.MonadStore
  • Ord HandshakeSErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Ord LoggerSErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Ord ReplySErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Ord RequestSErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Ord SErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Ord ActivityDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Activity
  • Ord ActivityIDDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Activity
  • Ord ActivityResultDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Activity
  • Ord CheckModeDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.CheckMode
  • Ord GCActionDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.GC
  • Ord GCOptionsDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.GC
  • Ord GCResultDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.GC
  • Ord GCRootDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.GC
  • Ord ClientHandshakeInputDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Handshake
  • Ord ClientHandshakeOutputDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Handshake
  • Ord ServerHandshakeInputDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Handshake
  • Ord ServerHandshakeOutputDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Handshake
  • Ord BasicErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Ord ErrorInfoDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Ord FieldDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Ord LoggerDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Ord LoggerOpCodeDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Ord TraceDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Ord ProtoVersionDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.ProtoVersion
  • Ord MissingDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Query.Missing
  • Ord ProtoStoreConfigDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreConfig
  • Ord StoreConnectionDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreConfig
  • Ord StoreSocketPathDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreConfig
  • Ord StoreTCPDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreConfig
  • Ord StoreTextDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreText
  • Ord SubstituteModeDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.SubstituteMode
  • Ord TrustedFlagDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.TrustedFlag
  • Ord VerbosityDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Verbosity
  • Ord WorkerMagicDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.WorkerMagic
  • Ord WorkerOpDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.WorkerOp
  • Ord DLDefined in hspec-core-2.11.18 · Data.Algorithm.Diff
  • Ord SecondsDefined in hspec-core-2.11.18 · Test.Hspec.Core.Clock
  • Ord ChunkDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Sort
  • Ord NaturalSortKeyDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Sort
  • Ord ConnHostDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Ord ConnKeyDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Ord MaxHeaderLengthDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Ord MaxNumberHeadersDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Ord ProxyDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Ord ProxySecureModeDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Ord StatusHeadersDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Ord StreamFileStatusDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Ord DigestAuthExceptionDetailsDefined in http-client-tls-0.4.0 · Network.HTTP.Client.TLS
  • Ord ByteRangeDefined in http-types-0.12.6 · Network.HTTP.Types.Header
  • Ord StdMethodDefined in http-types-0.12.6 · Network.HTTP.Types.Method
  • Ord StatusDefined in http-types-0.12.6 · Network.HTTP.Types.Status

    Statuses are ordered according to their status codes only.

  • Ord EscapeItemDefined in http-types-0.12.6 · Network.HTTP.Types.URI
  • Ord HttpVersionDefined in http-types-0.12.6 · Network.HTTP.Types.Version
  • Ord IPDefined in iproute-1.7.15 · Data.IP.Addr
  • Ord IPv4Defined in iproute-1.7.15 · Data.IP.Addr
  • Ord IPv6Defined in iproute-1.7.15 · Data.IP.Addr
  • Ord IPRangeDefined in iproute-1.7.15 · Data.IP.Range
  • Ord PosDefined in megaparsec-9.5.0 · Text.Megaparsec.Pos
  • Ord SourcePosDefined in megaparsec-9.5.0 · Text.Megaparsec.Pos
  • Ord BytesDefined in memory-0.18.0 · Data.ByteArray.Bytes
  • Ord ScrubbedBytesDefined in memory-0.18.0 · Data.ByteArray.ScrubbedBytes
  • Ord FnvHash32Defined in memory-0.18.0 · Data.Memory.Hash.FNV
  • Ord FnvHash64Defined in memory-0.18.0 · Data.Memory.Hash.FNV
  • Ord SipHashDefined in memory-0.18.0 · Data.Memory.Hash.SipHash
  • Ord MsgFlagDefined in network-3.2.9.0 · Network.Socket.Flag
  • Ord SocketTimeoutDefined in network-3.2.9.0 · Network.Socket.Options
  • Ord StructLingerDefined in network-3.2.9.0 · Network.Socket.Options
  • Ord FamilyDefined in network-3.2.9.0 · Network.Socket.Types
  • Ord PortNumberDefined in network-3.2.9.0 · Network.Socket.Types
  • Ord SockAddrDefined in network-3.2.9.0 · Network.Socket.Types
  • Ord SocketTypeDefined in network-3.2.9.0 · Network.Socket.Types
  • Ord URIDefined in network-uri-2.6.4.2 · Network.URI
  • Ord URIAuthDefined in network-uri-2.6.4.2 · Network.URI
  • Ord RichnessDefined in optparse-applicative-0.18.1.0 · Options.Applicative.BashCompletion
  • Ord ParentheticDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Help.Core
  • Ord ArgPolicyDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Ord OptNameDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Ord OptVisibilityDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Ord OsCharDefined in os-string-2.0.11 · System.OsString.Internal.Types

    Byte ordering of the internal representation.

  • Ord OsStringDefined in os-string-2.0.11 · System.OsString.Internal.Types

    Byte ordering of the internal representation.

  • Ord PosixCharDefined in os-string-2.0.11 · System.OsString.Internal.Types
  • Ord PosixStringDefined in os-string-2.0.11 · System.OsString.Internal.Types
  • Ord WindowsCharDefined in os-string-2.0.11 · System.OsString.Internal.Types
  • Ord WindowsStringDefined in os-string-2.0.11 · System.OsString.Internal.Types
  • Ord MessageDefined in parsec-3.1.18.0 · Text.Parsec.Error
  • Ord SourcePosDefined in parsec-3.1.18.0 · Text.Parsec.Pos
  • Ord PrettyLevelDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJClass
  • Ord PrettyLevelDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJClass
  • Ord FusionDepthDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • Ord LayoutOptionsDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • Ord PageWidthDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • Ord AnsiStyleDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Ord BoldDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Ord ColorDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Ord IntensityDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Ord ItalicizedDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Ord LayerDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Ord UnderlinedDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Ord CommunicationHandleDefined in process-1.6.30.0 · System.Process.CommunicationHandle.Internal
  • Ord BytesDefined in ram-0.22.1 · Data.ByteArray.Bytes
  • Ord ScrubbedBytesDefined in ram-0.22.1 · Data.ByteArray.ScrubbedBytes
  • Ord FnvHash32Defined in ram-0.22.1 · Data.Memory.Hash.FNV
  • Ord FnvHash64Defined in ram-0.22.1 · Data.Memory.Hash.FNV
  • Ord SipHashDefined in ram-0.22.1 · Data.Memory.Hash.SipHash
  • Ord CardinalityDefined in random-1.3.1 · System.Random.GFinite
  • Ord DoPaDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Ord WhichTestDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Ord PatternSetCharacterClassDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Pattern
  • Ord PatternSetCollatingElementDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Pattern
  • Ord PatternSetEquivalenceClassDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Pattern
  • Ord UndefinedDefined in relude-1.2.2.2 · Relude.Debug
  • Ord ScientificDefined in scientific-0.3.9.0 · Data.Scientific

    Scientific numbers can be safely compared for ordering. No magnitude 10^e is calculated so there's no risk of a blowup in space or time when comparing scientific numbers coming from untrusted sources.

  • Ord FileTypeDefined in streaming-commons-0.2.3.1 · Data.Streaming.Filesystem
  • Ord HostPreferenceDefined in streaming-commons-0.2.3.1 · Data.Streaming.Network.Internal
  • Ord StrategyDefined in streaming-commons-0.2.3.1 · Data.Streaming.Zlib.Lowlevel
  • Ord I8Defined in text-2.1.4 · Data.Text.Foreign
  • Ord TextDefined in text-2.1.4 · Data.Text · orphan
  • Ord BuilderDefined in text-2.1.4 · Data.Text.Internal.Builder
  • Ord TextDefined in text-2.1.4 · Data.Text.Lazy · orphan
  • Ord BDefined in text-short-0.1.6.1 · Data.Text.Short.Internal
  • Ord ShortTextDefined in text-short-0.1.6.1 · Data.Text.Short.Internal
  • Ord ConstructorVariantDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Ord DatatypeVariantDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Ord FieldStrictnessDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Ord StrictnessDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Ord UnpackednessDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Ord DayDefined in time-1.16.0.1 · Data.Time.Calendar.Days
  • Ord MonthDefined in time-1.16.0.1 · Data.Time.Calendar.Month
  • Ord QuarterDefined in time-1.16.0.1 · Data.Time.Calendar.Quarter
  • Ord QuarterOfYearDefined in time-1.16.0.1 · Data.Time.Calendar.Quarter
  • Ord DayOfWeekDefined in time-1.16.0.1 · Data.Time.Calendar.Week
  • Ord AbsoluteTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.AbsoluteTime
  • Ord DiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.DiffTime
  • Ord NominalDiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.NominalDiffTime
  • Ord SystemTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.SystemTime
  • Ord UTCTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.UTCTime
  • Ord UniversalTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.UniversalTime
  • Ord TimeLocaleDefined in time-1.16.0.1 · Data.Time.Format.Locale
  • Ord LocalTimeDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.LocalTime
  • Ord TimeOfDayDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.TimeOfDay
  • Ord TimeZoneDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.TimeZone
  • Ord DurationDefined in time-hourglass-0.3.0 · Time.Diff
  • Ord PeriodDefined in time-hourglass-0.3.0 · Time.Diff
  • Ord TimezoneMinutesDefined in time-hourglass-0.3.0 · Time.Timezone
  • Ord UTCDefined in time-hourglass-0.3.0 · Time.Timezone
  • Ord DateDefined in time-hourglass-0.3.0 · Time.Types
  • Ord DateTimeDefined in time-hourglass-0.3.0 · Time.Types
  • Ord ElapsedDefined in time-hourglass-0.3.0 · Time.Types
  • Ord ElapsedPDefined in time-hourglass-0.3.0 · Time.Types
  • Ord HoursDefined in time-hourglass-0.3.0 · Time.Types
  • Ord MinutesDefined in time-hourglass-0.3.0 · Time.Types
  • Ord MonthDefined in time-hourglass-0.3.0 · Time.Types
  • Ord NanoSecondsDefined in time-hourglass-0.3.0 · Time.Types
  • Ord SecondsDefined in time-hourglass-0.3.0 · Time.Types
  • Ord TimeOfDayDefined in time-hourglass-0.3.0 · Time.Types
  • Ord TimezoneOffsetDefined in time-hourglass-0.3.0 · Time.Types
  • Ord WeekDayDefined in time-hourglass-0.3.0 · Time.Types
  • Ord CertificateTypeDefined in tls-2.4.9 · Network.TLS.Struct
  • Ord CipherIdDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Ord VersionDefined in tls-2.4.9 · Network.TLS.Types.Version
  • Ord DirTypeDefined in unix-2.8.8.0 · System.Posix.Directory.Common
  • Ord CAttributesDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Ord StatxFlagsDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Ord StatxMaskDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Ord OpenFileFlagsDefined in unix-2.8.8.0 · System.Posix.IO.Common
  • Ord OpenModeDefined in unix-2.8.8.0 · System.Posix.IO.Common
  • Ord ProcessStatusDefined in unix-2.8.8.0 · System.Posix.Process.Internals
  • Ord BaudRateDefined in unix-2.8.8.0 · System.Posix.Terminal.Common
  • Ord UnixDiffTimeDefined in unix-time-0.5.0 · Data.UnixTime.Types
  • Ord UnixTimeDefined in unix-time-0.5.0 · Data.UnixTime.Types
  • Ord UUIDDefined in uuid-types-1.0.6.1 · Data.UUID.Types.Internal
  • Ord UnpackedUUIDDefined in uuid-types-1.0.6.1 · Data.UUID.Types.Internal
  • Ord AttrDefined in xml-1.3.14 · Text.XML.Light.Types
  • Ord QNameDefined in xml-1.3.14 · Text.XML.Light.Types
  • Ord CompressParamsDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Internal
  • Ord DecompressErrorDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Internal
  • Ord DecompressParamsDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Internal
  • Ord CompressionLevelDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Ord CompressionStrategyDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Ord DictionaryHashDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Ord FormatDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Ord MemoryLevelDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Ord MethodDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Ord WindowBitsDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Ord ()Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Lifting Ord IdentityDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Ord MaybeDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Ord []Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting2 Ord EitherDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting2 Ord Tuple2Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Ord1 f => Lifting Ord (Lift f)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Ord1 m => Lifting Ord (MaybeT m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Ord a => Lifting Ord (Either a)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Ord a => Lifting Ord (Tuple2 a)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Ord1 f => Lifting Ord (Backwards f)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Ord1 f => Lifting Ord (Reverse f)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Ord1 m => Lifting Ord (IdentityT m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Ord e, Ord1 m) => Lifting Ord (ExceptT e m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Ord w, Ord1 m) => Lifting Ord (WriterT w m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Ord w, Ord1 m) => Lifting Ord (WriterT w m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Ord1 f, Ord1 g) => Lifting Ord (Product f g)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Ord1 f, Ord1 g) => Lifting Ord (Sum f g)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Ord1 f, Ord1 g) => Lifting Ord (Compose f g)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • () :=> Ord IntegerDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Ord NaturalDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Ord BoolDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Ord CharDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Ord DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Ord FloatDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Ord IntDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Ord WordDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Ord (Dict a)Defined in constraints-0.14.4 · Data.Constraint
  • () :=> Ord ()Defined in constraints-0.14.4 · Data.Constraint
  • () :=> Ord (a :- b)Defined in constraints-0.14.4 · Data.Constraint
  • Ord1 f => Ord (Fix f)Defined in data-fix-0.3.4 · Data.Fix
  • Ord (Encoding' a)Defined in aeson-2.2.5.1 · Data.Aeson.Encoding.Internal
  • Ord (Async a)Defined in async-2.2.6 · Control.Concurrent.Async.Internal
  • Ord (Bits n)Defined in basement-0.0.16 · Basement.Bits
  • Ord (Zn n)Defined in basement-0.0.16 · Basement.Bounded
  • Ord (Zn64 n)Defined in basement-0.0.16 · Basement.Bounded
  • Ord (FinalPtr a)Defined in basement-0.0.16 · Basement.FinalPtr
  • Ord (CountOf ty)Defined in basement-0.0.16 · Basement.Types.OffsetSize
  • Ord (Offset ty)Defined in basement-0.0.16 · Basement.Types.OffsetSize
  • Ord (Dict a)Defined in constraints-0.14.4 · Data.Constraint
  • Ord (Digest a)Defined in crypton-2.1.7 · Crypto.Hash.Types
  • Ord (Digest a)Defined in cryptonite-0.30 · Crypto.Hash.Types
  • Ord (ConstPtr a)Defined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.ConstPtr
  • Ord (ForeignPtr a)Defined in ghc-internal-10.0.0 · GHC.Internal.ForeignPtr
  • Ord (FunPtr a)Defined in ghc-internal-10.0.0 · GHC.Internal.Ptr
  • Ord (Ptr a)Defined in ghc-internal-10.0.0 · GHC.Internal.Ptr
  • Ord (SChar c)Defined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Ord (SSymbol s)Defined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Ord (SNat n)Defined in ghc-internal-10.0.0 · GHC.Internal.TypeNats
  • Ord (Async a)Defined in hspec-core-2.11.18 · Control.Concurrent.Async.Internal
  • Ord (Token s) => Ord (ET s)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error.Builder
  • Ord (CountOf ty)Defined in mlkem-0.2.3.0 · Base
  • Ord (Offset ty)Defined in mlkem-0.2.3.0 · Base
  • Ord (Seed g)Defined in random-1.3.1 · System.Random.Internal
  • Ord (EnumSet e)Defined in regex-tdfa-1.3.2.6 · Data.IntSet.EnumSet2
  • Ord (ElapsedSince epoch)Defined in time-hourglass-0.3.0 · Time.Epoch
  • Ord (ElapsedSinceP epoch)Defined in time-hourglass-0.3.0 · Time.Epoch
  • Ord a => Ord (Blind a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (Fixed a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (Large a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (Negative a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (NoShrink a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (NonEmptyList a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (NonNegative a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (NonPositive a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (NonZero a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (OrderedList a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (Positive a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (Shrink2 a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (Small a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (SortedList a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Ord a => Ord (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph

    compare is a good consumer of both arguments.

  • Ord a => Ord (AdjacencyMap a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Acyclic.AdjacencyMap
  • Ord a => Ord (AdjacencyMap a)Defined in algebraic-graphs-0.8 · Algebra.Graph.AdjacencyMap
  • Ord a => Ord (List a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Internal
  • Ord a => Ord (Capacity a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Ord a => Ord (Count a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Ord a => Ord (Distance a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Ord a => Ord (Extended a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Ord a => Ord (Minimum a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Ord a => Ord (NonNegative a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Ord a => Ord (PowerSet a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Ord a => Ord (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph.NonEmpty
  • Ord a => Ord (AdjacencyMap a)Defined in algebraic-graphs-0.8 · Algebra.Graph.NonEmpty.AdjacencyMap
  • Ord a => Ord (Relation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation
  • Ord a => Ord (PreorderRelation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Preorder
  • Ord a => Ord (ReflexiveRelation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Reflexive
  • Ord a => Ord (Relation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Symmetric
  • Ord a => Ord (TransitiveRelation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Transitive
  • Ord a => Ord (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Undirected
  • Ord a => Ord (First a)Defined in base-4.23.0.0 · Data.Semigroup
  • Ord a => Ord (Last a)Defined in base-4.23.0.0 · Data.Semigroup
  • Ord a => Ord (Max a)Defined in base-4.23.0.0 · Data.Semigroup
  • Ord a => Ord (Min a)Defined in base-4.23.0.0 · Data.Semigroup
  • Ord a => Ord (Base16 a)Defined in base16-1.0 · Data.Base16.Types.Internal
  • Ord a => Ord (Array a)Defined in basement-0.0.16 · Basement.BoxedArray
  • Ord a => Ord (IntMap a)Defined in containers-0.8 · Data.IntMap.Internal
  • Ord a => Ord (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • Ord a => Ord (ViewL a)Defined in containers-0.8 · Data.Sequence.Internal
  • Ord a => Ord (ViewR a)Defined in containers-0.8 · Data.Sequence.Internal
  • Ord a => Ord (Intersection a)Defined in containers-0.8 · Data.Set.Internal
  • Ord a => Ord (Set a)Defined in containers-0.8 · Data.Set.Internal
  • Ord a => Ord (PostOrder a)Defined in containers-0.8 · Data.Tree
  • Ord a => Ord (Tree a)Defined in containers-0.8 · Data.Tree
  • Ord a => Ord (DNonEmpty a)Defined in dlist-1.0 · Data.DList.DNonEmpty.Internal
  • Ord a => Ord (DList a)Defined in dlist-1.0 · Data.DList.Internal
  • Ord a => Ord (NonEmpty a)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Ord a => Ord (Identity a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Identity
  • Ord a => Ord (First a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Ord a => Ord (Last a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Ord a => Ord (Down a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Ord
  • Ord a => Ord (Dual a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Ord a => Ord (Product a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Ord a => Ord (Sum a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Ord a => Ord (ZipList a)Defined in ghc-internal-10.0.0 · GHC.Internal.Functor.ZipList
  • Ord a => Ord (Maybe a)Defined in ghc-internal-10.0.0 · GHC.Internal.Maybe
  • Ord a => Ord (Hashed a)Defined in hashable-1.5.1.0 · Data.Hashable.Class
  • Ord a => Ord (Scope a)Defined in hnix-0.17.0 · Nix.Scope
  • Ord a => Ord (DerivationOutput a)Defined in hnix-store-core-0.8.0.0 · System.Nix.Realisation
  • Ord a => Ord (Metadata a)Defined in hnix-store-core-0.8.0.0 · System.Nix.StorePath.Metadata
  • Ord a => Ord (ForPV a)Defined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Ord a => Ord (AddrRange a)Defined in iproute-1.7.15 · Data.IP.Range
  • Ord a => Ord (Logic a)Defined in logict-0.8.2.0 · Control.Monad.Logic
  • Ord a => Ord (Array a)Defined in primitive-0.9.1.0 · Data.Primitive.Array

    Lexicographic ordering. Subject to change between major versions.

  • Ord a => Ord (SmallArray a)Defined in primitive-0.9.1.0 · Data.Primitive.SmallArray

    Lexicographic ordering. Subject to change between major versions.

  • Ord a => Ord (CharMap a)Defined in regex-tdfa-1.3.2.6 · Data.IntMap.CharMap2
  • Ord a => Ord (Maybe a)Defined in strict-0.5.1 · Data.Strict.Maybe
  • Ord a => Ord (Stream a)Defined in text-2.1.4 · Data.Text.Internal.Fusion.Types
  • Ord a => Ord (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • Ord a => Ord (Vector a)Defined in vector-0.13.2.0 · Data.Vector
  • Ord a => Ord (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Strict
  • Ord a => Ord (a)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Ord a => Ord [a]Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Ord ann => Ord (SimpleDocStream ann)Defined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • Ord ann => Ord (SimpleDocTok ann)Defined in prettyprinter-1.7.2 · Prettyprinter.Render.Util.SimpleDocTree
  • Ord ann => Ord (SimpleDocTree ann)Defined in prettyprinter-1.7.2 · Prettyprinter.Render.Util.SimpleDocTree
  • Ord customGetError => Ord (GetSerializerError customGetError)Defined in hnix-store-remote-0.7.0.0 · Data.Serializer
  • Ord e => Ord (ErrorFancy e)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error
  • Ord e => Ord (EF e)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error.Builder
  • Ord flag => Ord (TyVarBndr flag)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Ord g => Ord (StateGen g)Defined in random-1.3.1 · System.Random.Internal
  • Ord g => Ord (AtomicGen g)Defined in random-1.3.1 · System.Random.Stateful
  • Ord g => Ord (IOGen g)Defined in random-1.3.1 · System.Random.Stateful
  • Ord g => Ord (STGen g)Defined in random-1.3.1 · System.Random.Stateful
  • Ord g => Ord (TGen g)Defined in random-1.3.1 · System.Random.Stateful
  • Ord m => Ord (WrappedMonoid m)Defined in base-4.23.0.0 · Data.Semigroup
  • Ord p => Ord (Par1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord r => Ord (Binding r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Ord r => Ord (NExprF r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Ord r => Ord (NKeyName r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Ord r => Ord (NString r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Ord r => Ord (Params r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Ord r => Ord (NSymbolicF r)Defined in hnix-0.17.0 · Nix.Lint
  • Ord s => Ord (CI s)Defined in case-insensitive-1.2.1.0 · Data.CaseInsensitive.Internal
  • Ord t => Ord (ErrorItem t)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error
  • Ord v => Ord (KeyMap v)Defined in aeson-2.2.5.1 · Data.Aeson.KeyMap
  • Integral a => Ord (Ratio a)Defined in ghc-internal-10.0.0 · GHC.Internal.Real
  • ByteArrayAccess bytes => Ord (View bytes)Defined in memory-0.18.0 · Data.ByteArray.View
  • ByteArrayAccess bytes => Ord (View bytes)Defined in ram-0.22.1 · Data.ByteArray.View
  • (ByteSwap a, Ord a) => Ord (BE a)Defined in basement-0.0.16 · Basement.Endianness
  • (ByteSwap a, Ord a) => Ord (LE a)Defined in basement-0.0.16 · Basement.Endianness
  • (PrimType ty, Ord ty) => Ord (Block ty)Defined in basement-0.0.16 · Basement.Block.Base
  • (PrimType ty, Ord ty) => Ord (UArray ty)Defined in basement-0.0.16 · Basement.UArray.Base
  • (Functor f, Ord1 f) => Ord (Mu f)Defined in data-fix-0.3.4 · Data.Fix
  • (Functor f, Ord1 f) => Ord (Nu f)Defined in data-fix-0.3.4 · Data.Fix
  • (Monoid s, Ord s) => Ord (Doc s)Defined in algebraic-graphs-0.8 · Algebra.Graph.Export

    The empty document is smallest.

  • (Ord a, Prim a) => Ord (PrimArray a)Defined in primitive-0.9.1.0 · Data.Primitive.PrimArray

    Lexicographic ordering. Subject to change between major versions.

  • (Ord t, Time t) => Ord (LocalTime t)Defined in time-hourglass-0.3.0 · Time.LocalTime
  • (Storable a, Ord a) => Ord (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Storable
  • (Prim a, Ord a) => Ord (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Primitive
  • (Unbox a, Ord a) => Ord (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphan
  • Ord a :=> Ord (Const a b)Defined in constraints-0.14.4 · Data.Constraint
  • Ord a :=> Ord (Identity a)Defined in constraints-0.14.4 · Data.Constraint
  • Ord a :=> Ord (Maybe a)Defined in constraints-0.14.4 · Data.Constraint
  • Ord a :=> Ord [a]Defined in constraints-0.14.4 · Data.Constraint
  • Integral a :=> Ord (Ratio a)Defined in constraints-0.14.4 · Data.Constraint
  • Class (Eq a) (Ord a)Defined in constraints-0.14.4 · Data.Constraint
  • Ord (Fixed a)Defined in base-4.23.0.0 · Data.Fixed
  • Ord (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Ord (TypeRep a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Typeable.Internal
  • Ord (U1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (V1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (a :- b)Defined in constraints-0.14.4 · Data.Constraint

    Assumes IncoherentInstances doesn't exist.

  • Ord (f a) => Ord (Zippy f a)Defined in semialign-1.3.1.1 · Data.Zip
  • Ord a => Ord (Arg a b)Defined in base-4.23.0.0 · Data.Semigroup

    Note that Arg's Ord instance has min and max implementations that differ from the tie-breaking conventions of the default implementation of min and max in class Ord; Arg breaks ties by favoring the first argument in both functions.

  • Ord a => Ord (ListN n a)Defined in basement-0.0.16 · Basement.Sized.List
  • Ord a => Ord (EnumMap k a)Defined in regex-tdfa-1.3.2.6 · Data.IntMap.EnumMap2
  • Ord ba => Ord (SizedByteArray n ba)Defined in memory-0.18.0 · Data.ByteArray.Sized
  • Ord ba => Ord (SizedByteArray n ba)Defined in ram-0.22.1 · Data.ByteArray.Sized
  • GCompare tag => Ord (Some tag)Defined in some-1.0.6 · Data.GADT.Internal
  • GCompare tag => Ord (Some tag)Defined in some-1.0.6 · Data.Some.GADT
  • GCompare tag => Ord (Some tag)Defined in some-1.0.6 · Data.Some.Newtype
  • (Ord1 f, Ord a) => Ord (Ap f a)Defined in free-5.2 · Control.Applicative.Free
  • (Ord1 f, Ord a) => Ord (Cofree f a)Defined in free-5.2 · Control.Comonad.Cofree
  • (Ord1 f, Ord a) => Ord (Free f a)Defined in free-5.2 · Control.Monad.Free
  • (Ord1 f, Ord a) => Ord (Free f a)Defined in free-5.2 · Control.Monad.Free.Ap
  • (Ord1 f, Ord a) => Ord (Lift f a)Defined in transformers-0.6.3.0 · Control.Applicative.Lift
  • (Ord1 m, Ord a) => Ord (IterT m a)Defined in free-5.2 · Control.Monad.Trans.Iter
  • (Ord1 m, Ord a) => Ord (MaybeT m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Maybe
  • (Ord1 w, Ord a) => Ord (CoiterT w a)Defined in free-5.2 · Control.Comonad.Trans.Coiter
  • (PrimType a, Ord a) => Ord (BlockN n a)Defined in basement-0.0.16 · Basement.Sized.Block
  • (Monoid e, Ord a, Ord e) => Ord (Graph e a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Labelled
  • (Ord a, Ord b) => Ord (AdjacencyMap a b)Defined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap
  • (Ord a, Ord b) => Ord (List a b)Defined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap
  • (Ord a, Ord b) => Ord (Matching a b)Defined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap.Algorithm
  • (Ord a, Ord b) => Ord (These a b)Defined in basement-0.0.16 · Basement.These
  • (Ord a, Ord b) => Ord (Either a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Either
  • (Ord a, Ord b) => Ord (Either a b)Defined in strict-0.5.1 · Data.Strict.Either
  • (Ord a, Ord b) => Ord (These a b)Defined in strict-0.5.1 · Data.Strict.These
  • (Ord a, Ord b) => Ord (Pair a b)Defined in strict-0.5.1 · Data.Strict.Tuple
  • (Ord a, Ord b) => Ord (These a b)Defined in these-1.2.1 · Data.These
  • (Ord a, Ord b) => Ord (a, b)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (Ord ann, Ord expr) => Ord (AnnUnit ann expr)Defined in hnix-0.17.0 · Nix.Expr.Types.Annotated
  • (Ord e, Monoid e, Ord a) => Ord (AdjacencyMap e a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.AdjacencyMap
  • (Ord fp, Ord txt) => Ord (DerivationOutput fp txt)Defined in nix-derivation-1.1.3 · Nix.Derivation.Types
  • (Ord k, Ord v) => Ord (Map k v)Defined in containers-0.8 · Data.Map.Internal
  • (Ord k, Ord v) => Ord (HashMap k v)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal

    The ordering is total and consistent with the Eq instance. However, nothing else about the ordering is specified, and it may change from version to version of either this package or of hashable.

  • (Ord o, Ord a) => Ord (Optimum o a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • (Ord txt, Ord fp) => Ord (Derivation fp txt)Defined in nix-derivation-1.1.3 · Nix.Derivation.Types
  • (Ord v, Ord r) => Ord (Antiquoted v r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • (Ix i, Ord e) => Ord (Array i e)Defined in ghc-internal-10.0.0 · GHC.Internal.Arr
  • (Ix ix, Ord e, IArray UArray e) => Ord (UArray ix e)Defined in array-0.5.8.0 · Data.Array.Base
  • (GOrd (Rep1 f a), Generic1 f) => Ord (FunctorClassesDefault f a)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • (Ord a, Ord b) :=> Ord (Either a b)Defined in constraints-0.14.4 · Data.Constraint
  • (Ord a, Ord b) :=> Ord (a, b)Defined in constraints-0.14.4 · Data.Constraint
  • Class (Num a, Ord a) (Real a)Defined in constraints-0.14.4 · Data.Constraint
  • Ord (Coercion a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Coercion
  • Ord (URec Char p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (URec Double p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (URec Float p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (URec Int p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (URec Word p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (URec (Ptr ()) p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (GOrdering a b)Defined in some-1.0.6 · Data.GADT.Internal
  • Ord (a :~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • Ord (bi a b) => Ord (Biap bi a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Biap
  • Ord (f a) => Ord (Ap f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Ord (f a) => Ord (Alt f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Ord (f p) => Ord (Rec1 f p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (p (Fix p a) a) => Ord (Fix p a)Defined in bifunctors-5.6.3 · Data.Bifunctor.Fix
  • Ord (p a a) => Ord (Join p a)Defined in bifunctors-5.6.3 · Data.Bifunctor.Join
  • Ord (w (CofreeF f a (CofreeT f w a))) => Ord (CofreeT f w a)Defined in free-5.2 · Control.Comonad.Trans.Cofree
  • Ord a => Ord (Const a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Const
  • Ord a => Ord (Constant a b)Defined in transformers-0.6.3.0 · Data.Functor.Constant
  • Ord a => Ord (Bundle Id v a)Defined in vector-0.13.2.0 · Data.Vector.Fusion.Bundle · orphan
  • Ord b => Ord (Tagged s b)Defined in tagged-0.8.11 · Data.Tagged
  • NVConstraint f => Ord (WValue t f m)Defined in hnix-0.17.0 · Nix.Builtins
  • (Ord1 f, Ord1 m, Ord a) => Ord (FreeT f m a)Defined in free-5.2 · Control.Monad.Trans.Free
  • (Ord1 f, Ord1 m, Ord a) => Ord (FreeT f m a)Defined in free-5.2 · Control.Monad.Trans.Free.Ap
  • (Ord1 f, Ord a) => Ord (Backwards f a)Defined in transformers-0.6.3.0 · Control.Applicative.Backwards
  • (Ord1 f, Ord a) => Ord (IdentityT f a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Identity
  • (Ord1 f, Ord a) => Ord (Reverse f a)Defined in transformers-0.6.3.0 · Data.Functor.Reverse
  • (Functor f, Monad m, Ord1 f, Ord1 m, Ord a) => Ord (FT f m a)Defined in free-5.2 · Control.Monad.Trans.Free.Church
  • (Ord (f a), Ord (g a), Ord a) => Ord (These1 f g a)Defined in these-1.2.1 · Data.Functor.These
  • (Ord a, Ord (f b)) => Ord (CofreeF f a b)Defined in free-5.2 · Control.Comonad.Trans.Cofree
  • (Ord a, Ord (f b)) => Ord (FreeF f a b)Defined in free-5.2 · Control.Monad.Trans.Free
  • (Ord a, Ord (f b)) => Ord (FreeF f a b)Defined in free-5.2 · Control.Monad.Trans.Free.Ap
  • (Ord a, Ord b, Ord c) => Ord (a, b, c)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (Ord e, Ord1 m, Ord a) => Ord (ExceptT e m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Except
  • (Ord w, Ord1 m, Ord a) => Ord (WriterT w m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.Lazy
  • (Ord w, Ord1 m, Ord a) => Ord (WriterT w m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.Strict
  • (Generic1 f, Ord (Rep1 f a)) => Ord (Generically1 f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (GCompare tag, Has' Eq tag f, Has' Ord tag f) => Ord (DSum tag f)Defined in dependent-sum-0.7.2.0 · Data.Dependent.Sum
  • Ord (a :~~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • Ord c => Ord (K1 i c p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Ord (f a), Ord (g a)) => Ord (Product f g a)Defined in base-4.23.0.0 · Data.Functor.Product
  • (Ord (f a), Ord (g a)) => Ord (Sum f g a)Defined in base-4.23.0.0 · Data.Functor.Sum
  • (Ord (f p), Ord (g p)) => Ord ((:*:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Ord (f p), Ord (g p)) => Ord ((:+:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Ord (f (g a)) => Ord (Compose f g a)Defined in base-4.23.0.0 · Data.Functor.Compose
  • Ord (f (g p)) => Ord ((:.:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (f a) => Ord (Clown f a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Clown
  • Ord (f p) => Ord (M1 i c f p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (g b) => Ord (Joker g a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Joker
  • Ord (p a b) => Ord (WrappedBifunctor p a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Wrapped
  • Ord (p b a) => Ord (Flip p a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Flip
  • (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (Ord (f a b), Ord (g a b)) => Ord (Product f g a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Product
  • (Ord (p a b), Ord (q a b)) => Ord (Sum p q a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Sum
  • (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord (a, b, c, d, e, f)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Ord (f (p a b)) => Ord (Tannen f p a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Tannen
  • (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => Ord (a, b, c, d, e, f, g)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Ord (p (f a) (g b)) => Ord (Biff p f g a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Biff
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Classes
method(&&&) :: a b c -> a b c' -> a b (c, c')
#

Fanout: send the input to both argument arrows and combine their output.

The default definition may be overridden with a more efficient version if desired.

    ╭───────╮ c
  b │ ┌─ f ─┼───>
>───┼─┤     │
    │ └─ g ─┼───>
    ╰───────╯ c'
classclass Monad m => MonadFail (m :: Type -> Type) where
#

When a value is bound in do-notation, the pattern on the left hand side of <- might not match. In this case, this class provides a function to recover.

A Monad without a MonadFail instance may only be used in conjunction with pattern that always match, such as newtypes, tuples, data types with only a single data constructor, and irrefutable patterns (~pat).

Instances of MonadFail should satisfy the following law: fail s should be a left zero for >>=,

fail s >>= f  =  fail s

If your Monad is also MonadPlus, a popular definition is

fail _ = mzero

fail s should be an action that runs in the monad itself, not an exception (except in instances of MonadIO). In particular, fail should not be implemented in terms of error.

Methods

Instances70MonadFail, …
classclass Monad m => MonadIO (m :: Type -> Type) where
#

Monads in which IO computations may be embedded. Any monad built by applying a sequence of monad transformers to the IO monad will be an instance of this class.

Instances should satisfy the following laws, which state that liftIO is a transformer of monads:

Methods

  • liftIO :: IO a -> m a

    Lift a computation from the IO monad. This allows us to run IO computations in any monadic stack, so long as it supports these kinds of operations (i.e. IO is the base monad for the stack).

    Example
    import Control.Monad.Trans.State -- from the "transformers" library
    
    printState :: Show s => StateT s IO ()
    printState = do
      state <- get
      liftIO $ print state

    Had we omitted liftIO, we would have ended up with this error:

    • Couldn't match type ‘IO’ with ‘StateT s IO’
     Expected type: StateT s IO ()
       Actual type: IO ()

    The important part here is the mismatch between StateT s IO () and IO ().

    Luckily, we know of a function that takes an IO a and returns an (m a): liftIO, enabling us to run the program and see the expected results:

    > evalStateT printState "hello"
    "hello"
    
    > evalStateT printState 3
    3
    
Instances50Lifting, MonadIO, …
datadata Either a b
#

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

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 Strings, and the Right constructor can be used only on Ints:

Example6 expressions
let s = Left "foo" :: Either String IntsLeft "foo"let n = Right 3 :: Either String IntnRight 3:type ss :: Either String Int:type nn :: 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:

Example4 expressions
let s = Left "foo" :: Either String Intlet n = Right 3 :: Either String Intfmap (*2) sLeft "foo"fmap (*2) nRight 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.

Example3 expressions
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 Ints.

Example2 expressions
:{    let parseMultiple :: Either String Int        parseMultiple = do          x <- parseEither '1'          y <- parseEither '2'          return (x + y):}
Example1 expression
parseMultipleRight 3

But the following should fail overall, since the first operation where we attempt to parse 'm' as an Int will fail:

Example2 expressions
:{    let parseMultiple :: Either String Int        parseMultiple = do          x <- parseEither 'm'          y <- parseEither '2'          return (x + y):}
Example1 expression
parseMultipleLeft "parse error"

Constructors

Instances120Bifoldable, Bifoldable1, Bifunctor, Bitraversable, Eq2, Ord2, …
classclass Foldable (t :: Type -> Type) where
#

The Foldable class represents data structures that can be reduced to a summary value one element at a time. Strict left-associative folds are a good fit for space-efficient reduction, while lazy right-associative folds are a good fit for corecursive iteration, or for folds that short-circuit after processing an initial subsequence of the structure's elements.

Instances can be derived automatically by enabling the DeriveFoldable extension. For example, a derived instance for a binary tree might be:

{-# LANGUAGE DeriveFoldable #-}
data Tree a = Empty
            | Leaf a
            | Node (Tree a) a (Tree a)
    deriving Foldable

A more detailed description can be found in the Overview section of Data.Foldable#overview.

For the class laws see the Laws section of Data.Foldable#laws.

Methods

  • fold :: Monoid m => t m -> m

    Given a structure with elements whose type is a Monoid, combine them via the monoid's (<>) operator. This fold is right-associative and lazy in the accumulator. When you need a strict left-associative fold, use foldMap' instead, with id as the map.

    Examples

    Basic usage:

    Example1 expression
    fold [[1, 2, 3], [4, 5], [6], []][1,2,3,4,5,6]
    Example1 expression
    fold $ Node (Leaf (Sum 1)) (Sum 3) (Leaf (Sum 5))Sum {getSum = 9}

    Folds of unbounded structures do not terminate when the monoid's (<>) operator is strict:

    Example1 expression
    fold (repeat Nothing)* Hangs forever *

    Lazy corecursive folds of unbounded structures are fine:

    Example2 expressions
    take 12 $ fold $ map (\i -> [i..i+2]) [0..][0,1,2,1,2,3,2,3,4,3,4,5]sum $ take 4000000 $ fold $ map (\i -> [i..i+2]) [0..]2666668666666
  • foldMap :: Monoid m => (a -> m) -> t a -> m

    Map each element of the structure into a monoid, and combine the results with (<>). This fold is right-associative and lazy in the accumulator. For strict left-associative folds consider foldMap' instead.

    Examples

    Basic usage:

    Example1 expression
    foldMap Sum [1, 3, 5]Sum {getSum = 9}
    Example1 expression
    foldMap Product [1, 3, 5]Product {getProduct = 15}
    Example1 expression
    foldMap (replicate 3) [1, 2, 3][1,1,1,2,2,2,3,3,3]

    When a Monoid's (<>) is lazy in its second argument, foldMap can return a result even from an unbounded structure. For example, lazy accumulation enables Data.ByteString.Builder to efficiently serialise large data structures and produce the output incrementally:

    Example5 expressions
    import qualified Data.ByteString.Lazy as Limport qualified Data.ByteString.Builder as Blet bld :: Int -> B.Builder; bld i = B.intDec i <> B.word8 0x20let lbs = B.toLazyByteString $ foldMap bld [0..]L.take 64 lbs"0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24"
  • foldMap' :: Monoid m => (a -> m) -> t a -> m

    A left-associative variant of foldMap that is strict in the accumulator. Use this method for strict reduction when partial results are merged via (<>).

    Examples

    Define a Monoid over finite bit strings under xor. Use it to strictly compute the xor of a list of Int values.

    Example11 expressions
    :set -XGeneralizedNewtypeDerivingimport Data.Bits (Bits, FiniteBits, xor, zeroBits)import Data.Foldable (foldMap')import Numeric (showHex)newtype X a = X a deriving (Eq, Bounded, Enum, Bits, FiniteBits)instance Bits a => Semigroup (X a) where X a <> X b = X (a `xor` b)instance Bits a => Monoid    (X a) where mempty     = X zeroBitslet bits :: [Int]; bits = [0xcafe, 0xfeed, 0xdeaf, 0xbeef, 0x5411](\ (X a) -> showString "0x" . showHex a $ "") $ foldMap' X bits"0x42"
  • foldr :: (a -> b -> b) -> b -> t a -> b

    Right-associative fold of a structure, lazy in the accumulator.

    In the case of lists, foldr, when applied to a binary operator, a starting value (typically the right-identity of the operator), and a list, reduces the list using the binary operator, from right to left:

    foldr f z [x1, x2, ..., xn] == x1 `f` (x2 `f` ... (xn `f` z)...)

    Note that since the head of the resulting expression is produced by an application of the operator to the first element of the list, given an operator lazy in its right argument, foldr can produce a terminating expression from an unbounded list.

    For a general Foldable structure this should be semantically identical to,

    foldr f z = foldr f z . toList
    Examples

    Basic usage:

    Example1 expression
    foldr (||) False [False, True, False]True
    Example1 expression
    foldr (||) False []False
    Example1 expression
    foldr (\c acc -> acc ++ [c]) "foo" ['a', 'b', 'c', 'd']"foodcba"
    Infinite structures

    ⚠️ Applying foldr to infinite structures usually doesn't terminate.

    It may still terminate under one of the following conditions:

    • the folding function is short-circuiting

    • the folding function is lazy on its second argument

    Short-circuiting

    (||) short-circuits on True values, so the following terminates because there is a True value finitely far from the left side:

    Example1 expression
    foldr (||) False (True : repeat False)True

    But the following doesn't terminate:

    Example1 expression
    foldr (||) False (repeat False ++ [True])* Hangs forever *
    Laziness in the second argument

    Applying foldr to infinite structures terminates when the operator is lazy in its second argument (the initial accumulator is never used in this case, and so could be left undefined, but [] is more clear):

    Example1 expression
    take 5 $ foldr (\i acc -> i : fmap (+3) acc) [] (repeat 1)[1,4,7,10,13]
  • foldl' :: (b -> a -> b) -> b -> t a -> b

    Left-associative fold of a structure but with strict application of the operator.

    This ensures that each step of the fold is forced to Weak Head Normal Form before being applied, avoiding the collection of thunks that would otherwise occur. This is often what you want to strictly reduce a finite structure to a single strict result (e.g. sum).

    For a general Foldable structure this should be semantically identical to,

    foldl' f z = foldl' f z . toList
  • toList :: t a -> [a]

    List of elements of a structure, from left to right. If the entire list is intended to be reduced via a fold, just fold the structure directly bypassing the list.

    Examples

    Basic usage:

    Example1 expression
    toList Nothing[]
    Example1 expression
    toList (Just 42)[42]
    Example1 expression
    toList (Left "foo")[]
    Example1 expression
    toList (Node (Leaf 5) 17 (Node Empty 12 (Leaf 8)))[5,17,12,8]

    For lists, toList is the identity:

    Example1 expression
    toList [1, 2, 3][1,2,3]
  • null :: t a -> Bool

    Test whether the structure is empty. The default implementation is Left-associative and lazy in both the initial element and the accumulator. Thus optimised for structures where the first element can be accessed in constant time. Structures where this is not the case should have a non-default implementation.

    Examples

    Basic usage:

    Example1 expression
    null []True
    Example1 expression
    null [1]False

    null is expected to terminate even for infinite structures. The default implementation terminates provided the structure is bounded on the left (there is a leftmost element).

    Example1 expression
    null [1..]False
  • length :: t a -> Int

    Returns the size/length of a finite structure as an Int. The default implementation just counts elements starting with the leftmost. Instances for structures that can compute the element count faster than via element-by-element counting, should provide a specialised implementation.

    Examples

    Basic usage:

    Example1 expression
    length []0
    Example2 expressions
    length ['a', 'b', 'c']3length [1..]* Hangs forever *
Instances169Lifting2, Lifting, Foldable, …
newtypenewtype Const a (b :: k)
#

The Const functor.

Examples
Example1 expression
fmap (++ "World") (Const "Hello")Const "Hello"

Because we ignore the second type parameter to Const, the Applicative instance, which has (<*>) :: Monoid m => Const m (a -> b) -> Const m a -> Const m b essentially turns into Monoid m => m -> m -> m, which is (<>)

Example1 expression
Const [1, 2, 3] <*> Const [4, 5, 6]Const [1,2,3,4,5,6]

Constructors

Instances110Semigroupoid, Generic1, FoldableWithIndex, FunctorWithIndex, TraversableWithIndex, EqP, …
newtypenewtype Identity a
#

Identity functor and monad. (a non-strict monad)

Examples
Example1 expression
fmap (+1) (Identity 0)Identity 1
Example1 expression
Identity [1, 2, 3] <> Identity [4, 5, 6]Identity [1,2,3,4,5,6]
>>> do
      x <- Identity 10
      y <- Identity (x + 5)
      pure (x + y)
Identity 25

Constructors

Instances125Monad, Functor, MonadFix, Applicative, Foldable, MonadZip, …
newtypenewtype Ap (f :: k -> Type) (a :: k)
#

This data type witnesses the lifting of a Monoid into an Applicative pointwise.

Examples
Example1 expression
Ap (Just [1, 2, 3]) <> Ap NothingAp {getAp = Nothing}
Example1 expression
Ap [Sum 10, Sum 20] <> Ap [Sum 1, Sum 2]Ap {getAp = [Sum {getSum = 11},Sum {getSum = 12},Sum {getSum = 21},Sum {getSum = 22}]}

Constructors

Instances24Generic1, Monad, Functor, MonadFix, MonadFail, Applicative, …
newtypenewtype First a
#

Maybe monoid returning the leftmost non-Nothing value.

First a is isomorphic to Alt Maybe a, but precedes it historically.

Beware that Data.Monoid.First is different from Data.Semigroup.First. The former returns the first non-Nothing, so Data.Monoid.First Nothing <> x = x. The latter simply returns the first value, thus Data.Semigroup.First Nothing <> x = Data.Semigroup.First Nothing.

Examples
Example1 expression
First (Just "hello") <> First Nothing <> First (Just "world")First {getFirst = Just "hello"}
Example1 expression
First Nothing <> memptyFirst {getFirst = Nothing}

Constructors

Instances35Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
newtypenewtype Last a
#

Maybe monoid returning the rightmost non-Nothing value.

Last a is isomorphic to Dual (First a), and thus to Dual (Alt Maybe a)

Data.Semigroup.Last. The former returns the last non-Nothing, so x <> Data.Monoid.Last Nothing = x. The latter simply returns the last value, thus x <> Data.Semigroup.Last Nothing = Data.Semigroup.Last Nothing.

Examples
Example1 expression
Last (Just "hello") <> Last Nothing <> Last (Just "world")Last {getLast = Just "world"}
Example1 expression
Last Nothing <> memptyLast {getLast = Nothing}

Constructors

Instances35Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
newtypenewtype Down a
#

The Down type allows you to reverse sort order conveniently. A value of type Down a contains a value of type a (represented as Down a).

If a has an Ord instance associated with it then comparing two values thus wrapped will give you the opposite of their normal sort order. This is particularly useful when sorting in generalised list comprehensions, as in: then sortWith by Down x.

Example1 expression
compare True FalseGT
Example1 expression
compare (Down True) (Down False)LT

If a has a Bounded instance then the wrapped instance also respects the reversed ordering by exchanging the values of minBound and maxBound.

Example1 expression
minBound :: Int-9223372036854775808
Example1 expression
minBound :: Down IntDown 9223372036854775807

All other instances of Down a behave as they do for a.

Constructors

Instances53Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
datadata Proxy (t :: k)
#

Proxy is a type that holds no data, but has a phantom parameter of arbitrary type (or even kind). Its use is to provide type information, even though there is no value available of that type (or it may be too costly to create one).

Historically, Proxy :: Proxy a is a safer alternative to the undefined :: a idiom.

Example1 expression
Proxy :: Proxy (Void, Int -> Int)Proxy

Proxy can even hold types of higher kinds,

Example1 expression
Proxy :: Proxy EitherProxy
Example1 expression
Proxy :: Proxy FunctorProxy
Example1 expression
Proxy :: Proxy complicatedStructureProxy
Instances68Generic1, FoldableWithIndex, FunctorWithIndex, TraversableWithIndex, RepeatWithIndex, SemialignWithIndex, …
  • Generic1 ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • FoldableWithIndex Void ProxyDefined in indexed-traversable-0.1.5 · WithIndex
  • FunctorWithIndex Void ProxyDefined in indexed-traversable-0.1.5 · WithIndex
  • TraversableWithIndex Void ProxyDefined in indexed-traversable-0.1.5 · WithIndex
  • RepeatWithIndex Void ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • SemialignWithIndex Void ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • ZipWithIndex Void ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • FilterableWithIndex Void ProxyDefined in witherable-0.5 · Witherable
  • WitherableWithIndex Void ProxyDefined in witherable-0.5 · Witherable
  • EqP ProxyDefined in some-1.0.6 · Data.EqP
  • OrdP ProxyDefined in some-1.0.6 · Data.OrdP
  • Monad ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Functor ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Applicative ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Foldable ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Foldable
  • Traversable ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Traversable
  • Alternative ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • MonadPlus ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • MonadZip ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Control.Monad.Zip
  • Eq1 ProxyDefined in base-4.23.0.0 · Data.Functor.Classes
  • Ord1 ProxyDefined in base-4.23.0.0 · Data.Functor.Classes
  • Read1 ProxyDefined in base-4.23.0.0 · Data.Functor.Classes
  • Show1 ProxyDefined in base-4.23.0.0 · Data.Functor.Classes
  • Contravariant ProxyDefined in base-4.23.0.0 · Data.Functor.Contravariant
  • NFData1 ProxyDefined in deepseq-1.5.2.0 · Control.DeepSeq
  • Distributive ProxyDefined in distributive-0.6.3 · Data.Distributive
  • Decidable ProxyDefined in contravariant-1.5.6 · Data.Functor.Contravariant.Divisible
  • Divisible ProxyDefined in contravariant-1.5.6 · Data.Functor.Contravariant.Divisible
  • Hashable1 ProxyDefined in hashable-1.5.1.0 · Data.Hashable.Class
  • Alt ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Alt
  • Apply ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Bind.Class
  • Bind ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Bind.Class
  • Extend ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Extend
  • Conclude ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Conclude
  • Decide ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Decide
  • Divise ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Divise
  • Plus ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Plus
  • Align ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Semialign ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Unalign ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Repeat ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Unzip ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Zip ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Filterable ProxyDefined in witherable-0.5 · Witherable
  • Witherable ProxyDefined in witherable-0.5 · Witherable
  • FromJSON1 ProxyDefined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON1 ProxyDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • Cosieve Tagged ProxyDefined in profunctors-5.6.3 · Data.Profunctor.Sieve
  • Bounded (Proxy t)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Enum (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Eq (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Data t => Data (Proxy t)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Ord (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Read (Proxy t)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Show (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Ix (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Generic (Proxy t)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Semigroup (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Monoid (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • NFData (Proxy a)Defined in deepseq-1.5.2.0 · Control.DeepSeq
  • Hashable (Proxy a)Defined in hashable-1.5.1.0 · Data.Hashable.Class
  • FromJSON (Proxy a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON (Proxy a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • Boring (Proxy a)Defined in boring-0.2.2.1 · Data.Boring
  • Default (Proxy a)Defined in data-default-0.8.0.2 · Data.Default.Internal
  • Serialise (Proxy a)Defined in serialise-0.2.6.1 · Codec.Serialise.Class
  • type Rep (Proxy t) = D1 ('MetaData "Proxy" "GHC.Internal.Data.Proxy" "ghc-internal" 'False) (C1 ('MetaCons "Proxy" 'PrefixI 'False) U1)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • type Rep1 Proxy = D1 ('MetaData "Proxy" "GHC.Internal.Data.Proxy" "ghc-internal" 'False) (C1 ('MetaCons "Proxy" 'PrefixI 'False) U1)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
newtypenewtype All
#

Boolean monoid under conjunction (&&).

All x <> All y = All (x && y)
Examples
Example1 expression
All True <> mempty <> All False)All {getAll = False}
Example1 expression
mconcat (map (\x -> All (even x)) [2,4,6,7,8])All {getAll = False}
Example1 expression
All True <> memptyAll {getAll = True}

Constructors

Instances25Bounded, Eq, Data, Ord, Read, Show, …
  • Bounded AllDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Eq AllDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Data AllDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Ord AllDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Read AllDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Show AllDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Generic AllDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Semigroup AllDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Monoid AllDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • NFData AllDefined in deepseq-1.5.2.0 · Control.DeepSeq
  • Binary AllDefined in binary-0.8.9.3 · Data.Binary.Class
  • Unbox AllDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Arbitrary AllDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • CoArbitrary AllDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • Function AllDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Function
  • FromJSON AllDefined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON AllDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • Default AllDefined in data-default-0.8.0.2 · Data.Default.Internal
  • Serialize AllDefined in cereal-0.5.8.3 · Data.Serialize
  • Serialise AllDefined in serialise-0.2.6.1 · Codec.Serialise.Class
  • MVector MVector AllDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Vector Vector AllDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • type Rep All = D1 ('MetaData "All" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "All" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAll") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • data MVector s AllDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • data Vector AllDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
newtypenewtype Alt (f :: k -> Type) (a :: k)
#

Monoid under <|>.

Alt l <> Alt r == Alt (l <|> r)
Examples
Example1 expression
Alt (Just 12) <> Alt (Just 24)Alt {getAlt = Just 12}
Example1 expression
Alt Nothing <> Alt (Just 24)Alt {getAlt = Just 24}

Constructors

Instances43Generic1, Monad, Functor, MonadFix, Applicative, Foldable, …
newtypenewtype Any
#

Boolean monoid under disjunction (||).

Any x <> Any y = Any (x || y)
Examples
Example1 expression
Any True <> mempty <> Any FalseAny {getAny = True}
Example1 expression
mconcat (map (\x -> Any (even x)) [2,4,6,7,8])Any {getAny = True}
Example1 expression
Any False <> memptyAny {getAny = False}

Constructors

Instances28Bounded, Eq, Data, Ord, Read, Show, …
  • Bounded AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Eq AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Data AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Ord AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Read AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Show AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Generic AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Semigroup AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Monoid AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • NFData AnyDefined in deepseq-1.5.2.0 · Control.DeepSeq
  • Binary AnyDefined in binary-0.8.9.3 · Data.Binary.Class
  • Unbox AnyDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Arbitrary AnyDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • CoArbitrary AnyDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • Function AnyDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Function
  • FromJSON AnyDefined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON AnyDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • Dioid AnyDefined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Semiring AnyDefined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • StarSemiring AnyDefined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Default AnyDefined in data-default-0.8.0.2 · Data.Default.Internal
  • Serialize AnyDefined in cereal-0.5.8.3 · Data.Serialize
  • Serialise AnyDefined in serialise-0.2.6.1 · Codec.Serialise.Class
  • MVector MVector AnyDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Vector Vector AnyDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • type Rep Any = D1 ('MetaData "Any" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Any" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAny") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • data MVector s AnyDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • data Vector AnyDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
newtypenewtype Dual a
#

The dual of a Monoid, obtained by swapping the arguments of (<>).

Dual a <> Dual b == Dual (b <> a)
Examples
Example1 expression
Dual "Hello" <> Dual "World"Dual {getDual = "WorldHello"}
Example1 expression
Dual (Dual "Hello") <> Dual (Dual "World")Dual {getDual = Dual {getDual = "HelloWorld"}}

Constructors

Instances44Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
newtypenewtype Endo a
#

The monoid of endomorphisms under composition.

Endo f <> Endo g == Endo (f . g)
Examples
Example2 expressions
let computation = Endo ("Hello, " ++) <> Endo (++ "!")appEndo computation "Haskell""Hello, Haskell!"
Example2 expressions
let computation = Endo (*3) <> Endo (+1)appEndo computation 16

Constructors

Instances7Generic, Semigroup, Monoid, Arbitrary, CoArbitrary, Default, …
newtypenewtype Product a
#

Monoid under multiplication.

Product x <> Product y == Product (x * y)
Examples
Example1 expression
Product 3 <> Product 4 <> memptyProduct {getProduct = 12}
Example1 expression
mconcat [ Product n | n <- [2 .. 10]]Product {getProduct = 3628800}

Constructors

Instances45Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
newtypenewtype Sum a
#

Monoid under addition.

Sum a <> Sum b = Sum (a + b)
Examples
Example1 expression
Sum 1 <> Sum 2 <> memptySum {getSum = 3}
Example1 expression
mconcat [ Sum n | n <- [3 .. 9]]Sum {getSum = 42}

Constructors

Instances45Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
classclass IsString a where
#

IsString is used in combination with the -XOverloadedStrings language extension to convert the literals to different string types.

For example, if you use the text package, you can say

{-# LANGUAGE OverloadedStrings  #-}

myText = "hello world" :: Text

Internally, the extension will convert this to the equivalent of

myText = fromString @Text ("hello world" :: String)

Note: You can use fromString in normal code as well, but the usual performance/memory efficiency problems with String apply.

Methods

Instances69IsString, …
classclass (Functor t, Foldable t) => Traversable (t :: Type -> Type) where
#

Functors representing data structures that can be transformed to structures of the same shape by performing an Applicative (or, therefore, Monad) action on each element from left to right.

A more detailed description of what same shape means, the various methods, how traversals are constructed, and example advanced use-cases can be found in the Overview section of Data.Traversable#overview.

For the class laws see the Laws section of Data.Traversable#laws.

Methods

  • traverse :: Applicative f => (a -> f b) -> t a -> f (t b)

    Map each element of a structure to an action, evaluate these actions from left to right, and collect the results. For a version that ignores the results see traverse_.

    Examples

    Basic usage:

    In the first two examples we show each evaluated action mapping to the output structure.

    Example1 expression
    traverse Just [1,2,3,4]Just [1,2,3,4]
    Example1 expression
    traverse id [Right 1, Right 2, Right 3, Right 4]Right [1,2,3,4]

    In the next examples, we show that Nothing and Left values short circuit the created structure.

    Example1 expression
    traverse (const Nothing) [1,2,3,4]Nothing
    Example1 expression
    traverse (\x -> if odd x then Just x else Nothing)  [1,2,3,4]Nothing
    Example1 expression
    traverse id [Right 1, Right 2, Right 3, Right 4, Left 0]Left 0
  • sequenceA :: Applicative f => t (f a) -> f (t a)

    Evaluate each action in the structure from left to right, and collect the results. For a version that ignores the results see sequenceA_.

    Examples

    Basic usage:

    For the first two examples we show sequenceA fully evaluating a a structure and collecting the results.

    Example1 expression
    sequenceA [Just 1, Just 2, Just 3]Just [1,2,3]
    Example1 expression
    sequenceA [Right 1, Right 2, Right 3]Right [1,2,3]

    The next two example show Nothing and Just will short circuit the resulting structure if present in the input. For more context, check the Traversable instances for Either and Maybe.

    Example1 expression
    sequenceA [Just 1, Just 2, Just 3, Nothing]Nothing
    Example1 expression
    sequenceA [Right 1, Right 2, Right 3, Left 4]Left 4
  • mapM :: Monad m => (a -> m b) -> t a -> m (t b)

    Map each element of a structure to a monadic action, evaluate these actions from left to right, and collect the results. For a version that ignores the results see Data.Foldable.mapM_.

    Examples

    mapM is literally a traverse with a type signature restricted to Monad. Its implementation may be more efficient due to additional power of Monad.

  • sequence :: Monad m => t (m a) -> m (t a)

    Evaluate each monadic action in the structure from left to right, and collect the results. For a version that ignores the results see Data.Foldable.sequence_.

    Examples

    Basic usage:

    The first two examples are instances where the input and and output of sequence are isomorphic.

    Example1 expression
    sequence $ Right [1,2,3,4][Right 1,Right 2,Right 3,Right 4]
    Example1 expression
    sequence $ [Right 1,Right 2,Right 3,Right 4]Right [1,2,3,4]

    The following examples demonstrate short circuit behavior for sequence.

    Example1 expression
    sequence $ Left [1,2,3,4]Left [1,2,3,4]
    Example1 expression
    sequence $ [Left 0, Right 1,Right 2,Right 3,Right 4]Left 0
Instances157Lifting2, Lifting, Traversable, …
classclass Bounded a where
#

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.

Methods

Instances198Lifting2, Lifting, Class, :=>, Bounded, …
classclass Enum a where
#

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

Methods

  • succ :: a -> a

    Successor of a value. For numeric types, succ adds 1.

  • pred :: a -> a

    Predecessor of a value. For numeric types, pred subtracts 1.

  • toEnum :: Int -> a

    Convert from an Int.

  • fromEnum :: a -> Int

    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]

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

    Examples
    • enumFrom 4 :: [Integer] = [4,5,6,7,...]
    • enumFrom 6 :: [Int] = [6,7,8,9,...,maxBound :: Int]
  • enumFromThen :: a -> a -> [a]

    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
      
    Examples
    • enumFromThen 4 6 :: [Integer] = [4,6,8,10...]
    • enumFromThen 6 2 :: [Int] = [6,2,-2,-6,...,minBound :: Int]
  • enumFromTo :: a -> a -> [a]

    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 = []
      
    Examples
    • enumFromTo 6 10 :: [Int] = [6,7,8,9,10]
    • enumFromTo 42 1 :: [Integer] = []
  • enumFromThenTo :: a -> a -> a -> [a]

    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 = []
      
    Examples
    • enumFromThenTo 4 2 -6 :: [Integer] = [4,2,0,-2,-4,-6]
    • enumFromThenTo 6 8 2 :: [Int] = []
Instances261:=>, Class, Enum, …
  • Enum ArityDefined in aeson-2.2.5.1 · Data.Aeson.TH
  • Enum AlphabetDefined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.Example.Automaton
  • Enum StateDefined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.Example.Automaton
  • Enum CityDefined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.Example.Network
  • Enum BlinkSpeedDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Enum ColorDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Enum ColorIntensityDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Enum ConsoleIntensityDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Enum ConsoleLayerDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Enum UnderliningDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Enum IoManagerFlagDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Enum EncodingDefined in basement-0.0.16 · Basement.String
  • Enum UTF32_InvalidDefined in basement-0.0.16 · Basement.String.Encoding.UTF32
  • Enum Word128Defined in basement-0.0.16 · Basement.Types.Word128
  • Enum Word256Defined in basement-0.0.16 · Basement.Types.Word256
  • Enum TokenTypeDefined in cborg-0.2.10.0 · Codec.CBOR.Decoding
  • Enum ClockDefined in clock-0.8.4 · System.Clock
  • Enum TimeSpecDefined in clock-0.8.4 · System.Clock
  • Enum SecondsDefined in clock-0.8.4 · System.Clock.Seconds
  • Enum ColumnDefined in crypton-2.1.7 · Crypto.Cipher.Twofish.Primitive
  • Enum CryptoErrorDefined in crypton-2.1.7 · Crypto.Error.Types
  • Enum VariantDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Enum VersionDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Enum ClockSkewDefined in crypton-2.1.7 · Crypto.OTP
  • Enum PrivateNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Enum PublicNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Enum CurveNameDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Enum ProcessorOptionDefined in crypton-2.1.7 · Crypto.System.CPU
  • Enum ASN1ClassDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.Lowlevel
  • Enum SocksCommandDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Enum SocksErrorDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Enum SocksMethodDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Enum SocksReplyDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Enum ExtKeyUsageFlagDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Enum ReasonFlagDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Enum ColumnDefined in cryptonite-0.30 · Crypto.Cipher.Twofish.Primitive
  • Enum CryptoErrorDefined in cryptonite-0.30 · Crypto.Error.Types
  • Enum VariantDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Enum VersionDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Enum ClockSkewDefined in cryptonite-0.30 · Crypto.OTP
  • Enum PrivateNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Enum PublicNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Enum CurveNameDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Enum ProcessorOptionDefined in cryptonite-0.30 · Crypto.System.CPU
  • Enum EqClassDefined in deriving-compat-0.6.8 · Data.Eq.Deriving.Internal
  • Enum OrdClassDefined in deriving-compat-0.6.8 · Data.Ord.Deriving.Internal
  • Enum ReadClassDefined in deriving-compat-0.6.8 · Text.Read.Deriving.Internal
  • Enum ShowClassDefined in deriving-compat-0.6.8 · Text.Show.Deriving.Internal
  • Enum FileTypeDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Enum XdgDirectoryDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Enum XdgDirectoryListDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Enum IntegerDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Enum NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Enum ByteOrderDefined in ghc-internal-10.0.0 · GHC.Internal.ByteOrder
  • Enum ClosureTypeDefined in ghc-internal-10.0.0 · GHC.Internal.ClosureTypes
  • Enum CBoolDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CClockDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CDoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CFloatDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CLLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CPtrdiffDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CSCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CSUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CSigAtomicDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CSizeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CTimeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CUCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CUIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CUIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CUIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CULLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CULongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CUShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum CWcharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Enum IntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Enum WordPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Enum AssociativityDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Enum DecidedStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Enum SourceStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Enum SourceUnpackednessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Enum HalfWordDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.InfoTable.Types
  • Enum SeekModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Device
  • Enum IOModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.IOMode
  • Enum IoSubSystemDefined in ghc-internal-10.0.0 · GHC.Internal.IO.SubSystem
  • Enum Int16Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Enum Int32Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Enum Int64Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Enum Int8Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Enum ExtensionDefined in ghc-internal-10.0.0 · GHC.Internal.LanguageExtensions
  • Enum DoCostCentresDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Enum DoHeapProfileDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Enum DoTraceDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Enum GiveGCStatsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Enum IoManagerFlagDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Enum ByteOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Constants
  • Enum WordOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Constants
  • Enum ByteOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.ConstantsProf
  • Enum WordOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.ConstantsProf
  • Enum CBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CBlkSizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CCcDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CClockIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CDevDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CFsBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CFsFilCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CGidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CInoDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CKeyDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CModeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CNfdsDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CNlinkDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum COffDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CPidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CRLimDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CSocklenDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CSpeedDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CSsizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CTcflagDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum CUidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum FdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Enum BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Enum CharDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Enum DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    fromEnum just truncates its argument, beware of all sorts of overflows.

    List generators have extremely peculiar behavior, mandated by Haskell Report 2010:

    Example1 expression
    [0..1.5][0.0,1.0,2.0]
  • Enum FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    fromEnum just truncates its argument, beware of all sorts of overflows.

    List generators have extremely peculiar behavior, mandated by Haskell Report 2010:

    Example1 expression
    [0..1.5 :: Float][0.0,1.0,2.0]
  • Enum IntDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Enum LevityDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Enum OrderingDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Enum VecCountDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Enum VecElemDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Enum WordDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Enum GeneralCategoryDefined in ghc-internal-10.0.0 · GHC.Internal.Unicode
  • Enum Word16Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Enum Word32Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Enum Word64Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Enum Word8Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Enum NBinaryOpDefined in hnix-0.17.0 · Nix.Expr.Types
  • Enum NUnaryOpDefined in hnix-0.17.0 · Nix.Expr.Types
  • Enum RecursivityDefined in hnix-0.17.0 · Nix.Expr.Types
  • Enum NixLevelDefined in hnix-0.17.0 · Nix.Frames
  • Enum VerbosityDefined in hnix-0.17.0 · Nix.Options
  • Enum NOpPrecedenceDefined in hnix-0.17.0 · Nix.Parser
  • Enum CoercionLevelDefined in hnix-0.17.0 · Nix.String.Coerce
  • Enum CopyToStoreModeDefined in hnix-0.17.0 · Nix.String.Coerce
  • Enum InferStateDefined in hnix-0.17.0 · Nix.Type.Infer
  • Enum BaseEncodingDefined in hnix-store-core-0.8.0.0 · System.Nix.Base
  • Enum BuildModeDefined in hnix-store-core-0.8.0.0 · System.Nix.Build
  • Enum BuildStatusDefined in hnix-store-core-0.8.0.0 · System.Nix.Build
  • Enum FileIngestionMethodDefined in hnix-store-core-0.8.0.0 · System.Nix.Store.Types
  • Enum RepairModeDefined in hnix-store-core-0.8.0.0 · System.Nix.Store.Types
  • Enum StorePathTrustDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath.Metadata
  • Enum OpCodeDefined in hnix-store-remote-0.7.0.0 · Data.Serializer.Example
  • Enum ActivityDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Activity
  • Enum ActivityResultDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Activity
  • Enum CheckModeDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.CheckMode
  • Enum GCActionDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.GC
  • Enum SubstituteModeDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.SubstituteMode
  • Enum TrustedFlagDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.TrustedFlag
  • Enum VerbosityDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Verbosity
  • Enum WorkerOpDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.WorkerOp
  • Enum FailOnDefined in hspec-core-2.11.18 · Test.Hspec.Core.Config.Definition
  • Enum MaxHeaderLengthDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Enum MaxNumberHeadersDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Enum StdMethodDefined in http-types-0.12.6 · Network.HTTP.Types.Method
  • Enum StatusDefined in http-types-0.12.6 · Network.HTTP.Types.Status

    Be advised, that when using the "enumFrom*" family of methods or ranges in lists, it will generate all possible status codes.

    E.g. [status100 .. status200] generates Statuses of 100, 101, 102 .. 198, 199, 200

    The statuses not included in this library will have an empty message.

  • Enum IPDefined in iproute-1.7.15 · Data.IP.Addr
  • Enum IPv4Defined in iproute-1.7.15 · Data.IP.Addr
  • Enum IPv6Defined in iproute-1.7.15 · Data.IP.Addr
  • Enum PortNumberDefined in network-3.2.9.0 · Network.Socket.Types
  • Enum MessageDefined in parsec-3.1.18.0 · Text.Parsec.Error
  • Enum CardinalityDefined in random-1.3.1 · System.Random.GFinite

    This is needed only as a superclass of Integral.

  • Enum DoPaDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Enum WhichTestDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Enum UndefinedDefined in relude-1.2.2.2 · Relude.Debug
  • Enum StrategyDefined in streaming-commons-0.2.3.1 · Data.Streaming.Zlib.Lowlevel
  • Enum I8Defined in text-2.1.4 · Data.Text.Foreign
  • Enum FPFormatDefined in text-2.1.4 · Data.Text.Lazy.Builder.RealFloat
  • Enum DayDefined in time-1.16.0.1 · Data.Time.Calendar.Days
  • Enum MonthDefined in time-1.16.0.1 · Data.Time.Calendar.Month
  • Enum QuarterDefined in time-1.16.0.1 · Data.Time.Calendar.Quarter
  • Enum QuarterOfYearDefined in time-1.16.0.1 · Data.Time.Calendar.Quarter

    maps Q1..Q4 to 1..4

  • Enum DayOfWeekDefined in time-1.16.0.1 · Data.Time.Calendar.Week

    "Circular", so for example [Tuesday ..] gives an endless sequence. Also: fromEnum gives [1 .. 7] for [Monday .. Sunday], and toEnum performs mod 7 to give a cycle of days.

  • Enum DiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.DiffTime
  • Enum NominalDiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.NominalDiffTime
  • Enum HoursDefined in time-hourglass-0.3.0 · Time.Types
  • Enum MinutesDefined in time-hourglass-0.3.0 · Time.Types
  • Enum MonthDefined in time-hourglass-0.3.0 · Time.Types
  • Enum SecondsDefined in time-hourglass-0.3.0 · Time.Types
  • Enum WeekDayDefined in time-hourglass-0.3.0 · Time.Types
  • Enum MessageTypeDefined in tls-2.4.9 · Network.TLS.Extension
  • Enum CipherIdDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Enum SessionFlagDefined in tls-2.4.9 · Network.TLS.Types.Session
  • Enum StatxFlagsDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Enum StatxMaskDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Enum BaudRateDefined in unix-2.8.8.0 · System.Posix.Terminal.Common
  • Enum CompressionStrategyDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Enum FormatDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Enum MethodDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Enum ()Defined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • () :=> Enum IntegerDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Enum NaturalDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Enum BoolDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Enum CharDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Enum DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Enum FloatDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Enum IntDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Enum OrderingDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Enum WordDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Enum ()Defined in constraints-0.14.4 · Data.Constraint
  • a :=> Enum (Dict a)Defined in constraints-0.14.4 · Data.Constraint
  • Class () (Enum a)Defined in constraints-0.14.4 · Data.Constraint
  • SizeValid n => Enum (Bits n)Defined in basement-0.0.16 · Basement.Bits
  • Enum (CountOf ty)Defined in basement-0.0.16 · Basement.Types.OffsetSize
  • Enum (Offset ty)Defined in basement-0.0.16 · Basement.Types.OffsetSize
  • Enum a => Enum (Blind a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Enum a => Enum (Fixed a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Enum a => Enum (Large a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Enum a => Enum (Negative a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Enum a => Enum (NoShrink a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Enum a => Enum (NonNegative a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Enum a => Enum (NonPositive a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Enum a => Enum (NonZero a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Enum a => Enum (Positive a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Enum a => Enum (Shrink2 a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Enum a => Enum (Small a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Enum a => Enum (First a)Defined in base-4.23.0.0 · Data.Semigroup
  • Enum a => Enum (Last a)Defined in base-4.23.0.0 · Data.Semigroup
  • Enum a => Enum (Max a)Defined in base-4.23.0.0 · Data.Semigroup
  • Enum a => Enum (Min a)Defined in base-4.23.0.0 · Data.Semigroup
  • Enum a => Enum (WrappedMonoid a)Defined in base-4.23.0.0 · Data.Semigroup
  • Enum a => Enum (And a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Enum a => Enum (Iff a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Enum a => Enum (Ior a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Enum a => Enum (Xor a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Enum a => Enum (Identity a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Identity
  • Enum a => Enum (a)Defined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Integral a => Enum (Ratio a)Defined in ghc-internal-10.0.0 · GHC.Internal.Real
  • (Enum a, Bounded a, Eq a) => Enum (Down a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Ord

    Swaps succ and pred of the underlying type.

  • a => Enum (Dict a)Defined in constraints-0.14.4 · Data.Constraint
  • Enum a :=> Enum (Const a b)Defined in constraints-0.14.4 · Data.Constraint
  • Enum a :=> Enum (Identity a)Defined in constraints-0.14.4 · Data.Constraint
  • Integral a :=> Enum (Ratio a)Defined in constraints-0.14.4 · Data.Constraint
  • Enum (Fixed a)Defined in base-4.23.0.0 · Data.Fixed

    Recall that, for numeric types, succ and pred typically add and subtract 1, respectively. This is not true in the case of Fixed, whose successor and predecessor functions intuitively return the "next" and "previous" values in the enumeration. The results of these functions thus depend on the resolution of the Fixed value. For example, when enumerating values of resolution 10^-3 of type Milli = Fixed E3,

    Example1 expression
    succ (0.000 :: Milli)0.001

    and likewise

    Example1 expression
    pred (0.000 :: Milli)-0.001

    In other words, succ and pred increment and decrement a fixed-precision value by the least amount such that the value's resolution is unchanged. For example, 10^-12 is the smallest (positive) amount that can be added to a value of type Pico = Fixed E12 without changing its resolution, and so

    Example1 expression
    succ (0.000000000000 :: Pico)0.000000000001

    and similarly

    Example1 expression
    pred (0.000000000000 :: Pico)-0.000000000001

    This is worth bearing in mind when defining Fixed arithmetic sequences. In particular, you may be forgiven for thinking the sequence

      [1..10] :: [Pico]
    

    evaluates to [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] :: [Pico].

    However, this is not true. On the contrary, similarly to the above implementations of succ and pred, enumFromTo :: Pico -> Pico -> [Pico] has a "step size" of 10^-12. Hence, the list [1..10] :: [Pico] has the form

      [1.000000000000, 1.00000000001, 1.00000000002, ..., 10.000000000000]
    

    and contains 9 * 10^12 + 1 values.

  • Enum (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Class (Real a, Enum a) (Integral a)Defined in constraints-0.14.4 · Data.Constraint
  • Enum (bi a b) => Enum (Biap bi a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Biap
  • Enum (f a) => Enum (Ap f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Enum (f a) => Enum (Alt f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Enum a => Enum (Const a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Const
  • Enum a => Enum (Tagged s a)Defined in tagged-0.8.11 · Data.Tagged
  • Coercible a b => Enum (Coercion a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Coercion
  • a ~ b => Enum (a :~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • a ~~ b => Enum (a :~~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • Enum (f (g a)) => Enum (Compose f g a)Defined in base-4.23.0.0 · Data.Functor.Compose
classclass (Typeable e, Show e) => Exception e where
#

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

Methods

Instances93Exception, …
datadata SomeException
#

The SomeException type is the root of the exception type hierarchy. When an exception of type e is thrown, behind the scenes it is encapsulated in a SomeException.

Constructors

Instances2Show, Exception
classclass Fractional a => Floating a where
#

Trigonometric and hyperbolic functions and related functions.

The Haskell Report defines no laws for Floating. However, (+), (*) and exp are customarily expected to define an exponential field and have the following properties:

  • exp (a + b) = exp a * exp b

  • exp (fromInteger 0) = fromInteger 1

Methods

Instances19:=>, Class, Floating, …
classclass (RealFrac a, Floating a) => RealFloat a where
#

Efficient, machine-independent access to the components of a floating-point number.

Methods

  • floatRadix :: a -> Integer

    a constant function, returning the radix of the representation (often 2)

  • floatDigits :: a -> Int

    a constant function, returning the number of digits of floatRadix in the significand

  • floatRange :: a -> (Int, Int)

    A constant function, returning the lowest and highest values that exponent x may assume for a normal x. The relation to IEEE emin and emax is floatRange x = (emin + 1, emax + 1).

  • decodeFloat :: a -> (Integer, Int)

    The function decodeFloat applied to a real floating-point number returns the significand expressed as an Integer and an appropriately scaled exponent (an Int). If decodeFloat x yields (m,n), then x is equal in value to m*b^^n, where b is the floating-point radix, and furthermore, either m and n are both zero or else b^(d-1) <= abs m < b^d, where d is the value of floatDigits x. In particular, decodeFloat 0 = (0,0). If the type contains a negative zero, also decodeFloat (-0.0) = (0,0). The result of decodeFloat x is unspecified if either of isNaN x or isInfinite x is True.

  • encodeFloat :: Integer -> Int -> a

    encodeFloat performs the inverse of decodeFloat in the sense that for finite x with the exception of -0.0, Prelude.uncurry encodeFloat (decodeFloat x) = x. encodeFloat m n is one of the two closest representable floating-point numbers to m*b^^n (or ±Infinity if overflow occurs); usually the closer, but if m contains too many bits, the result may be rounded in the wrong direction.

  • isNaN :: a -> Bool

    True if the argument is an IEEE "not-a-number" (NaN) value

  • isInfinite :: a -> Bool

    True if the argument is an IEEE infinity or negative infinity

  • isDenormalized :: a -> Bool

    True if the argument is too small to be represented in normalized format

  • isNegativeZero :: a -> Bool

    True if the argument is an IEEE negative zero

  • isIEEE :: a -> Bool

    True if the argument is an IEEE floating point number

  • atan2 :: a -> a -> a

    a version of arctangent taking two real floating-point arguments. For real floating x and y, atan2 y x computes the angle (from the positive x-axis) of the vector from the origin to the point (x,y). atan2 y x returns a value in the range [-pi, pi]. It follows the Common Lisp semantics for the origin when signed zeroes are supported. atan2 y 1, with y in a type that is RealFloat, should return the same value as atan y. A default definition of atan2 is provided, but implementors can provide a more accurate implementation.

Instances18:=>, Class, RealFloat, …
newtypenewtype ZipList a
#

Lists, but with an Applicative functor based on zipping.

Examples

In contrast to the Applicative for List:

Example1 expression
(+) <$> [1, 2, 3] <*> [4, 5, 6][5,6,7,6,7,8,7,8,9]

The Applicative instance of ZipList applies the operation by pairing up the elements, analogous to zipWithN

Example1 expression
(+) <$> ZipList [1, 2, 3] <*> ZipList [4, 5, 6]ZipList {getZipList = [5,7,9]}
Example1 expression
(,,,) <$> ZipList [1, 2] <*> ZipList [3, 4] <*> ZipList [5, 6] <*> ZipList [7, 8]ZipList {getZipList = [(1,3,5,7),(2,4,6,8)]}
Example1 expression
ZipList [(+1), (^2), (/ 2)] <*> ZipList [5, 5, 5]ZipList {getZipList = [6.0,25.0,2.5]}

Constructors

Instances39Functor, Applicative, Foldable, Traversable, Alternative, NFData1, …
classclass Generic a where
#

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

A Generic instance must satisfy the following laws:

from . to ≡ Prelude.id
to . from ≡ Prelude.id
Instances435Generic, …
typetype FilePath = String
#

File and directory names are values of type String, whose precise meaning is operating system dependent. Files can be opened, yielding a handle which can then be used to operate on the contents of that file.

datadata BufferMode
#

Three kinds of buffering are supported: line-buffering, block-buffering or no-buffering. These modes have the following effects. For output, items are written out, or flushed, from the internal buffer according to the buffer mode:

  • line-buffering: the entire output buffer is flushed whenever a newline is output, the buffer overflows, a GHC.Internal.System.IO.hFlush is issued, or the handle is closed.

  • block-buffering: the entire buffer is written out whenever it overflows, a GHC.Internal.System.IO.hFlush is issued, or the handle is closed.

  • no-buffering: output is written immediately, and never stored in the buffer.

An implementation is free to flush the buffer more frequently, but not less frequently, than specified above. The output buffer is emptied as soon as it has been written out.

Similarly, input occurs according to the buffer mode for the handle:

  • line-buffering: when the buffer for the handle is not empty, the next item is obtained from the buffer; otherwise, when the buffer is empty, characters up to and including the next newline character are read into the buffer. No characters are available until the newline character is available or the buffer is full.

  • block-buffering: when the buffer for the handle becomes empty, the next block of data is read into the buffer.

  • no-buffering: the next input item is read and returned. The GHC.Internal.System.IO.hLookAhead operation implies that even a no-buffered handle may require a one-character buffer.

The default buffering mode when a handle is opened is implementation-dependent and may depend on the file system object which is attached to that handle. For most implementations, physical files will normally be block-buffered and terminals will normally be line-buffered.

Constructors

  • NoBuffering

    buffering is disabled if possible.

  • LineBuffering

    line-buffering should be enabled if possible.

  • BlockBuffering (Maybe Int)

    block-buffering should be enabled if possible. The size of the buffer is n items if the argument is Just n and is otherwise implementation-dependent.

Instances7Eq, Ord, Read, Show, Arbitrary, CoArbitrary, …
datadata Handle
#

Haskell defines operations to read and write characters from and to files, represented by values of type Handle. Each value of this type is a handle: a record used by the Haskell run-time system to manage I/O with file system objects. A handle has at least the following properties:

  • whether it manages input or output or both;

  • whether it is open, closed or semi-closed;

  • whether the object is seekable;

  • whether buffering is disabled, or enabled on a line or block basis;

  • a buffer (whose length may be zero).

Most handles will also have a current I/O position indicating where the next input or output operation will occur. A handle is readable if it manages only input or both input and output; likewise, it is writable if it manages only output or both input and output. A handle is open when first allocated. Once it is closed it can no longer be used for either input or output, though an implementation cannot re-use its storage while references remain to it. Handles are in the Show and Eq classes. The string produced by showing a handle is system dependent; it should include enough information to identify the handle for debugging. A handle is equal according to == only to itself; no attempt is made to compare the internal state of different handles for equality.

Instances6Eq, Data, Show, InputSource, OutputSink, HasBackend
  • Eq HandleDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Data HandleDefined in syb-0.7.4 · Data.Generics.Instances · orphan
  • Show HandleDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • InputSource HandleDefined in streaming-commons-0.2.3.1 · Data.Streaming.Process.Internal
  • OutputSink HandleDefined in streaming-commons-0.2.3.1 · Data.Streaming.Process.Internal
  • HasBackend HandleDefined in tls-2.4.9 · Network.TLS.Backend
datadata IOMode
#

See GHC.Internal.System.IO.openFile

Instances9Enum, Eq, Ord, Read, Show, Ix, …
  • Enum IOModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.IOMode
  • Eq IOModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.IOMode
  • Ord IOModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.IOMode
  • Read IOModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.IOMode
  • Show IOModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.IOMode
  • Ix IOModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.IOMode
  • Arbitrary IOModeDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • CoArbitrary IOModeDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • Function IOModeDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Function
newtypenewtype IORef a
#

A mutable variable in the IO monad.

Example11 expressions
import GHC.Internal.Data.IORefr <- newIORef 0readIORef r0writeIORef r 1readIORef r1atomicWriteIORef r 2readIORef r2modifyIORef' r (+ 1)readIORef r3atomicModifyIORef' r (\a -> (a + 1, ()))readIORef r4

See also STRef and MVar.

Instances8NFData1, GEq, Eq, Data, NFData, HasGetter, …
  • NFData1 IORefDefined in deepseq-1.5.2.0 · Control.DeepSeq
  • GEq IORefDefined in hnix-0.17.0 · Nix.Var · orphan
  • Eq (IORef a)Defined in ghc-internal-10.0.0 · GHC.Internal.IORef

    Pointer equality.

  • Typeable a => Data (IORef a)Defined in syb-0.7.4 · Data.Generics.Instances · orphan
  • NFData (IORef a)Defined in deepseq-1.5.2.0 · Control.DeepSeq

    NOTE: Only strict in the reference and not the referenced value.

  • HasGetter (IORef a) aDefined in StateVar-1.2.2 · Data.StateVar
  • HasSetter (IORef a) aDefined in StateVar-1.2.2 · Data.StateVar
  • HasUpdate (IORef a) a aDefined in StateVar-1.2.2 · Data.StateVar
datadata Int16
#

16-bit signed integer type

Instances75Bounded, Enum, Eq, Data, Num, Ord, …
datadata Int32
#

32-bit signed integer type

Instances76Bounded, Enum, Eq, Data, Num, Ord, …
datadata Int64
#

64-bit signed integer type

Instances83Bounded, Enum, Eq, Data, Num, Ord, …
datadata Int8
#

8-bit signed integer type

Instances73Bounded, Enum, Eq, Data, Num, Ord, …
classclass IsList l where
#

The IsList class and its methods are intended to be used in conjunction with the OverloadedLists extension.

Methods

  • fromList :: [Item l] -> l

    The fromList function constructs the structure l from the given list of Item l

  • fromListN :: Int -> [Item l] -> l

    The fromListN function takes the input list's length and potentially uses it to construct the structure l more efficiently compared to fromList. If the given number does not equal to the input list's length the behaviour of fromListN is not specified.

    Property
    fromListN (length xs) xs == fromList xs
Instances44IsList, …
  • IsList ByteArrayDefined in base-4.23.0.0 · Data.Array.Byte
  • IsList AsciiStringDefined in basement-0.0.16 · Basement.Types.AsciiString
  • IsList StringDefined in basement-0.0.16 · Basement.UTF8.Base
  • IsList BuilderDefined in bytestring-0.12.2.0 · Data.ByteString.Builder.Internal

    For long or infinite lists use fromList because it uses LazyByteString otherwise use fromListN which uses StrictByteString.

  • IsList ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Internal.Type
  • IsList ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Lazy.Internal
  • IsList ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • IsList ByteArrayDefined in cborg-0.2.10.0 · Codec.CBOR.ByteArray
  • IsList SlicedByteArrayDefined in cborg-0.2.10.0 · Codec.CBOR.ByteArray.Sliced
  • IsList IntSetDefined in containers-0.8 · Data.IntSet.Internal
  • IsList VersionDefined in ghc-internal-10.0.0 · GHC.Internal.IsList
  • IsList CallStackDefined in ghc-internal-10.0.0 · GHC.Internal.IsList

    Be aware that 'fromList . toList = id' only for unfrozen CallStacks, since toList removes frozenness information.

  • IsList TextDefined in text-2.1.4 · Data.Text · orphan

    Performs replacement on invalid scalar values:

    Example2 expressions
    :set -XOverloadedLists['\55555'] :: Text"\65533"
  • IsList TextDefined in text-2.1.4 · Data.Text.Lazy · orphan

    Performs replacement on invalid scalar values:

    Example2 expressions
    :set -XOverloadedLists['\55555'] :: Data.Text.Lazy.Text"\65533"
  • IsList ShortTextDefined in text-short-0.1.6.1 · Data.Text.Short.Internal

    Note: Surrogate pairs ([U+D800 .. U+DFFF]) character literals are replaced by U+FFFD.

  • PrimType ty => IsList (Block ty)Defined in basement-0.0.16 · Basement.Block.Base
  • PrimType ty => IsList (UArray ty)Defined in basement-0.0.16 · Basement.UArray.Base
  • Ord a => IsList (Set a)Defined in containers-0.8 · Data.Set.Internal
  • Storable a => IsList (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Storable
  • IsList (KeyMap v)Defined in aeson-2.2.5.1 · Data.Aeson.KeyMap
  • IsList (List a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Internal
  • IsList (Label a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • IsList (Array ty)Defined in basement-0.0.16 · Basement.BoxedArray
  • IsList (IntMap a)Defined in containers-0.8 · Data.IntMap.Internal
  • IsList (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • IsList (DNonEmpty a)Defined in dlist-1.0 · Data.DList.DNonEmpty.Internal
  • IsList (DList a)Defined in dlist-1.0 · Data.DList.Internal
  • IsList (NonEmpty a)Defined in ghc-internal-10.0.0 · GHC.Internal.IsList
  • IsList (ZipList a)Defined in ghc-internal-10.0.0 · GHC.Internal.IsList
  • IsList (Logic a)Defined in logict-0.8.2.0 · Control.Monad.Logic
  • IsList (Array a)Defined in primitive-0.9.1.0 · Data.Primitive.Array
  • IsList (SmallArray a)Defined in primitive-0.9.1.0 · Data.Primitive.SmallArray
  • IsList (Vector a)Defined in vector-0.13.2.0 · Data.Vector
  • IsList (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Strict
  • IsList [a]Defined in ghc-internal-10.0.0 · GHC.Internal.IsList
  • IsList a => IsList (Minimum a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • IsList c => IsList (NonEmpty c)Defined in basement-0.0.16 · Basement.NonEmpty
  • Hashable a => IsList (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • Prim a => IsList (PrimArray a)Defined in primitive-0.9.1.0 · Data.Primitive.PrimArray
  • Prim a => IsList (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Primitive
  • Unbox e => IsList (Vector e)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphan
  • Ord k => IsList (Map k v)Defined in containers-0.8 · Data.Map.Internal
  • IsList (List a a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap
  • Hashable k => IsList (HashMap k v)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal
datadata MVar a
#

An MVar (pronounced "em-var") is a synchronising variable, used for communication between concurrent threads. It can be thought of as a box, which may be empty or full.

Instances4NFData1, Eq, Data, NFData
  • NFData1 MVarDefined in deepseq-1.5.2.0 · Control.DeepSeq
  • Eq (MVar a)Defined in ghc-internal-10.0.0 · GHC.Internal.MVar

    Compares the underlying pointers.

  • Typeable a => Data (MVar a)Defined in syb-0.7.4 · Data.Generics.Instances · orphan
  • NFData (MVar a)Defined in deepseq-1.5.2.0 · Control.DeepSeq

    NOTE: Only strict in the reference and not the referenced value.

classclass Num a where
#

Basic numeric class.

The Haskell Report defines no laws for Num. However, (+) and (*) are customarily expected to define a ring and have the following properties:

Associativity of (+)

(x + y) + z

=

x + (y + z)

Commutativity of (+)

x + y

=

y + x

fromInteger 0 is the additive identity

x + fromInteger 0

=

x

negate gives the additive inverse

x + negate x

=

fromInteger 0

Associativity of (*)

(x * y) * z

=

x * (y * z)

fromInteger 1 is the multiplicative identity

x * fromInteger 1

=

x

and

fromInteger 1 * x

=

x

Distributivity of (*) with respect to (+)

a * (b + c)

=

(a * b) + (a * c)

and

(b + c) * a

=

(b * a) + (c * a)

Coherence with toInteger

if the type also implements

GHC.Real.Integral

, then

fromInteger

is a left inverse for

toInteger

, i.e.

fromInteger (toInteger i) == i

Note that it isn't customarily expected that a type instance of both Num and Ord implement an ordered ring. Indeed, in base only Integer and Data.Ratio.Rational do.

Methods

  • (+) :: a -> a -> ainfixl 6
  • (-) :: a -> a -> ainfixl 6
  • (*) :: a -> a -> ainfixl 7
  • negate :: a -> a

    Unary negation.

  • abs :: a -> a

    Absolute value.

  • signum :: a -> a

    Sign of a number. The functions abs and signum should satisfy the law:

    abs x * signum x == x

    For real numbers, the signum is either -1 (negative), 0 (zero) or 1 (positive).

  • fromInteger :: Integer -> a

    Conversion from an Integer. An integer literal represents the application of the function fromInteger to the appropriate value of type Integer, so such literals have type (Num a) => a.

Instances179:=>, Class, Num, …
  • Num OrdADefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Num OrdBDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Num OrdCDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Num AdjacencyIntMapDefined in algebraic-graphs-0.8 · Algebra.Graph.AdjacencyIntMap

    Note: this does not satisfy the usual ring laws; see AdjacencyIntMap for more details.

  • Num PosDefined in attoparsec-0.14.4 · Data.Attoparsec.Internal.Types
  • Num NumberDefined in attoparsec-0.14.4 · Data.Attoparsec.Number
  • Num Word128Defined in basement-0.0.16 · Basement.Types.Word128
  • Num Word256Defined in basement-0.0.16 · Basement.Types.Word256
  • Num TimeSpecDefined in clock-0.8.4 · System.Clock
  • Num SecondsDefined in clock-0.8.4 · System.Clock.Seconds
  • Num PrivateNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Num PublicNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Num PrivateNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Num PublicNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Num IntegerDefined in ghc-internal-10.0.0 · GHC.Internal.Num
  • Num NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Num

    Note that Natural's Num instance isn't a ring: no element but 0 has an additive inverse. It is a semiring though.

  • Num EventTypeDefined in ghc-internal-10.0.0 · GHC.Internal.Event.EPoll
  • Num EventDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Poll
  • Num UniqueDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Unique
  • Num CBoolDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CClockDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CDoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CFloatDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CLLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CPtrdiffDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CSCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CSUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CSigAtomicDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CSizeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CTimeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CUCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CUIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CUIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CUIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CULLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CULongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CUShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num CWcharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Num IntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Num WordPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Num HalfWordDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.InfoTable.Types
  • Num Int16Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Num Int32Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Num Int64Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Num Int8Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Num ByteOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Constants
  • Num WordOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Constants
  • Num ByteOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.ConstantsProf
  • Num WordOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.ConstantsProf
  • Num CBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CBlkSizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CCcDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CClockIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CDevDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CFsBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CFsFilCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CGidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CInoDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CKeyDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CModeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CNfdsDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CNlinkDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num COffDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CPidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CRLimDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CSocklenDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CSpeedDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CSsizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CTcflagDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num CUidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num FdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Num DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    This instance implements IEEE 754 standard with all its usual pitfalls about NaN, infinities and negative zero. Neither addition nor multiplication are associative or distributive:

    Example3 expressions
    (0.1 + 0.1) + 0.4 == 0.1 + (0.1 + 0.4)False(0.1 + 0.2) * 0.3 == 0.1 * 0.3 + 0.2 * 0.3False(0.1 * 0.1) * 0.3 == 0.1 * (0.1 * 0.3)False
  • Num FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    This instance implements IEEE 754 standard with all its usual pitfalls about NaN, infinities and negative zero. Neither addition nor multiplication are associative or distributive:

    Example3 expressions
    (0.1 + 0.1 :: Float) + 0.5 == 0.1 + (0.1 + 0.5)False(0.1 + 0.2 :: Float) * 0.9 == 0.1 * 0.9 + 0.2 * 0.9False(0.1 * 0.1 :: Float) * 0.9 == 0.1 * (0.1 * 0.9)False
  • Num IntDefined in ghc-internal-10.0.0 · GHC.Internal.Num
  • Num WordDefined in ghc-internal-10.0.0 · GHC.Internal.Num
  • Num Word16Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Num Word32Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Num Word64Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Num Word8Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Num HalfDefined in half-0.3.3 · Numeric.Half.Internal
  • Num NOpPrecedenceDefined in hnix-0.17.0 · Nix.Parser
  • Num InferStateDefined in hnix-0.17.0 · Nix.Type.Infer
  • Num SecondsDefined in hspec-core-2.11.18 · Test.Hspec.Core.Clock
  • Num MaxHeaderLengthDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Num MaxNumberHeadersDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Num MsgFlagDefined in network-3.2.9.0 · Network.Socket.Flag
  • Num PortNumberDefined in network-3.2.9.0 · Network.Socket.Types
  • Num CardinalityDefined in random-1.3.1 · System.Random.GFinite
  • Num ScientificDefined in scientific-0.3.9.0 · Data.Scientific

    WARNING: + and - compute the Integer magnitude: 10^e where e is the difference between the base10Exponents of the arguments. If these methods are applied to arguments which have huge exponents this could fill up all space and crash your program! So don't apply these methods to scientific numbers coming from untrusted sources. The other methods can be used safely.

  • Num CodePointDefined in streaming-commons-0.2.3.1 · Data.Streaming.Text
  • Num DecoderStateDefined in streaming-commons-0.2.3.1 · Data.Streaming.Text
  • Num I8Defined in text-2.1.4 · Data.Text.Foreign
  • Num SizeDefined in text-2.1.4 · Data.Text.Internal.Fusion.Size
  • Num BDefined in text-short-0.1.6.1 · Data.Text.Short.Internal
  • Num DiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.DiffTime
  • Num NominalDiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.NominalDiffTime
  • Num ElapsedDefined in time-hourglass-0.3.0 · Time.Types
  • Num ElapsedPDefined in time-hourglass-0.3.0 · Time.Types
  • Num HoursDefined in time-hourglass-0.3.0 · Time.Types
  • Num MinutesDefined in time-hourglass-0.3.0 · Time.Types
  • Num NanoSecondsDefined in time-hourglass-0.3.0 · Time.Types
  • Num SecondsDefined in time-hourglass-0.3.0 · Time.Types
  • Num CipherIdDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Num CAttributesDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Num StatxFlagsDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Num StatxMaskDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Num BaudRateDefined in unix-2.8.8.0 · System.Posix.Terminal.Common
  • Num UnixDiffTimeDefined in unix-time-0.5.0 · Data.UnixTime.Diff · orphan

    Arithmetic operations where (1::UnixDiffTime) means 1 second.

    Example3 expressions
    (3 :: UnixDiffTime) + 2UnixDiffTime {udtSeconds = 5, udtMicroSeconds = 0}(2 :: UnixDiffTime) - 5UnixDiffTime {udtSeconds = -3, udtMicroSeconds = 0}(3 :: UnixDiffTime) * 2UnixDiffTime {udtSeconds = 6, udtMicroSeconds = 0}
  • Num SizeDefined in vector-0.13.2.0 · Data.Vector.Fusion.Bundle.Size
  • () :=> Num IntegerDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Num NaturalDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Num DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Num FloatDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Num IntDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Num WordDefined in constraints-0.14.4 · Data.Constraint
  • Class () (Num a)Defined in constraints-0.14.4 · Data.Constraint
  • RealFloat a => Num (Complex a)Defined in base-4.23.0.0 · Data.Complex
  • Num (CountOf ty)Defined in basement-0.0.16 · Basement.Types.OffsetSize
  • Num (Offset ty)Defined in basement-0.0.16 · Basement.Types.OffsetSize
  • Num (CountOf ty)Defined in mlkem-0.2.3.0 · Base
  • Num (Offset ty)Defined in mlkem-0.2.3.0 · Base
  • Num (ElapsedSince epoch)Defined in time-hourglass-0.3.0 · Time.Epoch
  • Num (ElapsedSinceP e)Defined in time-hourglass-0.3.0 · Time.Epoch
  • Num a => Num (Blind a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Num a => Num (Fixed a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Num a => Num (Large a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Num a => Num (NoShrink a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Num a => Num (Shrink2 a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Num a => Num (Small a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Num a => Num (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph

    Note: this does not satisfy the usual ring laws; see Graph for more details.

  • Num a => Num (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph.NonEmpty

    Note: this does not satisfy the usual ring laws; see Graph for more details.

  • Num a => Num (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Undirected

    Note: this does not satisfy the usual ring laws; see Graph for more details.

  • Num a => Num (Max a)Defined in base-4.23.0.0 · Data.Semigroup
  • Num a => Num (Min a)Defined in base-4.23.0.0 · Data.Semigroup
  • Num a => Num (Identity a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Identity
  • Num a => Num (Down a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Ord
  • Num a => Num (Product a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Num a => Num (Sum a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Integral a => Num (Ratio a)Defined in ghc-internal-10.0.0 · GHC.Internal.Real
  • KnownNat n => Num (Zn n)Defined in basement-0.0.16 · Basement.Bounded
  • (Ord a, Num a) => Num (AdjacencyMap a)Defined in algebraic-graphs-0.8 · Algebra.Graph.AdjacencyMap

    Note: this does not satisfy the usual ring laws; see AdjacencyMap for more details.

  • (Ord a, Num a) => Num (AdjacencyMap a)Defined in algebraic-graphs-0.8 · Algebra.Graph.NonEmpty.AdjacencyMap

    Note: this does not satisfy the usual ring laws; see AdjacencyMap for more details.

  • (Ord a, Num a) => Num (Relation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation

    Note: this does not satisfy the usual ring laws; see Relation for more details.

  • (Ord a, Num a) => Num (PreorderRelation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Preorder
  • (Ord a, Num a) => Num (ReflexiveRelation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Reflexive
  • (Ord a, Num a) => Num (Relation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Symmetric

    Note: this does not satisfy the usual ring laws; see Relation for more details.

  • (Ord a, Num a) => Num (TransitiveRelation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Transitive
  • (IsString a, Ord a) => Num (Todo a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Example.Todo
  • (Num a, Eq a) => Num (Extended a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • (Num a, Ord a) => Num (Capacity a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • (Num a, Ord a) => Num (Count a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • (Num a, Ord a) => Num (Distance a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • (Num a, Ord a) => Num (NonNegative a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • (KnownNat n, NatWithinBound Word64 n) => Num (Zn64 n)Defined in basement-0.0.16 · Basement.Bounded
  • RealFloat a :=> Num (Complex a)Defined in constraints-0.14.4 · Data.Constraint
  • Num a :=> Num (Const a b)Defined in constraints-0.14.4 · Data.Constraint
  • Num a :=> Num (Identity a)Defined in constraints-0.14.4 · Data.Constraint
  • Integral a :=> Num (Ratio a)Defined in constraints-0.14.4 · Data.Constraint
  • Class (Num a) (Fractional a)Defined in constraints-0.14.4 · Data.Constraint
  • HasResolution a => Num (Fixed a)Defined in base-4.23.0.0 · Data.Fixed

    Multiplication is not associative or distributive:

    Example1 expression
    (0.2 * 0.6 :: Deci) * 0.9 == 0.2 * (0.6 * 0.9)False
    Example1 expression
    (0.1 + 0.1 :: Deci) * 0.5 == 0.1 * 0.5 + 0.1 * 0.5False
  • Num a => Num (Op a b)Defined in base-4.23.0.0 · Data.Functor.Contravariant
  • (Eq e, Dioid e, Num a, Ord a) => Num (AdjacencyMap e a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.AdjacencyMap

    Note: this does not satisfy the usual ring laws; see AdjacencyMap for more details.

  • (Ord a, Ord b, Num b) => Num (AdjacencyMap a b)Defined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap

    Note: this does not satisfy the usual ring laws; see AdjacencyMap for more details.

  • (Ord a, Num a, Dioid e) => Num (Graph e a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Labelled

    Note: this does not satisfy the usual ring laws; see Graph for more details.

  • Class (Num a, Ord a) (Real a)Defined in constraints-0.14.4 · Data.Constraint
  • Num (f a) => Num (Alt f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Num a => Num (Const a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Const
  • Num a => Num (Tagged s a)Defined in tagged-0.8.11 · Data.Tagged
  • (Biapplicative bi, Num a, Num b) => Num (Biap bi a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Biap
  • (Applicative f, Num a) => Num (Ap f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid

    Note that even if the underlying Num and Applicative instances are lawful, for most Applicatives, this instance will not be lawful. If you use this instance with the list Applicative, the following customary laws will not hold:

    Commutativity:

    Example2 expressions
    Ap [10,20] + Ap [1,2]Ap {getAp = [11,12,21,22]}Ap [1,2] + Ap [10,20]Ap {getAp = [11,21,12,22]}

    Additive inverse:

    Example2 expressions
    Ap [] + negate (Ap [])Ap {getAp = []}fromInteger 0 :: Ap [] IntAp {getAp = [0]}

    Distributivity:

    Example2 expressions
    Ap [1,2] * (3 + 4)Ap {getAp = [7,14]}(Ap [1,2] * 3) + (Ap [1,2] * 4)Ap {getAp = [7,11,10,14]}
  • Num (f (g a)) => Num (Compose f g a)Defined in base-4.23.0.0 · Data.Functor.Compose
classclass Read a where
#

Parsing of Strings, producing values.

Derived instances of Read make the following assumptions, which derived instances of Text.Show.Show obey:

  • If the constructor is defined to be an infix operator, then the derived Read instance will parse only infix applications of the constructor (not the prefix form).

  • Associativity is not used to reduce the occurrence of parentheses, although precedence may be.

  • If the constructor is defined using record syntax, the derived Read will parse only the record-syntax form, and furthermore, the fields must be given in the same order as the original declaration.

  • The derived Read instance allows arbitrary Haskell whitespace between tokens of the input string. Extra parentheses are also allowed.

For example, given the declarations

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

the derived instance of Read in Haskell 2010 is equivalent to

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

        readsPrec d r =  readParen (d > app_prec)
                         (\r -> [(Leaf m,t) |
                                 ("Leaf",s) <- lex r,
                                 (m,t) <- readsPrec (app_prec+1) s]) r

                      ++ readParen (d > up_prec)
                         (\r -> [(u:^:v,w) |
                                 (u,s) <- readsPrec (up_prec+1) r,
                                 (":^:",t) <- lex s,
                                 (v,w) <- readsPrec (up_prec+1) t]) r

          where app_prec = 10
                up_prec = 5

Note that right-associativity of :^: is unused.

The derived instance in GHC is equivalent to

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

        readPrec = parens $ (prec app_prec $ do
                                 Ident "Leaf" <- lexP
                                 m <- step readPrec
                                 return (Leaf m))

                     +++ (prec up_prec $ do
                                 u <- step readPrec
                                 Symbol ":^:" <- lexP
                                 v <- step readPrec
                                 return (u :^: v))

          where app_prec = 10
                up_prec = 5

        readListPrec = readListPrecDefault

Why do both readsPrec and readPrec exist, and why does GHC opt to implement readPrec in derived Read instances instead of readsPrec? The reason is that readsPrec is based on the ReadS type, and although ReadS is mentioned in the Haskell 2010 Report, it is not a very efficient parser data structure.

readPrec, on the other hand, is based on a much more efficient ReadPrec datatype (a.k.a "new-style parsers"), but its definition relies on the use of the RankNTypes language extension. Therefore, readPrec (and its cousin, readListPrec) are marked as GHC-only. Nevertheless, it is recommended to use readPrec instead of readsPrec whenever possible for the efficiency improvements it brings.

As mentioned above, derived Read instances in GHC will implement readPrec instead of readsPrec. The default implementations of readsPrec (and its cousin, readList) will simply use readPrec under the hood. If you are writing a Read instance by hand, it is recommended to write it like so:

instance Read T where
  readPrec     = ...
  readListPrec = readListPrecDefault
Instances572Lifting2, Lifting, Class, :=>, Read, …
  • Read CountsDefined in HUnit-1.6.2.0 · Test.HUnit.Base
  • Read NodeDefined in HUnit-1.6.2.0 · Test.HUnit.Base
  • Read StateDefined in HUnit-1.6.2.0 · Test.HUnit.Base
  • Read ASCIIStringDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read PrintableStringDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read UnicodeStringDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read QCGenDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Random
  • Read ArgsDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Test
  • Read KeyDefined in aeson-2.2.5.1 · Data.Aeson.Key
  • Read DotNetTimeDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Read ValueDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Read BlinkSpeedDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Read ColorDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Read ColorIntensityDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Read ConsoleIntensityDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Read ConsoleLayerDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Read SGRDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Read UnderliningDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Read GCDetailsDefined in base-4.23.0.0 · GHC.Stats
  • Read RTSStatsDefined in base-4.23.0.0 · GHC.Stats
  • Read OptionsDefined in bifunctors-5.6.3 · Data.Bifunctor.TH
  • Read ByteOrderDefined in byteorder-1.0.4 · System.ByteOrder
  • Read ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Internal.Type
  • Read ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Lazy.Internal
  • Read ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • Read TermDefined in cborg-0.2.10.0 · Codec.CBOR.Term
  • Read ClockDefined in clock-0.8.4 · System.Clock
  • Read TimeSpecDefined in clock-0.8.4 · System.Clock
  • Read SecondsDefined in clock-0.8.4 · System.Clock.Seconds
  • Read RGBGamutDefined in colour-2.3.7 · Data.Colour.RGB
  • Read StateDefined in concurrency-1.11.0.3 · Control.Concurrent.Classy.RWLock
  • Read IntSetDefined in containers-0.8 · Data.IntSet.Internal
  • Read CurveBinaryParamDefined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read CurvePrimeParamDefined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read CurveTypeDefined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p112r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p112r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p128r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p128r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p160k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p160r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p160r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p192k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p192r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p224k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p224r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p256k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p256r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p384r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_p521r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t113r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t113r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t131r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t131r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t163k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t163r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t163r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t193r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t193r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t233k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t233r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t239k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t283k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t283r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t409k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t409r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t571k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read SEC_t571r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read OptionsDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Read VariantDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Read VersionDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Read ParamsDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Read PrivateNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Read PublicNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Read KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Read ParamsDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Read PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Read PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Read SignatureDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Read ExtendedSignatureDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Read KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Read PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Read PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Read SignatureDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Read CurveDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Read CurveBinaryDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Read CurveCommonDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Read CurveNameDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Read CurvePrimeDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Read PointDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Read SignatureDefined in crypton-2.1.7 · Crypto.PubKey.ElGamal
  • Read KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.RSA.Types
  • Read PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.RSA.Types
  • Read PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.RSA.Types
  • Read PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Basic
  • Read PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Basic
  • Read SignatureDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Basic
  • Read PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Modified
  • Read PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Modified
  • Read PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.RW
  • Read PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.RW
  • Read CurveBinaryParamDefined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read CurvePrimeParamDefined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read CurveTypeDefined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p112r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p112r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p128r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p128r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p160k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p160r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p160r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p192k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p192r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p224k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p224r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p256k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p256r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p384r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_p521r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t113r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t113r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t131r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t131r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t163k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t163r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t163r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t193r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t193r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t233k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t233r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t239k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t283k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t283r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t409k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t409r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t571k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read SEC_t571r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read OptionsDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Read VariantDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Read VersionDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Read ParamsDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Read PrivateNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Read PublicNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Read KeyPairDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Read ParamsDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Read PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Read PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Read SignatureDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Read KeyPairDefined in cryptonite-0.30 · Crypto.PubKey.ECC.ECDSA
  • Read PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.ECC.ECDSA
  • Read PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.ECC.ECDSA
  • Read SignatureDefined in cryptonite-0.30 · Crypto.PubKey.ECC.ECDSA
  • Read CurveDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Read CurveBinaryDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Read CurveCommonDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Read CurveNameDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Read CurvePrimeDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Read PointDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Read KeyPairDefined in cryptonite-0.30 · Crypto.PubKey.RSA.Types
  • Read PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.RSA.Types
  • Read PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.RSA.Types
  • Read PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Basic
  • Read PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Basic
  • Read SignatureDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Basic
  • Read PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Modified
  • Read PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Modified
  • Read PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.RW
  • Read PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.RW
  • Read FFTOptionsDefined in deriving-compat-0.6.8 · Data.Functor.Deriving.Internal
  • Read ReadOptionsDefined in deriving-compat-0.6.8 · Text.Read.Deriving.Internal
  • Read ShowOptionsDefined in deriving-compat-0.6.8 · Text.Show.Deriving.Internal
  • Read FileTypeDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Read PermissionsDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Read XdgDirectoryDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Read XdgDirectoryListDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Read VoidDefined in ghc-internal-10.0.0 · GHC.Internal.Read

    Reading a Void value is always a parse error, considering Void as a data type with no constructors.

  • Read IntegerDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read ByteOrderDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read AllDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Read AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Read VersionDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Version
  • Read CBoolDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CClockDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CDoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CFloatDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CLLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CPtrdiffDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CSCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CSUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CSigAtomicDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CSizeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CTimeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CUCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CUIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CUIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CUIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CULLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CULongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CUShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read CWcharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Read IntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Read WordPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Read AssociativityDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Read DecidedStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Read FixityDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Read SourceStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Read SourceUnpackednessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Read SeekModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Device
  • Read ExitCodeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Read BufferModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Read NewlineDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Read NewlineModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Read IOModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.IOMode
  • Read Int16Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Read Int32Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Read Int64Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Read Int8Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Read GCDetailsDefined in ghc-internal-10.0.0 · GHC.Internal.Stats
  • Read RTSStatsDefined in ghc-internal-10.0.0 · GHC.Internal.Stats
  • Read CBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CBlkSizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CCcDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CClockIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CDevDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CFsBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CFsFilCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CGidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CInoDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CKeyDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CModeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CNfdsDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CNlinkDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read COffDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CPidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CRLimDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CSocklenDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CSpeedDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CSsizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CTcflagDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read CUidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read FdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Read LexemeDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read SomeCharDefined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Read SomeSymbolDefined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Read SomeNatDefined in ghc-internal-10.0.0 · GHC.Internal.TypeNats
  • Read BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read CharDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read IntDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read OrderingDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read WordDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read GeneralCategoryDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read Word16Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read Word32Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read Word64Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read Word8Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read HalfDefined in half-0.3.3 · Numeric.Half.Internal
  • Read NAtomDefined in hnix-0.17.0 · Nix.Atoms
  • Read FileTypeDefined in hnix-0.17.0 · Nix.Builtins
  • Read VersionComponentDefined in hnix-0.17.0 · Nix.Builtins
  • Read NBinaryOpDefined in hnix-0.17.0 · Nix.Expr.Types
  • Read NPosDefined in hnix-0.17.0 · Nix.Expr.Types
  • Read NSourcePosDefined in hnix-0.17.0 · Nix.Expr.Types
  • Read NUnaryOpDefined in hnix-0.17.0 · Nix.Expr.Types
  • Read RecursivityDefined in hnix-0.17.0 · Nix.Expr.Types
  • Read VarNameDefined in hnix-0.17.0 · Nix.Expr.Types
  • Read VariadicDefined in hnix-0.17.0 · Nix.Expr.Types
  • Read PathDefined in hnix-0.17.0 · Nix.Utils
  • Read WorkerOpDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.WorkerOp
  • Read LocationDefined in hspec-core-2.11.18 · Test.Hspec.Core.Example.Location
  • Read FailureReportDefined in hspec-core-2.11.18 · Test.Hspec.Core.FailureReport
  • Read CookieDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Read CookieJarDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Read ProxyDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Read ProxySecureModeDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Read DigestAuthExceptionDetailsDefined in http-client-tls-0.4.0 · Network.HTTP.Client.TLS
  • Read StdMethodDefined in http-types-0.12.6 · Network.HTTP.Types.Method
  • Read IPDefined in iproute-1.7.15 · Data.IP.Addr
  • Read IPv4Defined in iproute-1.7.15 · Data.IP.Addr
  • Read IPv6Defined in iproute-1.7.15 · Data.IP.Addr
  • Read IPRangeDefined in iproute-1.7.15 · Data.IP.Range
  • Read PosDefined in megaparsec-9.5.0 · Text.Megaparsec.Pos
  • Read SourcePosDefined in megaparsec-9.5.0 · Text.Megaparsec.Pos
  • Read MemoryAdviceDefined in memory-0.18.0 · Data.Memory.MemMap.Posix
  • Read MemoryMapFlagDefined in memory-0.18.0 · Data.Memory.MemMap.Posix
  • Read MemoryProtectionDefined in memory-0.18.0 · Data.Memory.MemMap.Posix
  • Read MemorySyncFlagDefined in memory-0.18.0 · Data.Memory.MemMap.Posix
  • Read AddrInfoFlagDefined in network-3.2.9.0 · Network.Socket.Info
  • Read NameInfoFlagDefined in network-3.2.9.0 · Network.Socket.Info
  • Read SocketOptionDefined in network-3.2.9.0 · Network.Socket.Options
  • Read CmsgIdDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Read FamilyDefined in network-3.2.9.0 · Network.Socket.Types
  • Read PortNumberDefined in network-3.2.9.0 · Network.Socket.Types
  • Read SocketTypeDefined in network-3.2.9.0 · Network.Socket.Types
  • Read CommunicationHandleDefined in process-1.6.30.0 · System.Process.CommunicationHandle.Internal
  • Read MemoryAdviceDefined in ram-0.22.1 · Data.Memory.MemMap.Posix
  • Read MemoryMapFlagDefined in ram-0.22.1 · Data.Memory.MemMap.Posix
  • Read MemoryProtectionDefined in ram-0.22.1 · Data.Memory.MemMap.Posix
  • Read MemorySyncFlagDefined in ram-0.22.1 · Data.Memory.MemMap.Posix
  • Read CompOptionDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Read ExecOptionDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Read UndefinedDefined in relude-1.2.2.2 · Relude.Debug
  • Read ScientificDefined in scientific-0.3.9.0 · Data.Scientific

    Supports the skipping of parentheses and whitespaces. Example:

    > read " ( ((  -1.0e+3 ) ))" :: Scientific
    -1000.0

    (Note: This Read instance makes internal use of scientificP to parse the floating-point number.)

  • Read SMGenDefined in splitmix-0.1.3.2 · System.Random.SplitMix
    Example1 expression
    readMaybe "SMGen 1 1" :: Maybe SMGenJust (SMGen 1 1)
    Example1 expression
    readMaybe "SMGen 1 2" :: Maybe SMGenNothing
    Example1 expression
    readMaybe (show (mkSMGen 42)) :: Maybe SMGenJust (SMGen 9297814886316923340 13679457532755275413)
  • Read SMGenDefined in splitmix-0.1.3.2 · System.Random.SplitMix32
    Example1 expression
    readMaybe "SMGen 1 1" :: Maybe SMGenJust (SMGen 1 1)
    Example1 expression
    readMaybe "SMGen 1 2" :: Maybe SMGenNothing
    Example1 expression
    readMaybe (show (mkSMGen 42)) :: Maybe SMGenJust (SMGen 142593372 1604540297)
  • Read FileTypeDefined in streaming-commons-0.2.3.1 · Data.Streaming.Filesystem
  • Read HostPreferenceDefined in streaming-commons-0.2.3.1 · Data.Streaming.Network.Internal
  • Read I8Defined in text-2.1.4 · Data.Text.Foreign
  • Read TextDefined in text-2.1.4 · Data.Text · orphan
  • Read TextDefined in text-2.1.4 · Data.Text.Lazy · orphan
  • Read FPFormatDefined in text-2.1.4 · Data.Text.Lazy.Builder.RealFloat
  • Read ShortTextDefined in text-short-0.1.6.1 · Data.Text.Short.Internal
  • Read DatatypeVariantDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Read CalendarDiffDaysDefined in time-1.16.0.1 · Data.Time.Format.ISO8601 · orphan
  • Read DayDefined in time-1.16.0.1 · Data.Time.Format.Parse · orphan
  • Read MonthDefined in time-1.16.0.1 · Data.Time.Calendar.Month

    Read as yyyy-mm.

  • Read QuarterDefined in time-1.16.0.1 · Data.Time.Calendar.Quarter

    Read as yyyy-Qn.

  • Read QuarterOfYearDefined in time-1.16.0.1 · Data.Time.Calendar.Quarter
  • Read DayOfWeekDefined in time-1.16.0.1 · Data.Time.Calendar.Week
  • Read DiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.DiffTime
  • Read NominalDiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.NominalDiffTime
  • Read UTCTimeDefined in time-1.16.0.1 · Data.Time.Format.Parse · orphan
  • Read UniversalTimeDefined in time-1.16.0.1 · Data.Time.Format.Parse · orphan
  • Read CalendarDiffTimeDefined in time-1.16.0.1 · Data.Time.Format.ISO8601 · orphan
  • Read LocalTimeDefined in time-1.16.0.1 · Data.Time.Format.Parse · orphan
  • Read TimeOfDayDefined in time-1.16.0.1 · Data.Time.Format.Parse · orphan
  • Read TimeZoneDefined in time-1.16.0.1 · Data.Time.Format.Parse · orphan

    This only works for ±HHMM format, single-letter military time-zones, and these time-zones: "UTC", "UT", "GMT", "EST", "EDT", "CST", "CDT", "MST", "MDT", "PST", "PDT", per RFC 822 section 5.

  • Read ZonedTimeDefined in time-1.16.0.1 · Data.Time.Format.Parse · orphan

    This only works for a zonedTimeZone in ±HHMM format, single-letter military time-zones, and these time-zones: "UTC", "UT", "GMT", "EST", "EDT", "CST", "CDT", "MST", "MDT", "PST", "PDT", per RFC 822 section 5.

  • Read DurationDefined in time-hourglass-0.3.0 · Time.Diff
  • Read PeriodDefined in time-hourglass-0.3.0 · Time.Diff
  • Read DateDefined in time-hourglass-0.3.0 · Time.Types
  • Read DateTimeDefined in time-hourglass-0.3.0 · Time.Types
  • Read ElapsedDefined in time-hourglass-0.3.0 · Time.Types
  • Read ElapsedPDefined in time-hourglass-0.3.0 · Time.Types
  • Read HoursDefined in time-hourglass-0.3.0 · Time.Types
  • Read MinutesDefined in time-hourglass-0.3.0 · Time.Types
  • Read MonthDefined in time-hourglass-0.3.0 · Time.Types
  • Read NanoSecondsDefined in time-hourglass-0.3.0 · Time.Types
  • Read SecondsDefined in time-hourglass-0.3.0 · Time.Types
  • Read TimeOfDayDefined in time-hourglass-0.3.0 · Time.Types
  • Read TimezoneOffsetDefined in time-hourglass-0.3.0 · Time.Types

    Read a time zone offset. Accepts the format ±HHMM and valid values between -1200 and +1400.

  • Read WeekDayDefined in time-hourglass-0.3.0 · Time.Types
  • Read CipherIdDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Read RTLDFlagsDefined in unix-2.8.8.0 · System.Posix.DynamicLinker.Prim
  • Read CAttributesDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Read StatxFlagsDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Read StatxMaskDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Read OpenFileFlagsDefined in unix-2.8.8.0 · System.Posix.IO.Common
  • Read OpenModeDefined in unix-2.8.8.0 · System.Posix.IO.Common
  • Read GroupEntryDefined in unix-2.8.8.0 · System.Posix.User.Common
  • Read UserEntryDefined in unix-2.8.8.0 · System.Posix.User.Common
  • Read UUIDDefined in uuid-types-1.0.6.1 · Data.UUID.Types.Internal
  • Read UnpackedUUIDDefined in uuid-types-1.0.6.1 · Data.UUID.Types.Internal
  • Read DictionaryHashDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Read ()Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Lifting Read ComplexDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Read IdentityDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Read MaybeDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Read []Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting2 Read EitherDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting2 Read Tuple2Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Read1 f => Lifting Read (Lift f)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Read1 m => Lifting Read (MaybeT m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Read a => Lifting Read (Either a)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Read a => Lifting Read (Tuple2 a)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Read1 f => Lifting Read (Backwards f)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Read1 f => Lifting Read (Reverse f)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Read1 m => Lifting Read (IdentityT m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Read e, Read1 m) => Lifting Read (ExceptT e m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Read w, Read1 m) => Lifting Read (WriterT w m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Read w, Read1 m) => Lifting Read (WriterT w m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Read1 f, Read1 g) => Lifting Read (Product f g)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Read1 f, Read1 g) => Lifting Read (Sum f g)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Read1 f, Read1 g) => Lifting Read (Compose f g)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • () :=> Read NaturalDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Read BoolDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Read CharDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Read IntDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Read OrderingDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Read WordDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Read ()Defined in constraints-0.14.4 · Data.Constraint
  • a :=> Read (Dict a)Defined in constraints-0.14.4 · Data.Constraint
  • Class () (Read a)Defined in constraints-0.14.4 · Data.Constraint
  • Read1 f => Read (Fix f)Defined in data-fix-0.3.4 · Data.Fix
  • HashAlgorithm a => Read (Digest a)Defined in crypton-2.1.7 · Crypto.Hash.Types
  • HashAlgorithm a => Read (Digest a)Defined in cryptonite-0.30 · Crypto.Hash.Types
  • Read (Point curve)Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read (Scalar curve)Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Read (Point curve)Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read (Scalar curve)Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Read (AddrRange IPv4)Defined in iproute-1.7.15 · Data.IP.Range
  • Read (AddrRange IPv6)Defined in iproute-1.7.15 · Data.IP.Range
  • Read (EnumSet e)Defined in regex-tdfa-1.3.2.6 · Data.IntSet.EnumSet2
  • Read (ElapsedSince epoch)Defined in time-hourglass-0.3.0 · Time.Epoch
  • Read (ElapsedSinceP epoch)Defined in time-hourglass-0.3.0 · Time.Epoch
  • Read a => Read (Fixed a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read a => Read (Large a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read a => Read (Negative a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read a => Read (NoShrink a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read a => Read (NonEmptyList a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read a => Read (NonNegative a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read a => Read (NonPositive a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read a => Read (NonZero a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read a => Read (OrderedList a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read a => Read (Positive a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read a => Read (Shrink2 a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read a => Read (Small a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read a => Read (SortedList a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Read a => Read (Complex a)Defined in base-4.23.0.0 · Data.Complex
  • Read a => Read (First a)Defined in base-4.23.0.0 · Data.Semigroup
  • Read a => Read (Last a)Defined in base-4.23.0.0 · Data.Semigroup
  • Read a => Read (Max a)Defined in base-4.23.0.0 · Data.Semigroup
  • Read a => Read (Min a)Defined in base-4.23.0.0 · Data.Semigroup
  • Read a => Read (RGB a)Defined in colour-2.3.7 · Data.Colour.RGB
  • Read a => Read (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • Read a => Read (ViewL a)Defined in containers-0.8 · Data.Sequence.Internal
  • Read a => Read (ViewR a)Defined in containers-0.8 · Data.Sequence.Internal
  • Read a => Read (PostOrder a)Defined in containers-0.8 · Data.Tree
  • Read a => Read (Tree a)Defined in containers-0.8 · Data.Tree
  • Read a => Read (DNonEmpty a)Defined in dlist-1.0 · Data.DList.DNonEmpty.Internal
  • Read a => Read (DList a)Defined in dlist-1.0 · Data.DList.Internal
  • Read a => Read (NonEmpty a)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read a => Read (And a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Read a => Read (Iff a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Read a => Read (Ior a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Read a => Read (Xor a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Read a => Read (Identity a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Identity

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

  • Read a => Read (First a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Read a => Read (Last a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Read a => Read (Down a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Ord

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

  • Read a => Read (Dual a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Read a => Read (Product a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Read a => Read (Sum a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Read a => Read (ZipList a)Defined in ghc-internal-10.0.0 · GHC.Internal.Functor.ZipList
  • Read a => Read (Maybe a)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read a => Read (Scope a)Defined in hnix-0.17.0 · Nix.Scope
  • Read a => Read (Logic a)Defined in logict-0.8.2.0 · Control.Monad.Logic
  • Read a => Read (Array a)Defined in primitive-0.9.1.0 · Data.Primitive.Array
  • Read a => Read (SmallArray a)Defined in primitive-0.9.1.0 · Data.Primitive.SmallArray
  • Read a => Read (CharMap a)Defined in regex-tdfa-1.3.2.6 · Data.IntMap.CharMap2
  • Read a => Read (Maybe a)Defined in strict-0.5.1 · Data.Strict.Maybe
  • Read a => Read (Vector a)Defined in vector-0.13.2.0 · Data.Vector
  • Read a => Read (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Strict
  • Read a => Read (a)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read a => Read [a]Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read e => Read (IntMap e)Defined in containers-0.8 · Data.IntMap.Internal
  • Read e => Read (ErrorFancy e)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error
  • Read m => Read (WrappedMonoid m)Defined in base-4.23.0.0 · Data.Semigroup
  • Read p => Read (Par1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Read r => Read (NKeyName r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Read r => Read (NString r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Read r => Read (Params r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Read t => Read (ErrorItem t)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error
  • Read t => Read (LocalTime t)Defined in time-hourglass-0.3.0 · Time.LocalTime

    Read a LocalTime. Read the localTimeUnwrap field and then the localTimeGetTimezone field.

  • Read v => Read (KeyMap v)Defined in aeson-2.2.5.1 · Data.Aeson.KeyMap
  • Read vertex => Read (SCC vertex)Defined in containers-0.8 · Data.Graph
  • (Functor f, Read1 f) => Read (Mu f)Defined in data-fix-0.3.4 · Data.Fix
  • (Functor f, Read1 f) => Read (Nu f)Defined in data-fix-0.3.4 · Data.Fix
  • (Read a, Ord a) => Read (Set a)Defined in containers-0.8 · Data.Set.Internal
  • (Read a, Storable a) => Read (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Storable
  • (Read a, Prim a) => Read (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Primitive
  • (Read a, Unbox a) => Read (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphan
  • (Read s, FoldCase s) => Read (CI s)Defined in case-insensitive-1.2.1.0 · Data.CaseInsensitive.Internal
  • (Fractional a, Read a) => Read (Chromaticity a)Defined in colour-2.3.7 · Data.Colour.CIE.Chromaticity
  • (Fractional a, Read a) => Read (AlphaColour a)Defined in colour-2.3.7 · Data.Colour · orphan
  • (Fractional a, Read a) => Read (Colour a)Defined in colour-2.3.7 · Data.Colour · orphan
  • (Integral a, Read a) => Read (Ratio a)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • (Hashable a, Read a) => Read (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • a => Read (Dict a)Defined in constraints-0.14.4 · Data.Constraint
  • Read a :=> Read (Complex a)Defined in constraints-0.14.4 · Data.Constraint
  • Read a :=> Read (Const a b)Defined in constraints-0.14.4 · Data.Constraint
  • Read a :=> Read (Identity a)Defined in constraints-0.14.4 · Data.Constraint
  • Read a :=> Read (Maybe a)Defined in constraints-0.14.4 · Data.Constraint
  • Read a :=> Read [a]Defined in constraints-0.14.4 · Data.Constraint
  • HasResolution a => Read (Fixed a)Defined in base-4.23.0.0 · Data.Fixed
  • Read (Proxy t)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Read (U1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Read (V1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Read (f a) => Read (Zippy f a)Defined in semialign-1.3.1.1 · Data.Zip
  • Read a => Read (EnumMap k a)Defined in regex-tdfa-1.3.2.6 · Data.IntMap.EnumMap2
  • GRead f => Read (Some f)Defined in some-1.0.6 · Data.GADT.Internal
  • GRead f => Read (Some f)Defined in some-1.0.6 · Data.Some.GADT
  • GRead f => Read (Some f)Defined in some-1.0.6 · Data.Some.Newtype
  • (Read1 f, Read a) => Read (Cofree f a)Defined in free-5.2 · Control.Comonad.Cofree
  • (Read1 f, Read a) => Read (Free f a)Defined in free-5.2 · Control.Monad.Free
  • (Read1 f, Read a) => Read (Free f a)Defined in free-5.2 · Control.Monad.Free.Ap
  • (Read1 f, Read a) => Read (Lift f a)Defined in transformers-0.6.3.0 · Control.Applicative.Lift
  • (Read1 m, Read a) => Read (IterT m a)Defined in free-5.2 · Control.Monad.Trans.Iter
  • (Read1 m, Read a) => Read (MaybeT m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Maybe
  • (Read1 w, Read a) => Read (CoiterT w a)Defined in free-5.2 · Control.Comonad.Trans.Coiter
  • (Ord k, Read k, Read e) => Read (Map k e)Defined in containers-0.8 · Data.Map.Internal
  • (Ix a, Read a, Read b) => Read (Array a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • (Ix ix, Read ix, Read e, IArray UArray e) => Read (UArray ix e)Defined in array-0.5.8.0 · Data.Array.Base
  • (Read a, Read b) => Read (Arg a b)Defined in base-4.23.0.0 · Data.Semigroup
  • (Read a, Read b) => Read (Either a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Either
  • (Read a, Read b) => Read (Either a b)Defined in strict-0.5.1 · Data.Strict.Either
  • (Read a, Read b) => Read (These a b)Defined in strict-0.5.1 · Data.Strict.These
  • (Read a, Read b) => Read (Pair a b)Defined in strict-0.5.1 · Data.Strict.Tuple
  • (Read a, Read b) => Read (These a b)Defined in these-1.2.1 · Data.These
  • (Read a, Read b) => Read (a, b)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • (Read ann, Read expr) => Read (AnnUnit ann expr)Defined in hnix-0.17.0 · Nix.Expr.Types.Annotated
  • (Read v, Read r) => Read (Antiquoted v r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • (Hashable k, Read k, Read e) => Read (HashMap k e)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal
  • (GRead (Rep1 f a), Generic1 f) => Read (FunctorClassesDefault f a)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • (Read a, Read b) :=> Read (Either a b)Defined in constraints-0.14.4 · Data.Constraint
  • (Read a, Read b) :=> Read (a, b)Defined in constraints-0.14.4 · Data.Constraint
  • (Integral a, Read a) :=> Read (Ratio a)Defined in constraints-0.14.4 · Data.Constraint
  • Read (bi a b) => Read (Biap bi a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Biap
  • Read (f a) => Read (Ap f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Read (f a) => Read (Alt f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Read (f p) => Read (Rec1 f p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Read (p (Fix p a) a) => Read (Fix p a)Defined in bifunctors-5.6.3 · Data.Bifunctor.Fix
  • Read (p a a) => Read (Join p a)Defined in bifunctors-5.6.3 · Data.Bifunctor.Join
  • Read (w (CofreeF f a (CofreeT f w a))) => Read (CofreeT f w a)Defined in free-5.2 · Control.Comonad.Trans.Cofree
  • Read a => Read (Const a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Const

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

  • Read a => Read (Constant a b)Defined in transformers-0.6.3.0 · Data.Functor.Constant
  • Read b => Read (Tagged s b)Defined in tagged-0.8.11 · Data.Tagged
  • Coercible a b => Read (Coercion a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Coercion
  • (Read1 f, Read1 m, Read a) => Read (FreeT f m a)Defined in free-5.2 · Control.Monad.Trans.Free
  • (Read1 f, Read1 m, Read a) => Read (FreeT f m a)Defined in free-5.2 · Control.Monad.Trans.Free.Ap
  • (Read1 f, Read a) => Read (Backwards f a)Defined in transformers-0.6.3.0 · Control.Applicative.Backwards
  • (Read1 f, Read a) => Read (IdentityT f a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Identity
  • (Read1 f, Read a) => Read (Reverse f a)Defined in transformers-0.6.3.0 · Data.Functor.Reverse
  • (Read (f a), Read (g a), Read a) => Read (These1 f g a)Defined in these-1.2.1 · Data.Functor.These
  • (Read a, Read (f b)) => Read (CofreeF f a b)Defined in free-5.2 · Control.Comonad.Trans.Cofree
  • (Read a, Read (f b)) => Read (FreeF f a b)Defined in free-5.2 · Control.Monad.Trans.Free
  • (Read a, Read (f b)) => Read (FreeF f a b)Defined in free-5.2 · Control.Monad.Trans.Free.Ap
  • (Read a, Read b, Read c) => Read (a, b, c)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • (Read e, Read1 m, Read a) => Read (ExceptT e m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Except
  • (Read w, Read1 m, Read a) => Read (WriterT w m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.Lazy
  • (Read w, Read1 m, Read a) => Read (WriterT w m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.Strict
  • (GRead tag, Has' Read tag f) => Read (DSum tag f)Defined in dependent-sum-0.7.2.0 · Data.Dependent.Sum
  • a ~ b => Read (a :~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • Read c => Read (K1 i c p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Read (f a), Read (g a)) => Read (Product f g a)Defined in base-4.23.0.0 · Data.Functor.Product
  • (Read (f a), Read (g a)) => Read (Sum f g a)Defined in base-4.23.0.0 · Data.Functor.Sum
  • (Read (f p), Read (g p)) => Read ((:*:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Read (f p), Read (g p)) => Read ((:+:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Read a, Read b, Read c, Read d) => Read (a, b, c, d)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • a ~~ b => Read (a :~~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • Read (f (g a)) => Read (Compose f g a)Defined in base-4.23.0.0 · Data.Functor.Compose
  • Read (f (g p)) => Read ((:.:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Read (f a) => Read (Clown f a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Clown
  • Read (f p) => Read (M1 i c f p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Read (g b) => Read (Joker g a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Joker
  • Read (p a b) => Read (WrappedBifunctor p a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Wrapped
  • Read (p b a) => Read (Flip p a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Flip
  • (Read a, Read b, Read c, Read d, Read e) => Read (a, b, c, d, e)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • (Read (f a b), Read (g a b)) => Read (Product f g a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Product
  • (Read (p a b), Read (q a b)) => Read (Sum p q a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Sum
  • (Read a, Read b, Read c, Read d, Read e, Read f) => Read (a, b, c, d, e, f)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read (f (p a b)) => Read (Tannen f p a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Tannen
  • (Read a, Read b, Read c, Read d, Read e, Read f, Read g) => Read (a, b, c, d, e, f, g)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h) => Read (a, b, c, d, e, f, g, h)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Read (p (f a) (g b)) => Read (Biff p f g a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Biff
  • (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i) => Read (a, b, c, d, e, f, g, h, i)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j) => Read (a, b, c, d, e, f, g, h, i, j)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k) => Read (a, b, c, d, e, f, g, h, i, j, k)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k, Read l) => Read (a, b, c, d, e, f, g, h, i, j, k, l)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k, Read l, Read m) => Read (a, b, c, d, e, f, g, h, i, j, k, l, m)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k, Read l, Read m, Read n) => Read (a, b, c, d, e, f, g, h, i, j, k, l, m, n)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
  • (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k, Read l, Read m, Read n, Read o) => Read (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)Defined in ghc-internal-10.0.0 · GHC.Internal.Read
classclass Num a => Fractional a where
#

Fractional numbers, supporting real division.

The Haskell Report defines no laws for Fractional. However, (+) and (*) are customarily expected to define a division ring and have the following properties:

recip gives the multiplicative inverse

x * recip x

=

recip x * x

=

fromInteger 1

Totality of toRational

toRational

is total

Coherence with toRational

if the type also implements

Real

, then

fromRational

is a left inverse for

toRational

, i.e.

fromRational (toRational i) = i

Note that it isn't customarily expected that a type instance of Fractional implement a field. However, all instances in base do.

Methods

Instances29:=>, Class, Fractional, …
classclass (Real a, Enum a) => Integral a where
#

Integral numbers, supporting integer division.

The Haskell Report defines no laws for Integral. However, Integral instances are customarily expected to define a Euclidean domain and have the following properties for the div/mod and quot/rem pairs, given suitable Euclidean functions f and g:

  • x = y * quot x y + rem x y with rem x y = fromInteger 0 or g (rem x y) < g y

  • x = y * div x y + mod x y with mod x y = fromInteger 0 or f (mod x y) < f y

An example of a suitable Euclidean function, for Integer's instance, is abs.

In addition, toInteger should be total, and fromInteger should be a left inverse for it, i.e. fromInteger (toInteger i) = i.

Methods

  • quot :: a -> a -> ainfixl 7

    Integer division truncated toward zero.

    WARNING: This function is partial (because it throws when 0 is passed as the divisor) for all the integer types in base.

  • rem :: a -> a -> ainfixl 7

    Integer remainder, satisfying

    (x `quot` y)*y + (x `rem` y) == x

    WARNING: This function is partial (because it throws when 0 is passed as the divisor) for all the integer types in base.

  • div :: a -> a -> ainfixl 7

    Integer division truncated toward negative infinity.

    WARNING: This function is partial (because it throws when 0 is passed as the divisor) for all the integer types in base.

  • mod :: a -> a -> ainfixl 7

    Integer modulus, satisfying

    (x `div` y)*y + (x `mod` y) == x

    WARNING: This function is partial (because it throws when 0 is passed as the divisor) for all the integer types in base.

  • quotRem :: a -> a -> (a, a)

    Simultaneous quot and rem.

    WARNING: This function is partial (because it throws when 0 is passed as the divisor) for all the integer types in base.

  • divMod :: a -> a -> (a, a)

    simultaneous div and mod.

    WARNING: This function is partial (because it throws when 0 is passed as the divisor) for all the integer types in base.

  • toInteger :: a -> Integer

    Conversion to Integer.

Instances95:=>, Class, Integral, …
datadata Ratio a
#

Rational numbers, with numerator and denominator of some Integral type.

Note that Ratio's instances inherit the deficiencies from the type parameter's. For example, Ratio Natural's Num instance has similar problems to Numeric.Natural.Natural's.

Instances35NFData1, Lifting, Lift, Enum, Eq, Fractional, …
typetype Rational = Ratio Integer
#

Arbitrary-precision rational numbers, represented as a ratio of two Integer values. A rational number may be constructed using the % operator.

Instances4Additive, Multiplicative, Fractional, Divisible
classclass (Num a, Ord a) => Real a where
#

Real numbers.

The Haskell report defines no laws for Real, however Real instances are customarily expected to adhere to the following law:

Coherence with fromRational

if the type also implements

Fractional

, then

fromRational

is a left inverse for

toRational

, i.e.

fromRational (toRational i) = i

The law does not hold for Float, Double, CFloat, CDouble, etc., because these types contain non-finite values, which cannot be roundtripped through Rational.

Methods

Instances119:=>, Class, Real, …
  • Real NumberDefined in attoparsec-0.14.4 · Data.Attoparsec.Number
  • Real TimeSpecDefined in clock-0.8.4 · System.Clock
  • Real SecondsDefined in clock-0.8.4 · System.Clock.Seconds
  • Real PrivateNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Real PublicNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Real PrivateNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Real PublicNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Real IntegerDefined in ghc-internal-10.0.0 · GHC.Internal.Real
  • Real NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Real
  • Real CBoolDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CClockDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CDoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CFloatDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CLLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CPtrdiffDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CSCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CSUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CSigAtomicDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CSizeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CTimeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CUCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CUIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CUIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CUIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CULLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CULongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CUShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real CWcharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Real IntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Real WordPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Real HalfWordDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.InfoTable.Types
  • Real Int16Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Real Int32Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Real Int64Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Real Int8Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Real ByteOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Constants
  • Real WordOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Constants
  • Real ByteOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.ConstantsProf
  • Real WordOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.ConstantsProf
  • Real CBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CBlkSizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CCcDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CClockIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CDevDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CFsBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CFsFilCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CGidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CInoDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CKeyDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CModeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CNfdsDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CNlinkDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real COffDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CPidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CRLimDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CSocklenDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CSpeedDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CSsizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CTcflagDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real CUidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real FdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Real DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan
  • Real FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan
  • Real IntDefined in ghc-internal-10.0.0 · GHC.Internal.Real
  • Real WordDefined in ghc-internal-10.0.0 · GHC.Internal.Real
  • Real Word16Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Real Word32Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Real Word64Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Real Word8Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Real HalfDefined in half-0.3.3 · Numeric.Half.Internal
  • Real PortNumberDefined in network-3.2.9.0 · Network.Socket.Types
  • Real CardinalityDefined in random-1.3.1 · System.Random.GFinite

    This is needed only as a superclass of Integral.

  • Real ScientificDefined in scientific-0.3.9.0 · Data.Scientific

    WARNING: toRational needs to compute the Integer magnitude: 10^e. If applied to a huge exponent this could fill up all space and crash your program!

    Avoid applying toRational (or realToFrac) to scientific numbers coming from an untrusted source and use toRealFloat instead. The latter guards against excessive space usage.

  • Real I8Defined in text-2.1.4 · Data.Text.Foreign
  • Real DiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.DiffTime
  • Real NominalDiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.NominalDiffTime
  • Real ElapsedPDefined in time-hourglass-0.3.0 · Time.Types
  • Real HoursDefined in time-hourglass-0.3.0 · Time.Types
  • Real MinutesDefined in time-hourglass-0.3.0 · Time.Types
  • Real SecondsDefined in time-hourglass-0.3.0 · Time.Types
  • Real CipherIdDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Real StatxFlagsDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Real StatxMaskDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Real BaudRateDefined in unix-2.8.8.0 · System.Posix.Terminal.Common
  • Real UnixDiffTimeDefined in unix-time-0.5.0 · Data.UnixTime.Diff · orphan
  • () :=> Real IntegerDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Real NaturalDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Real DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Real FloatDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Real IntDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Real WordDefined in constraints-0.14.4 · Data.Constraint
  • Integral a => Real (Ratio a)Defined in ghc-internal-10.0.0 · GHC.Internal.Real
  • Real (ElapsedSinceP e)Defined in time-hourglass-0.3.0 · Time.Epoch
  • Real a => Real (Blind a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Real a => Real (Fixed a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Real a => Real (Large a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Real a => Real (NoShrink a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Real a => Real (Shrink2 a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Real a => Real (Small a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Real a => Real (Identity a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Identity
  • Real a => Real (Down a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Ord
  • Integral a :=> Real (Ratio a)Defined in constraints-0.14.4 · Data.Constraint
  • Real a :=> Real (Const a b)Defined in constraints-0.14.4 · Data.Constraint
  • Real a :=> Real (Identity a)Defined in constraints-0.14.4 · Data.Constraint
  • HasResolution a => Real (Fixed a)Defined in base-4.23.0.0 · Data.Fixed
  • Class (Num a, Ord a) (Real a)Defined in constraints-0.14.4 · Data.Constraint
  • Class (Real a, Enum a) (Integral a)Defined in constraints-0.14.4 · Data.Constraint
  • Class (Real a, Fractional a) (RealFrac a)Defined in constraints-0.14.4 · Data.Constraint
  • Real a => Real (Const a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Const
  • Real a => Real (Tagged s a)Defined in tagged-0.8.11 · Data.Tagged
  • Real (f (g a)) => Real (Compose f g a)Defined in base-4.23.0.0 · Data.Functor.Compose
classclass (Real a, Fractional a) => RealFrac a where
#

Extracting components of fractions.

Methods

Instances24:=>, Class, RealFrac, …
  • RealFrac NumberDefined in attoparsec-0.14.4 · Data.Attoparsec.Number
  • RealFrac SecondsDefined in clock-0.8.4 · System.Clock.Seconds
  • RealFrac CDoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • RealFrac CFloatDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • RealFrac DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    Beware that results for non-finite arguments are garbage:

    Example2 expressions
    [ f x | f <- [round, floor, ceiling], x <- [-1/0, 0/0, 1/0] ] :: [Int][0,0,0,0,0,0,0,0,0]map properFraction [-1/0, 0/0, 1/0] :: [(Int, Double)][(0,0.0),(0,0.0),(0,0.0)]

    and get even more non-sensical if you ask for Integer instead of Int.

  • RealFrac FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    Beware that results for non-finite arguments are garbage:

    Example2 expressions
    [ f x | f <- [round, floor, ceiling], x <- [-1/0, 0/0, 1/0 :: Float] ] :: [Int][0,0,0,0,0,0,0,0,0]map properFraction [-1/0, 0/0, 1/0] :: [(Int, Float)][(0,0.0),(0,0.0),(0,0.0)]

    and get even more non-sensical if you ask for Integer instead of Int.

  • RealFrac HalfDefined in half-0.3.3 · Numeric.Half.Internal
  • RealFrac ScientificDefined in scientific-0.3.9.0 · Data.Scientific

    WARNING: the methods of the RealFrac instance need to compute the magnitude 10^e. If applied to a huge exponent this could take a long time. Even worse, when the destination type is unbounded (i.e. Integer) it could fill up all space and crash your program!

  • RealFrac DiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.DiffTime
  • RealFrac NominalDiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.NominalDiffTime
  • () :=> RealFrac DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> RealFrac FloatDefined in constraints-0.14.4 · Data.Constraint
  • Integral a => RealFrac (Ratio a)Defined in ghc-internal-10.0.0 · GHC.Internal.Real
  • RealFrac a => RealFrac (Identity a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Identity
  • RealFrac a => RealFrac (Down a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Ord
  • Integral a :=> RealFrac (Ratio a)Defined in constraints-0.14.4 · Data.Constraint
  • RealFrac a :=> RealFrac (Const a b)Defined in constraints-0.14.4 · Data.Constraint
  • RealFrac a :=> RealFrac (Identity a)Defined in constraints-0.14.4 · Data.Constraint
  • HasResolution a => RealFrac (Fixed a)Defined in base-4.23.0.0 · Data.Fixed
  • Class (Real a, Fractional a) (RealFrac a)Defined in constraints-0.14.4 · Data.Constraint
  • Class (RealFrac a, Floating a) (RealFloat a)Defined in constraints-0.14.4 · Data.Constraint
  • RealFrac a => RealFrac (Const a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Const
  • RealFrac a => RealFrac (Tagged s a)Defined in tagged-0.8.11 · Data.Tagged
  • RealFrac (f (g a)) => RealFrac (Compose f g a)Defined in base-4.23.0.0 · Data.Functor.Compose
newtypenewtype STM a
#

A monad supporting atomic memory transactions.

Instances26Monad, Functor, MonadFix, Applicative, Alternative, MonadPlus, …
datadata TVar a
#

Shared memory locations that support atomic memory transactions.

Instances5Eq, Data, HasGetter, HasSetter, HasUpdate
  • Eq (TVar a)Defined in ghc-internal-10.0.0 · GHC.Internal.STM
  • Typeable a => Data (TVar a)Defined in syb-0.7.4 · Data.Generics.Instances · orphan
  • HasGetter (TVar a) aDefined in StateVar-1.2.2 · Data.StateVar
  • HasSetter (TVar a) aDefined in StateVar-1.2.2 · Data.StateVar
  • HasUpdate (TVar a) a aDefined in StateVar-1.2.2 · Data.StateVar
classclass Show a where
#

Conversion of values to readable Strings.

Derived instances of Show have the following properties, which are compatible with derived instances of Text.Read.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)".

Instances1794Lifting2, Lifting, Class, :=>, Show, …
  • Show CountsDefined in HUnit-1.6.2.0 · Test.HUnit.Base
  • Show NodeDefined in HUnit-1.6.2.0 · Test.HUnit.Base
  • Show StateDefined in HUnit-1.6.2.0 · Test.HUnit.Base
  • Show TestDefined in HUnit-1.6.2.0 · Test.HUnit.Base
  • Show FailureReasonDefined in HUnit-1.6.2.0 · Test.HUnit.Lang
  • Show HUnitFailureDefined in HUnit-1.6.2.0 · Test.HUnit.Lang
  • Show ResultDefined in HUnit-1.6.2.0 · Test.HUnit.Lang
  • Show ASCIIStringDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show PrintableStringDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show UnicodeStringDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show ADefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Show BDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Show CDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Show OrdADefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Show OrdBDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Show OrdCDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Poly
  • Show WitnessDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Property
  • Show QCGenDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Random
  • Show ConfidenceDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.State
  • Show TestProgressDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.State
  • Show ArgsDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Test
  • Show ResultDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Test
  • Show CellDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Text
  • Show StrDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Text
  • Show LitDefined in aeson-2.2.5.1 · Data.Aeson.Decoding.Tokens
  • Show NumberDefined in aeson-2.2.5.1 · Data.Aeson.Decoding.Tokens
  • Show KeyDefined in aeson-2.2.5.1 · Data.Aeson.Key
  • Show AesonExceptionDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Show DotNetTimeDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Show JSONPathElementDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Show OptionsDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Show SumEncodingDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Show ValueDefined in aeson-2.2.5.1 · Data.Aeson.Types.Internal

    Since version 1.5.6.0 version object values are printed in lexicographic key order

    Example1 expression
    toJSON $ H.fromList [("a", True), ("z", False)]Object (fromList [("a",Bool True),("z",Bool False)])
    Example1 expression
    toJSON $ H.fromList [("z", False), ("a", True)]Object (fromList [("a",Bool True),("z",Bool False)])
  • Show AdjacencyIntMapDefined in algebraic-graphs-0.8 · Algebra.Graph.AdjacencyIntMap
  • Show PartDefined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap.Algorithm
  • Show AlphabetDefined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.Example.Automaton
  • Show StateDefined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.Example.Automaton
  • Show CityDefined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.Example.Network
  • Show BlinkSpeedDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Show ColorDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Show ColorIntensityDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Show ConsoleIntensityDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Show ConsoleLayerDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Show SGRDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Show UnderliningDefined in ansi-terminal-types-1.1.3 · System.Console.ANSI.Types
  • Show AsyncCancelledDefined in async-2.2.6 · Control.Concurrent.Async.Internal
  • Show ExceptionInLinkedThreadDefined in async-2.2.6 · Control.Concurrent.Async.Internal
  • Show WardenExceptionDefined in async-2.2.6 · Control.Concurrent.Async.Warden
  • Show MoreDefined in attoparsec-0.14.4 · Data.Attoparsec.Internal.Types
  • Show PosDefined in attoparsec-0.14.4 · Data.Attoparsec.Internal.Types
  • Show NumberDefined in attoparsec-0.14.4 · Data.Attoparsec.Number
  • Show ByteArrayDefined in base-4.23.0.0 · Data.Array.Byte
  • Show CCFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show ConcFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show DebugFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show DoCostCentresDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show DoHeapProfileDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show DoTraceDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show GCFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show GiveGCStatsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show HpcFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show IoManagerFlagDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show MiscFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show ParFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show ProfFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show RTSFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show TickyFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show TraceFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Show GCDetailsDefined in base-4.23.0.0 · GHC.Stats
  • Show RTSStatsDefined in base-4.23.0.0 · GHC.Stats
  • Show TimeoutDefined in base-4.23.0.0 · System.Timeout
  • Show EndiannessDefined in basement-0.0.16 · Basement.Endianness
  • Show InvalidRecastDefined in basement-0.0.16 · Basement.Exception
  • Show NonEmptyCollectionIsEmptyDefined in basement-0.0.16 · Basement.Exception
  • Show OutOfBoundDefined in basement-0.0.16 · Basement.Exception
  • Show OutOfBoundOperationDefined in basement-0.0.16 · Basement.Exception
  • Show RecastDestinationSizeDefined in basement-0.0.16 · Basement.Exception
  • Show RecastSourceSizeDefined in basement-0.0.16 · Basement.Exception
  • Show EncodingDefined in basement-0.0.16 · Basement.String
  • Show ASCII7_InvalidDefined in basement-0.0.16 · Basement.String.Encoding.ASCII7
  • Show ISO_8859_1_InvalidDefined in basement-0.0.16 · Basement.String.Encoding.ISO_8859_1
  • Show UTF16_InvalidDefined in basement-0.0.16 · Basement.String.Encoding.UTF16
  • Show UTF32_InvalidDefined in basement-0.0.16 · Basement.String.Encoding.UTF32
  • Show AsciiStringDefined in basement-0.0.16 · Basement.Types.AsciiString
  • Show Char7Defined in basement-0.0.16 · Basement.Types.Char7
  • Show FileSizeDefined in basement-0.0.16 · Basement.Types.OffsetSize
  • Show Word128Defined in basement-0.0.16 · Basement.Types.Word128
  • Show Word256Defined in basement-0.0.16 · Basement.Types.Word256
  • Show StringDefined in basement-0.0.16 · Basement.UTF8.Base
  • Show ValidationFailureDefined in basement-0.0.16 · Basement.UTF8.Types
  • Show OptionsDefined in bifunctors-5.6.3 · Data.Bifunctor.TH
  • Show ByteOrderDefined in byteorder-1.0.4 · System.ByteOrder
  • Show BuilderDefined in bytestring-0.12.2.0 · Data.ByteString.Builder · orphan
  • Show FormatModeDefined in bytestring-0.12.2.0 · Data.ByteString.Builder.RealFloat
  • Show FloatingDecimalDefined in bytestring-0.12.2.0 · Data.ByteString.Builder.RealFloat.D2S
  • Show FloatingDecimalDefined in bytestring-0.12.2.0 · Data.ByteString.Builder.RealFloat.F2S
  • Show ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Internal.Type
  • Show SizeOverflowExceptionDefined in bytestring-0.12.2.0 · Data.ByteString.Internal.Type
  • Show ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Lazy.Internal
  • Show ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • Show ByteArrayDefined in cborg-0.2.10.0 · Codec.CBOR.ByteArray
  • Show SlicedByteArrayDefined in cborg-0.2.10.0 · Codec.CBOR.ByteArray.Sliced
  • Show TokenTypeDefined in cborg-0.2.10.0 · Codec.CBOR.Decoding
  • Show EncodingDefined in cborg-0.2.10.0 · Codec.CBOR.Encoding
  • Show TokensDefined in cborg-0.2.10.0 · Codec.CBOR.Encoding
  • Show LocDefined in cborg-0.2.10.0 · Codec.CBOR.FlatTerm
  • Show TermTokenDefined in cborg-0.2.10.0 · Codec.CBOR.FlatTerm
  • Show DeserialiseFailureDefined in cborg-0.2.10.0 · Codec.CBOR.Read
  • Show TermDefined in cborg-0.2.10.0 · Codec.CBOR.Term
  • Show ClockDefined in clock-0.8.4 · System.Clock
  • Show TimeSpecDefined in clock-0.8.4 · System.Clock
  • Show SecondsDefined in clock-0.8.4 · System.Clock.Seconds
  • Show RGBGamutDefined in colour-2.3.7 · Data.Colour.RGB
  • Show StateDefined in concurrency-1.11.0.3 · Control.Concurrent.Classy.RWLock
  • Show UnsatisfiedConstraintDefined in constraints-0.14.4 · Data.Constraint.Deferrable
  • Show IntSetDefined in containers-0.8 · Data.IntSet.Internal
  • Show IntersectionDefined in containers-0.8 · Data.IntSet.Internal
  • Show BitQueueDefined in containers-0.8 · Utils.Containers.Internal.BitQueue
  • Show BitQueueBDefined in containers-0.8 · Utils.Containers.Internal.BitQueue
  • Show SameSiteOptionDefined in cookie-0.5.1 · Web.Cookie
  • Show SetCookieDefined in cookie-0.5.1 · Web.Cookie
  • Show NonceDefined in crypton-2.1.7 · Crypto.Cipher.AESGCMSIV
  • Show DirectionDefined in crypton-2.1.7 · Crypto.Cipher.DES.Primitive
  • Show ColumnDefined in crypton-2.1.7 · Crypto.Cipher.Twofish.Primitive
  • Show AEADModeDefined in crypton-2.1.7 · Crypto.Cipher.Types.Base
  • Show AuthTagDefined in crypton-2.1.7 · Crypto.Cipher.Types.Base
  • Show CCM_LDefined in crypton-2.1.7 · Crypto.Cipher.Types.Base
  • Show CCM_MDefined in crypton-2.1.7 · Crypto.Cipher.Types.Base
  • Show KeySizeSpecifierDefined in crypton-2.1.7 · Crypto.Cipher.Types.Base
  • Show FormatDefined in crypton-2.1.7 · Crypto.Data.Padding
  • Show Curve_Edwards25519Defined in crypton-2.1.7 · Crypto.ECC
  • Show Curve_P256R1Defined in crypton-2.1.7 · Crypto.ECC
  • Show Curve_P384R1Defined in crypton-2.1.7 · Crypto.ECC
  • Show Curve_P521R1Defined in crypton-2.1.7 · Crypto.ECC
  • Show Curve_X25519Defined in crypton-2.1.7 · Crypto.ECC
  • Show Curve_X448Defined in crypton-2.1.7 · Crypto.ECC
  • Show PointDefined in crypton-2.1.7 · Crypto.ECC.Edwards25519
  • Show ScalarDefined in crypton-2.1.7 · Crypto.ECC.Edwards25519
  • Show CurveBinaryParamDefined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show CurvePrimeParamDefined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show CurveTypeDefined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p112r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p112r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p128r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p128r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p160k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p160r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p160r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p192k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p192r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p224k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p224r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p256k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p256r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p384r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_p521r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t113r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t113r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t131r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t131r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t163k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t163r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t163r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t193r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t193r2Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t233k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t233r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t239k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t283k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t283r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t409k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t409r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t571k1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show SEC_t571r1Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show CryptoErrorDefined in crypton-2.1.7 · Crypto.Error.Types
  • Show Blake2b_160Defined in crypton-2.1.7 · Crypto.Hash.Blake2b
  • Show Blake2b_224Defined in crypton-2.1.7 · Crypto.Hash.Blake2b
  • Show Blake2b_256Defined in crypton-2.1.7 · Crypto.Hash.Blake2b
  • Show Blake2b_384Defined in crypton-2.1.7 · Crypto.Hash.Blake2b
  • Show Blake2b_512Defined in crypton-2.1.7 · Crypto.Hash.Blake2b
  • Show Blake2bp_512Defined in crypton-2.1.7 · Crypto.Hash.Blake2bp
  • Show Blake2s_160Defined in crypton-2.1.7 · Crypto.Hash.Blake2s
  • Show Blake2s_224Defined in crypton-2.1.7 · Crypto.Hash.Blake2s
  • Show Blake2s_256Defined in crypton-2.1.7 · Crypto.Hash.Blake2s
  • Show Blake2sp_224Defined in crypton-2.1.7 · Crypto.Hash.Blake2sp
  • Show Blake2sp_256Defined in crypton-2.1.7 · Crypto.Hash.Blake2sp
  • Show Keccak_224Defined in crypton-2.1.7 · Crypto.Hash.Keccak
  • Show Keccak_256Defined in crypton-2.1.7 · Crypto.Hash.Keccak
  • Show Keccak_384Defined in crypton-2.1.7 · Crypto.Hash.Keccak
  • Show Keccak_512Defined in crypton-2.1.7 · Crypto.Hash.Keccak
  • Show MD2Defined in crypton-2.1.7 · Crypto.Hash.MD2
  • Show MD4Defined in crypton-2.1.7 · Crypto.Hash.MD4
  • Show MD5Defined in crypton-2.1.7 · Crypto.Hash.MD5
  • Show RIPEMD160Defined in crypton-2.1.7 · Crypto.Hash.RIPEMD160
  • Show SHA1Defined in crypton-2.1.7 · Crypto.Hash.SHA1
  • Show SHA224Defined in crypton-2.1.7 · Crypto.Hash.SHA224
  • Show SHA256Defined in crypton-2.1.7 · Crypto.Hash.SHA256
  • Show SHA3_224Defined in crypton-2.1.7 · Crypto.Hash.SHA3
  • Show SHA3_256Defined in crypton-2.1.7 · Crypto.Hash.SHA3
  • Show SHA3_384Defined in crypton-2.1.7 · Crypto.Hash.SHA3
  • Show SHA3_512Defined in crypton-2.1.7 · Crypto.Hash.SHA3
  • Show SHA384Defined in crypton-2.1.7 · Crypto.Hash.SHA384
  • Show SHA512Defined in crypton-2.1.7 · Crypto.Hash.SHA512
  • Show SHA512t_224Defined in crypton-2.1.7 · Crypto.Hash.SHA512t
  • Show SHA512t_256Defined in crypton-2.1.7 · Crypto.Hash.SHA512t
  • Show Skein256_224Defined in crypton-2.1.7 · Crypto.Hash.Skein256
  • Show Skein256_256Defined in crypton-2.1.7 · Crypto.Hash.Skein256
  • Show Skein512_224Defined in crypton-2.1.7 · Crypto.Hash.Skein512
  • Show Skein512_256Defined in crypton-2.1.7 · Crypto.Hash.Skein512
  • Show Skein512_384Defined in crypton-2.1.7 · Crypto.Hash.Skein512
  • Show Skein512_512Defined in crypton-2.1.7 · Crypto.Hash.Skein512
  • Show TigerDefined in crypton-2.1.7 · Crypto.Hash.Tiger
  • Show WhirlpoolDefined in crypton-2.1.7 · Crypto.Hash.Whirlpool
  • Show CurveFieldDefined in crypton-2.1.7 · Crypto.Internal.ECC
  • Show MulResultDefined in crypton-2.1.7 · Crypto.Internal.ECC
  • Show OptionsDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Show VariantDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Show VersionDefined in crypton-2.1.7 · Crypto.KDF.Argon2
  • Show ParametersDefined in crypton-2.1.7 · Crypto.KDF.BCryptPBKDF
  • Show GenTopPolicyDefined in crypton-2.1.7 · Crypto.Number.Generate
  • Show CoprimesAssertionErrorDefined in crypton-2.1.7 · Crypto.Number.ModArithmetic
  • Show ModulusAssertionErrorDefined in crypton-2.1.7 · Crypto.Number.ModArithmetic
  • Show ClockSkewDefined in crypton-2.1.7 · Crypto.OTP
  • Show OTPDigitsDefined in crypton-2.1.7 · Crypto.OTP
  • Show DhSecretDefined in crypton-2.1.7 · Crypto.PubKey.Curve25519
  • Show PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Curve25519
  • Show SecretKeyDefined in crypton-2.1.7 · Crypto.PubKey.Curve25519
  • Show DhSecretDefined in crypton-2.1.7 · Crypto.PubKey.Curve448
  • Show PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Curve448
  • Show SecretKeyDefined in crypton-2.1.7 · Crypto.PubKey.Curve448
  • Show ParamsDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Show PrivateNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH

    The number is not shown. Use debugShow to see it.

  • Show PublicNumberDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Show SharedKeyDefined in crypton-2.1.7 · Crypto.PubKey.DH
  • Show KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Show ParamsDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Show PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.DSA

    The parameters are shown; private_x is not. Use debugShow to see it.

  • Show PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Show SignatureDefined in crypton-2.1.7 · Crypto.PubKey.DSA
  • Show ExtendedSignatureDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Show KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Show PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA

    The curve is shown; private_d is not. Use debugShow to see it.

  • Show PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Show SignatureDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
  • Show PointDefined in crypton-2.1.7 · Crypto.PubKey.ECC.P256
  • Show ScalarDefined in crypton-2.1.7 · Crypto.PubKey.ECC.P256
  • Show CurveDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Show CurveBinaryDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Show CurveCommonDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Show CurveNameDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Show CurvePrimeDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Show PointDefined in crypton-2.1.7 · Crypto.PubKey.ECC.Types
  • Show PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Ed25519
  • Show SecretKeyDefined in crypton-2.1.7 · Crypto.PubKey.Ed25519
  • Show SignatureDefined in crypton-2.1.7 · Crypto.PubKey.Ed25519
  • Show PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Ed448
  • Show SecretKeyDefined in crypton-2.1.7 · Crypto.PubKey.Ed448
  • Show SignatureDefined in crypton-2.1.7 · Crypto.PubKey.Ed448
  • Show SignatureDefined in crypton-2.1.7 · Crypto.PubKey.ElGamal
  • Show BlinderDefined in crypton-2.1.7 · Crypto.PubKey.RSA.Types
  • Show ErrorDefined in crypton-2.1.7 · Crypto.PubKey.RSA.Types
  • Show KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.RSA.Types
  • Show PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.RSA.Types

    The public part is shown; the secret fields are not. Use debugShow to see them.

  • Show PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.RSA.Types
  • Show PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Basic

    The public part is shown; the secret fields are not. Use debugShow to see them.

  • Show PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Basic
  • Show SignatureDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Basic
  • Show PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Modified

    The public part is shown; the secret fields are not. Use debugShow to see them.

  • Show PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Modified
  • Show PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.RW

    The public part is shown; the secret fields are not. Use debugShow to see them.

  • Show PublicKeyDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.RW
  • Show ErrorDefined in crypton-2.1.7 · Crypto.PubKey.Rabin.Types
  • Show ProcessorOptionDefined in crypton-2.1.7 · Crypto.System.CPU
  • Show ASN1ErrorDefined in crypton-asn1-encoding-0.10.0 · Data.ASN1.Error
  • Show BitArrayDefined in crypton-asn1-types-0.4.1 · Data.ASN1.BitArray
  • Show BitArrayOutOfBoundDefined in crypton-asn1-types-0.4.1 · Data.ASN1.BitArray
  • Show PrettyTypeDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Pretty
  • Show ASN1Defined in crypton-asn1-types-0.4.1 · Data.ASN1.Types
  • Show ASN1ConstructionTypeDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types
  • Show ASN1TimeTypeDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types
  • Show ASN1ClassDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.Lowlevel
  • Show ASN1EventDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.Lowlevel
  • Show ASN1HeaderDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.Lowlevel
  • Show ASN1LengthDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.Lowlevel
  • Show ASN1CharacterStringDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.String
  • Show ASN1StringEncodingDefined in crypton-asn1-types-0.4.1 · Data.ASN1.Types.String
  • Show HostCannotConnectDefined in crypton-connection-0.4.6 · Network.Connection
  • Show HostNotResolvedDefined in crypton-connection-0.4.6 · Network.Connection
  • Show LineTooLongDefined in crypton-connection-0.4.6 · Network.Connection
  • Show TLSSettingsDefined in crypton-connection-0.4.6 · Network.Connection.Types
  • Show PEMDefined in crypton-pem-0.3.0 · Data.PEM.Types
  • Show ConnectDefined in crypton-socks-0.6.2 · Network.Socks5.Command
  • Show SocksAddressDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Show SocksCommandDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Show SocksErrorDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Show SocksHostAddressDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Show SocksMethodDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Show SocksReplyDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Show SocksVersionDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Show SocksVersionNotSupportedDefined in crypton-socks-0.6.2 · Network.Socks5.Types
  • Show SocksHelloDefined in crypton-socks-0.6.2 · Network.Socks5.Wire
  • Show SocksHelloResponseDefined in crypton-socks-0.6.2 · Network.Socks5.Wire
  • Show SocksRequestDefined in crypton-socks-0.6.2 · Network.Socks5.Wire
  • Show SocksResponseDefined in crypton-socks-0.6.2 · Network.Socks5.Wire
  • Show HashALGDefined in crypton-x509-1.9.2 · Data.X509.AlgorithmIdentifier
  • Show PubKeyALGDefined in crypton-x509-1.9.2 · Data.X509.AlgorithmIdentifier
  • Show SignatureALGDefined in crypton-x509-1.9.2 · Data.X509.AlgorithmIdentifier
  • Show CRLDefined in crypton-x509-1.9.2 · Data.X509.CRL
  • Show RevokedCertificateDefined in crypton-x509-1.9.2 · Data.X509.CRL
  • Show CertKeyUsageDefined in crypton-x509-1.9.2 · Data.X509.Cert
  • Show CertificateDefined in crypton-x509-1.9.2 · Data.X509.Cert
  • Show CertificateChainDefined in crypton-x509-1.9.2 · Data.X509.CertificateChain
  • Show CertificateChainRawDefined in crypton-x509-1.9.2 · Data.X509.CertificateChain
  • Show DistinguishedNameDefined in crypton-x509-1.9.2 · Data.X509.DistinguishedName
  • Show DistinguishedNameInnerDefined in crypton-x509-1.9.2 · Data.X509.DistinguishedName
  • Show DnElementDefined in crypton-x509-1.9.2 · Data.X509.DistinguishedName
  • Show AltNameDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show DistributionPointDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show ExtAuthorityKeyIdDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show ExtBasicConstraintsDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show ExtCrlDistributionPointsDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show ExtExtendedKeyUsageDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show ExtKeyUsageDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show ExtKeyUsageFlagDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show ExtKeyUsagePurposeDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show ExtNameConstraintsDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show ExtNetscapeCommentDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show ExtSubjectAltNameDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show ExtSubjectKeyIdDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show GeneralSubtreeDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show ReasonFlagDefined in crypton-x509-1.9.2 · Data.X509.Ext
  • Show ExtensionRawDefined in crypton-x509-1.9.2 · Data.X509.ExtensionRaw
  • Show ExtensionsDefined in crypton-x509-1.9.2 · Data.X509.ExtensionRaw
  • Show PrivKeyDefined in crypton-x509-1.9.2 · Data.X509.PrivateKey
  • Show PrivKeyECDefined in crypton-x509-1.9.2 · Data.X509.PrivateKey

    The curve is shown; privkeyEC_priv is not. Use debugShow to see it.

  • Show PubKeyDefined in crypton-x509-1.9.2 · Data.X509.PublicKey
  • Show PubKeyECDefined in crypton-x509-1.9.2 · Data.X509.PublicKey
  • Show SerializedPointDefined in crypton-x509-1.9.2 · Data.X509.PublicKey
  • Show PEMErrorDefined in crypton-x509-store-1.9.0 · Data.X509.File
  • Show FailedReasonDefined in crypton-x509-validation-1.9.1 · Data.X509.Validation
  • Show ValidationChecksDefined in crypton-x509-validation-1.9.1 · Data.X509.Validation
  • Show ValidationCacheResultDefined in crypton-x509-validation-1.9.1 · Data.X509.Validation.Cache
  • Show FingerprintDefined in crypton-x509-validation-1.9.1 · Data.X509.Validation.Fingerprint
  • Show SignatureFailureDefined in crypton-x509-validation-1.9.1 · Data.X509.Validation.Signature
  • Show SignatureVerificationDefined in crypton-x509-validation-1.9.1 · Data.X509.Validation.Signature
  • Show NonceDefined in cryptonite-0.30 · Crypto.Cipher.AESGCMSIV
  • Show ColumnDefined in cryptonite-0.30 · Crypto.Cipher.Twofish.Primitive
  • Show AEADModeDefined in cryptonite-0.30 · Crypto.Cipher.Types.Base
  • Show AuthTagDefined in cryptonite-0.30 · Crypto.Cipher.Types.Base
  • Show CCM_LDefined in cryptonite-0.30 · Crypto.Cipher.Types.Base
  • Show CCM_MDefined in cryptonite-0.30 · Crypto.Cipher.Types.Base
  • Show KeySizeSpecifierDefined in cryptonite-0.30 · Crypto.Cipher.Types.Base
  • Show FormatDefined in cryptonite-0.30 · Crypto.Data.Padding
  • Show Curve_Edwards25519Defined in cryptonite-0.30 · Crypto.ECC
  • Show Curve_P256R1Defined in cryptonite-0.30 · Crypto.ECC
  • Show Curve_P384R1Defined in cryptonite-0.30 · Crypto.ECC
  • Show Curve_P521R1Defined in cryptonite-0.30 · Crypto.ECC
  • Show Curve_X25519Defined in cryptonite-0.30 · Crypto.ECC
  • Show Curve_X448Defined in cryptonite-0.30 · Crypto.ECC
  • Show PointDefined in cryptonite-0.30 · Crypto.ECC.Edwards25519
  • Show ScalarDefined in cryptonite-0.30 · Crypto.ECC.Edwards25519
  • Show CurveBinaryParamDefined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show CurvePrimeParamDefined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show CurveTypeDefined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p112r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p112r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p128r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p128r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p160k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p160r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p160r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p192k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p192r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p224k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p224r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p256k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p256r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p384r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_p521r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t113r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t113r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t131r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t131r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t163k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t163r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t163r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t193r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t193r2Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t233k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t233r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t239k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t283k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t283r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t409k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t409r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t571k1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show SEC_t571r1Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show CryptoErrorDefined in cryptonite-0.30 · Crypto.Error.Types
  • Show Blake2b_160Defined in cryptonite-0.30 · Crypto.Hash.Blake2b
  • Show Blake2b_224Defined in cryptonite-0.30 · Crypto.Hash.Blake2b
  • Show Blake2b_256Defined in cryptonite-0.30 · Crypto.Hash.Blake2b
  • Show Blake2b_384Defined in cryptonite-0.30 · Crypto.Hash.Blake2b
  • Show Blake2b_512Defined in cryptonite-0.30 · Crypto.Hash.Blake2b
  • Show Blake2bp_512Defined in cryptonite-0.30 · Crypto.Hash.Blake2bp
  • Show Blake2s_160Defined in cryptonite-0.30 · Crypto.Hash.Blake2s
  • Show Blake2s_224Defined in cryptonite-0.30 · Crypto.Hash.Blake2s
  • Show Blake2s_256Defined in cryptonite-0.30 · Crypto.Hash.Blake2s
  • Show Blake2sp_224Defined in cryptonite-0.30 · Crypto.Hash.Blake2sp
  • Show Blake2sp_256Defined in cryptonite-0.30 · Crypto.Hash.Blake2sp
  • Show Keccak_224Defined in cryptonite-0.30 · Crypto.Hash.Keccak
  • Show Keccak_256Defined in cryptonite-0.30 · Crypto.Hash.Keccak
  • Show Keccak_384Defined in cryptonite-0.30 · Crypto.Hash.Keccak
  • Show Keccak_512Defined in cryptonite-0.30 · Crypto.Hash.Keccak
  • Show MD2Defined in cryptonite-0.30 · Crypto.Hash.MD2
  • Show MD4Defined in cryptonite-0.30 · Crypto.Hash.MD4
  • Show MD5Defined in cryptonite-0.30 · Crypto.Hash.MD5
  • Show RIPEMD160Defined in cryptonite-0.30 · Crypto.Hash.RIPEMD160
  • Show SHA1Defined in cryptonite-0.30 · Crypto.Hash.SHA1
  • Show SHA224Defined in cryptonite-0.30 · Crypto.Hash.SHA224
  • Show SHA256Defined in cryptonite-0.30 · Crypto.Hash.SHA256
  • Show SHA3_224Defined in cryptonite-0.30 · Crypto.Hash.SHA3
  • Show SHA3_256Defined in cryptonite-0.30 · Crypto.Hash.SHA3
  • Show SHA3_384Defined in cryptonite-0.30 · Crypto.Hash.SHA3
  • Show SHA3_512Defined in cryptonite-0.30 · Crypto.Hash.SHA3
  • Show SHA384Defined in cryptonite-0.30 · Crypto.Hash.SHA384
  • Show SHA512Defined in cryptonite-0.30 · Crypto.Hash.SHA512
  • Show SHA512t_224Defined in cryptonite-0.30 · Crypto.Hash.SHA512t
  • Show SHA512t_256Defined in cryptonite-0.30 · Crypto.Hash.SHA512t
  • Show Skein256_224Defined in cryptonite-0.30 · Crypto.Hash.Skein256
  • Show Skein256_256Defined in cryptonite-0.30 · Crypto.Hash.Skein256
  • Show Skein512_224Defined in cryptonite-0.30 · Crypto.Hash.Skein512
  • Show Skein512_256Defined in cryptonite-0.30 · Crypto.Hash.Skein512
  • Show Skein512_384Defined in cryptonite-0.30 · Crypto.Hash.Skein512
  • Show Skein512_512Defined in cryptonite-0.30 · Crypto.Hash.Skein512
  • Show TigerDefined in cryptonite-0.30 · Crypto.Hash.Tiger
  • Show WhirlpoolDefined in cryptonite-0.30 · Crypto.Hash.Whirlpool
  • Show OptionsDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Show VariantDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Show VersionDefined in cryptonite-0.30 · Crypto.KDF.Argon2
  • Show ParametersDefined in cryptonite-0.30 · Crypto.KDF.BCryptPBKDF
  • Show GenTopPolicyDefined in cryptonite-0.30 · Crypto.Number.Generate
  • Show CoprimesAssertionErrorDefined in cryptonite-0.30 · Crypto.Number.ModArithmetic
  • Show ModulusAssertionErrorDefined in cryptonite-0.30 · Crypto.Number.ModArithmetic
  • Show ClockSkewDefined in cryptonite-0.30 · Crypto.OTP
  • Show OTPDigitsDefined in cryptonite-0.30 · Crypto.OTP
  • Show DhSecretDefined in cryptonite-0.30 · Crypto.PubKey.Curve25519
  • Show PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Curve25519
  • Show SecretKeyDefined in cryptonite-0.30 · Crypto.PubKey.Curve25519
  • Show DhSecretDefined in cryptonite-0.30 · Crypto.PubKey.Curve448
  • Show PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Curve448
  • Show SecretKeyDefined in cryptonite-0.30 · Crypto.PubKey.Curve448
  • Show ParamsDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Show PrivateNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Show PublicNumberDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Show SharedKeyDefined in cryptonite-0.30 · Crypto.PubKey.DH
  • Show KeyPairDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Show ParamsDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Show PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Show PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Show SignatureDefined in cryptonite-0.30 · Crypto.PubKey.DSA
  • Show KeyPairDefined in cryptonite-0.30 · Crypto.PubKey.ECC.ECDSA
  • Show PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.ECC.ECDSA
  • Show PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.ECC.ECDSA
  • Show SignatureDefined in cryptonite-0.30 · Crypto.PubKey.ECC.ECDSA
  • Show PointDefined in cryptonite-0.30 · Crypto.PubKey.ECC.P256
  • Show ScalarDefined in cryptonite-0.30 · Crypto.PubKey.ECC.P256
  • Show CurveDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Show CurveBinaryDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Show CurveCommonDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Show CurveNameDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Show CurvePrimeDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Show PointDefined in cryptonite-0.30 · Crypto.PubKey.ECC.Types
  • Show PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Ed25519
  • Show SecretKeyDefined in cryptonite-0.30 · Crypto.PubKey.Ed25519
  • Show SignatureDefined in cryptonite-0.30 · Crypto.PubKey.Ed25519
  • Show PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Ed448
  • Show SecretKeyDefined in cryptonite-0.30 · Crypto.PubKey.Ed448
  • Show SignatureDefined in cryptonite-0.30 · Crypto.PubKey.Ed448
  • Show BlinderDefined in cryptonite-0.30 · Crypto.PubKey.RSA.Types
  • Show ErrorDefined in cryptonite-0.30 · Crypto.PubKey.RSA.Types
  • Show KeyPairDefined in cryptonite-0.30 · Crypto.PubKey.RSA.Types
  • Show PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.RSA.Types
  • Show PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.RSA.Types
  • Show PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Basic
  • Show PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Basic
  • Show SignatureDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Basic
  • Show PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Modified
  • Show PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Modified
  • Show PrivateKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.RW
  • Show PublicKeyDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.RW
  • Show ErrorDefined in cryptonite-0.30 · Crypto.PubKey.Rabin.Types
  • Show ProcessorOptionDefined in cryptonite-0.30 · Crypto.System.CPU
  • Show EnumFunDefined in deriving-compat-0.6.8 · Data.Enum.Deriving.Internal
  • Show FFTOptionsDefined in deriving-compat-0.6.8 · Data.Functor.Deriving.Internal
  • Show FunctorFunDefined in deriving-compat-0.6.8 · Data.Functor.Deriving.Internal
  • Show IxFunDefined in deriving-compat-0.6.8 · Data.Ix.Deriving.Internal
  • Show ReadOptionsDefined in deriving-compat-0.6.8 · Text.Read.Deriving.Internal
  • Show ShowOptionsDefined in deriving-compat-0.6.8 · Text.Show.Deriving.Internal
  • Show FileTypeDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Show PermissionsDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Show WhetherFollowDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Show XdgDirectoryDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Show XdgDirectoryListDefined in directory-1.3.11.0 · System.Directory.Internal.Common
  • Show ECHConfigDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Show ECHConfigContentsDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Show ECHConfigExtensionDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Show EncodedServerPublicKeyDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Show HpkeKeyConfigDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Show HpkeSymmetricCipherSuiteDefined in ech-config-0.0.1 · Network.TLS.ECH.Config
  • Show TimeoutDefined in extra-1.8.1 · System.Time.Extra
  • Show ArgDefined in free-5.2 · Control.Monad.Free.TH
  • Show ForallVisFlagDefined in ghc-boot-th-10.0.0.20260917 · GHC.Boot.TH.Ppr
  • Show DocDefined in ghc-boot-th-10.0.0.20260917 · GHC.Boot.TH.PprLib
  • Show VoidDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show IntegerDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show ByteOrderDefined in ghc-internal-10.0.0 · GHC.Internal.ByteOrder
  • Show ClosureTypeDefined in ghc-internal-10.0.0 · GHC.Internal.ClosureTypes
  • Show BlockReasonDefined in ghc-internal-10.0.0 · GHC.Internal.Conc.Sync
  • Show ThreadIdDefined in ghc-internal-10.0.0 · GHC.Internal.Conc.Sync
  • Show ThreadStatusDefined in ghc-internal-10.0.0 · GHC.Internal.Conc.Sync
  • Show NestedAtomicallyDefined in ghc-internal-10.0.0 · GHC.Internal.Control.Exception.Base
  • Show NoMatchingContinuationPromptDefined in ghc-internal-10.0.0 · GHC.Internal.Control.Exception.Base
  • Show NoMethodErrorDefined in ghc-internal-10.0.0 · GHC.Internal.Control.Exception.Base
  • Show NonTerminationDefined in ghc-internal-10.0.0 · GHC.Internal.Control.Exception.Base
  • Show PatternMatchFailDefined in ghc-internal-10.0.0 · GHC.Internal.Control.Exception.Base
  • Show RecConErrorDefined in ghc-internal-10.0.0 · GHC.Internal.Control.Exception.Base
  • Show RecSelErrorDefined in ghc-internal-10.0.0 · GHC.Internal.Control.Exception.Base
  • Show RecUpdErrorDefined in ghc-internal-10.0.0 · GHC.Internal.Control.Exception.Base
  • Show TypeErrorDefined in ghc-internal-10.0.0 · GHC.Internal.Control.Exception.Base
  • Show ConstrDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Show ConstrRepDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Show DataRepDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Show DataTypeDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Show FixityDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Show DynamicDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Dynamic
  • Show AllDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Show AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Show SomeTypeRepDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Typeable.Internal
  • Show VersionDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Version
  • Show ControlMessageDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Control
  • Show EPollFdDefined in ghc-internal-10.0.0 · GHC.Internal.Event.EPoll
  • Show EventDefined in ghc-internal-10.0.0 · GHC.Internal.Event.EPoll
  • Show EventTypeDefined in ghc-internal-10.0.0 · GHC.Internal.Event.EPoll
  • Show EventDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Internal.Types
  • Show EventLifetimeDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Internal.Types
  • Show LifetimeDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Internal.Types
  • Show TimeoutDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Internal.Types
  • Show FdKeyDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Manager
  • Show StateDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Manager
  • Show EventDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Poll
  • Show PollFdDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Poll
  • Show StateDefined in ghc-internal-10.0.0 · GHC.Internal.Event.TimerManager
  • Show UniqueDefined in ghc-internal-10.0.0 · GHC.Internal.Event.Unique
  • Show ErrorCallDefined in ghc-internal-10.0.0 · GHC.Internal.Exception
  • Show ArithExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.Exception.Type
  • Show SomeExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.Exception.Type
  • Show WhileHandlingDefined in ghc-internal-10.0.0 · GHC.Internal.Exception.Type
  • Show FingerprintDefined in ghc-internal-10.0.0 · GHC.Internal.Fingerprint.Type
  • Show CBoolDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CClockDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CDoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CFloatDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CLLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CPtrdiffDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CSCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CSUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CSigAtomicDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CSizeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CTimeDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CUCharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CUIntDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CUIntMaxDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CUIntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CULLongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CULongDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CUSecondsDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CUShortDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show CWcharDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.Types
  • Show IntPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Show WordPtrDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Ptr
  • Show ForeignSrcLangDefined in ghc-internal-10.0.0 · GHC.Internal.ForeignSrcLang
  • Show AssociativityDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show DecidedStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show FixityDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show SourceStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show SourceUnpackednessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show BoxDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Show PrimTypeDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Show TsoFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Show WhatNextDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Show WhyBlockedDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Show HalfWordDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.InfoTable.Types
  • Show StgInfoTableDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.InfoTable.Types
  • Show CostCentreDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Show CostCentreStackDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Show IndexTableDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Show StgTSOProfInfoDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Show MaskingStateDefined in ghc-internal-10.0.0 · GHC.Internal.IO
  • Show SeekModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Device
  • Show CodingFailureModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Encoding.Failure
  • Show CodingProgressDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Encoding.Types
  • Show TextEncodingDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Encoding.Types
  • Show AllocationLimitExceededDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Show ArrayExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Show AssertionFailedDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Show AsyncExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Show BlockedIndefinitelyOnMVarDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Show BlockedIndefinitelyOnSTMDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Show CompactionFailedDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Show DeadlockDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Show ExitCodeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Show FixIOExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Show IOErrorTypeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Show IOExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Show SomeAsyncExceptionDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Exception
  • Show FDDefined in ghc-internal-10.0.0 · GHC.Internal.IO.FD
  • Show HandlePosnDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle
  • Show FileLockingNotSupportedDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Lock.Common
  • Show BufferModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Show HandleDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Show HandleTypeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Show NewlineDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Show NewlineModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.Handle.Types
  • Show IOModeDefined in ghc-internal-10.0.0 · GHC.Internal.IO.IOMode
  • Show IoSubSystemDefined in ghc-internal-10.0.0 · GHC.Internal.IO.SubSystem
  • Show InfoProvDefined in ghc-internal-10.0.0 · GHC.Internal.InfoProv.Types
  • Show Int16Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Show Int32Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Show Int64Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Show Int8Defined in ghc-internal-10.0.0 · GHC.Internal.Int
  • Show ExtensionDefined in ghc-internal-10.0.0 · GHC.Internal.LanguageExtensions
  • Show CCFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show ConcFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show DebugFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show DoCostCentresDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show DoHeapProfileDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show DoTraceDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show GCFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show GiveGCStatsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show HpcFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show IoManagerFlagDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show MiscFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show ParFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show ProfFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show RTSFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show TickyFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show TraceFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Show FractionalExponentBaseDefined in ghc-internal-10.0.0 · GHC.Internal.Real
  • Show ByteOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Constants
  • Show WordOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Constants
  • Show ByteOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.ConstantsProf
  • Show WordOffsetDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.ConstantsProf
  • Show PointernessDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Decode
  • Show StackEntryDefined in ghc-internal-10.0.0 · GHC.Internal.Stack.Decode
  • Show CallStackDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show SrcLocDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show StaticPtrInfoDefined in ghc-internal-10.0.0 · GHC.Internal.StaticPtr
  • Show GCDetailsDefined in ghc-internal-10.0.0 · GHC.Internal.Stats
  • Show RTSStatsDefined in ghc-internal-10.0.0 · GHC.Internal.Stats
  • Show CBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CBlkSizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CCcDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CClockIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CDevDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CFsBlkCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CFsFilCntDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CGidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CIdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CInoDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CKeyDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CModeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CNfdsDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CNlinkDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show COffDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CPidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CRLimDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CSocklenDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CSpeedDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CSsizeDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CTcflagDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CTimerDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show CUidDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show FdDefined in ghc-internal-10.0.0 · GHC.Internal.System.Posix.Types
  • Show AnnLookupDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show AnnTargetDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show BangDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show BndrVisDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show BodyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show BytesDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show CallconvDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show ClauseDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show ConDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show DecDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show DecidedStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show DerivClauseDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show DerivStrategyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show DocLocDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show ExpDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show FamilyResultSigDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show FixityDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show FixityDirectionDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show ForeignDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show FunDepDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show GuardDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show InfoDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show InjectivityAnnDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show InlineDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show LitDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show LocDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show MatchDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show ModNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show ModuleDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show ModuleInfoDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show NameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show NameFlavourDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show NameSpaceDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show NamespaceSpecifierDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show OccNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show OverlapDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show PatDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show PatSynArgsDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show PatSynDirDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show PhasesDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show PkgNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show PragmaDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show RangeDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show RoleDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show RuleBndrDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show RuleMatchDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show SafetyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show SourceStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show SourceUnpackednessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show SpecificityDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show StmtDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show TyLitDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show TySynEqnDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show TypeDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show TypeFamilyHeadDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show LexemeDefined in ghc-internal-10.0.0 · GHC.Internal.Text.Read.Lex
  • Show NumberDefined in ghc-internal-10.0.0 · GHC.Internal.Text.Read.Lex
  • Show SomeCharDefined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Show SomeSymbolDefined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Show SomeNatDefined in ghc-internal-10.0.0 · GHC.Internal.TypeNats
  • Show BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show CharDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan
  • Show FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan
  • Show IntDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show KindRepDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show LevityDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show ModuleDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show OrderingDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show RuntimeRepDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show TrNameDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show TyConDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show TypeLitSortDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show VecCountDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show VecElemDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show WordDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show GeneralCategoryDefined in ghc-internal-10.0.0 · GHC.Internal.Unicode
  • Show Word16Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Show Word32Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Show Word64Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Show Word8Defined in ghc-internal-10.0.0 · GHC.Internal.Word
  • Show HalfDefined in half-0.3.3 · Numeric.Half.Internal
  • Show MD5Defined in hashing-0.1.1.0 · Crypto.Hash.MD5
  • Show SHA1Defined in hashing-0.1.1.0 · Crypto.Hash.SHA1
  • Show SHA224Defined in hashing-0.1.1.0 · Crypto.Hash.SHA256
  • Show SHA256Defined in hashing-0.1.1.0 · Crypto.Hash.SHA256
  • Show SHA384Defined in hashing-0.1.1.0 · Crypto.Hash.SHA512
  • Show SHA512Defined in hashing-0.1.1.0 · Crypto.Hash.SHA512
  • Show WhirlpoolDefined in hashing-0.1.1.0 · Crypto.Hash.Whirlpool
  • Show PosDefined in haskell-lexer-1.2.1 · Language.Haskell.Lexer.Position
  • Show TokenDefined in haskell-lexer-1.2.1 · Language.Haskell.Lexer.Tokens
  • Show NAtomDefined in hnix-0.17.0 · Nix.Atoms
  • Show FileTypeDefined in hnix-0.17.0 · Nix.Builtins
  • Show NixPathEntryTypeDefined in hnix-0.17.0 · Nix.Builtins
  • Show VersionComponentDefined in hnix-0.17.0 · Nix.Builtins
  • Show StorePathDefined in hnix-0.17.0 · Nix.Effects
  • Show DerivationDefined in hnix-0.17.0 · Nix.Effects.Derivation
  • Show HashModeDefined in hnix-0.17.0 · Nix.Effects.Derivation
  • Show NBinaryOpDefined in hnix-0.17.0 · Nix.Expr.Types
  • Show NPosDefined in hnix-0.17.0 · Nix.Expr.Types
  • Show NSourcePosDefined in hnix-0.17.0 · Nix.Expr.Types
  • Show NUnaryOpDefined in hnix-0.17.0 · Nix.Expr.Types
  • Show RecursivityDefined in hnix-0.17.0 · Nix.Expr.Types
  • Show VarNameDefined in hnix-0.17.0 · Nix.Expr.Types
  • Show VariadicDefined in hnix-0.17.0 · Nix.Expr.Types
  • Show SrcSpanDefined in hnix-0.17.0 · Nix.Expr.Types.Annotated
  • Show NixExceptionDefined in hnix-0.17.0 · Nix.Frames
  • Show NixFrameDefined in hnix-0.17.0 · Nix.Frames
  • Show NixLevelDefined in hnix-0.17.0 · Nix.Frames
  • Show TAtomDefined in hnix-0.17.0 · Nix.Lint
  • Show OptionsDefined in hnix-0.17.0 · Nix.Options
  • Show VerbosityDefined in hnix-0.17.0 · Nix.Options
  • Show NAppOpDefined in hnix-0.17.0 · Nix.Parser
  • Show NAssocDefined in hnix-0.17.0 · Nix.Parser
  • Show NOpNameDefined in hnix-0.17.0 · Nix.Parser
  • Show NOpPrecedenceDefined in hnix-0.17.0 · Nix.Parser
  • Show NOperatorDefDefined in hnix-0.17.0 · Nix.Parser
  • Show NSpecialOpDefined in hnix-0.17.0 · Nix.Parser
  • Show ContextFlavorDefined in hnix-0.17.0 · Nix.String
  • Show NixLikeContextDefined in hnix-0.17.0 · Nix.String
  • Show NixLikeContextValueDefined in hnix-0.17.0 · Nix.String
  • Show NixStringDefined in hnix-0.17.0 · Nix.String
  • Show StringContextDefined in hnix-0.17.0 · Nix.String
  • Show ThunkLoopDefined in hnix-0.17.0 · Nix.Thunk
  • Show AssumptionDefined in hnix-0.17.0 · Nix.Type.Assumption
  • Show EnvDefined in hnix-0.17.0 · Nix.Type.Env
  • Show ConstraintDefined in hnix-0.17.0 · Nix.Type.Infer
  • Show InferErrorDefined in hnix-0.17.0 · Nix.Type.Infer
  • Show SubstDefined in hnix-0.17.0 · Nix.Type.Infer
  • Show TypeErrorDefined in hnix-0.17.0 · Nix.Type.Infer
  • Show SchemeDefined in hnix-0.17.0 · Nix.Type.Type
  • Show TVarDefined in hnix-0.17.0 · Nix.Type.Type
  • Show TypeDefined in hnix-0.17.0 · Nix.Type.Type
  • Show PathDefined in hnix-0.17.0 · Nix.Utils
  • Show TStringContextDefined in hnix-0.17.0 · Nix.Value
  • Show ValueTypeDefined in hnix-0.17.0 · Nix.Value
  • Show BaseEncodingDefined in hnix-store-core-0.8.0.0 · System.Nix.Base
  • Show BuildModeDefined in hnix-store-core-0.8.0.0 · System.Nix.Build
  • Show BuildResultDefined in hnix-store-core-0.8.0.0 · System.Nix.Build
  • Show BuildStatusDefined in hnix-store-core-0.8.0.0 · System.Nix.Build
  • Show ContentAddressDefined in hnix-store-core-0.8.0.0 · System.Nix.ContentAddress
  • Show ContentAddressMethodDefined in hnix-store-core-0.8.0.0 · System.Nix.ContentAddress
  • Show DerivedPathDefined in hnix-store-core-0.8.0.0 · System.Nix.DerivedPath
  • Show OutputsSpecDefined in hnix-store-core-0.8.0.0 · System.Nix.DerivedPath
  • Show ParseOutputsErrorDefined in hnix-store-core-0.8.0.0 · System.Nix.DerivedPath
  • Show OutputNameDefined in hnix-store-core-0.8.0.0 · System.Nix.OutputName
  • Show DerivationOutputErrorDefined in hnix-store-core-0.8.0.0 · System.Nix.Realisation
  • Show RealisationDefined in hnix-store-core-0.8.0.0 · System.Nix.Realisation
  • Show RealisationWithIdDefined in hnix-store-core-0.8.0.0 · System.Nix.Realisation
  • Show NarSignatureDefined in hnix-store-core-0.8.0.0 · System.Nix.Signature
  • Show SignatureDefined in hnix-store-core-0.8.0.0 · System.Nix.Signature
  • Show FileIngestionMethodDefined in hnix-store-core-0.8.0.0 · System.Nix.Store.Types
  • Show RepairModeDefined in hnix-store-core-0.8.0.0 · System.Nix.Store.Types
  • Show InvalidNameErrorDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Show InvalidPathErrorDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Show StoreDirDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Show StorePathDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Show StorePathHashPartDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Show StorePathNameDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath
  • Show StorePathTrustDefined in hnix-store-core-0.8.0.0 · System.Nix.StorePath.Metadata
  • Show IsExecutableDefined in hnix-store-nar-0.1.2.0 · System.Nix.Nar.Effects
  • Show LinkInfoDefined in hnix-store-nar-0.1.2.0 · System.Nix.Nar.Parser
  • Show MyGetErrorDefined in hnix-store-remote-0.7.0.0 · Data.Serializer.Example
  • Show MyPutErrorDefined in hnix-store-remote-0.7.0.0 · Data.Serializer.Example
  • Show OpCodeDefined in hnix-store-remote-0.7.0.0 · Data.Serializer.Example
  • Show RemoteStoreErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.MonadStore
  • Show WorkerErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.MonadStore
  • Show WorkerExceptionDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.MonadStore
  • Show HandshakeSErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Show LoggerSErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Show ReplySErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Show RequestSErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Show SErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Show ActivityDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Activity
  • Show ActivityIDDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Activity
  • Show ActivityResultDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Activity
  • Show CheckModeDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.CheckMode
  • Show GCActionDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.GC
  • Show GCOptionsDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.GC
  • Show GCResultDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.GC
  • Show GCRootDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.GC
  • Show ClientHandshakeInputDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Handshake
  • Show ClientHandshakeOutputDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Handshake
  • Show ServerHandshakeInputDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Handshake
  • Show ServerHandshakeOutputDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Handshake
  • Show BasicErrorDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Show ErrorInfoDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Show FieldDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Show LoggerDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Show LoggerOpCodeDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Show TraceDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Logger
  • Show NoReplyDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.NoReply
  • Show ProtoVersionDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.ProtoVersion
  • Show MissingDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Query.Missing
  • Show ProtoStoreConfigDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreConfig
  • Show StoreConnectionDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreConfig
  • Show StoreSocketPathDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreConfig
  • Show StoreTCPDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreConfig
  • Show StoreTextDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreText
  • Show SubstituteModeDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.SubstituteMode
  • Show SuccessCodeReplyDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.SuccessCodeReply
  • Show TrustedFlagDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.TrustedFlag
  • Show VerbosityDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.Verbosity
  • Show WorkerMagicDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.WorkerMagic
  • Show WorkerOpDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.WorkerOp
  • Show AEAD_IDDefined in hpke-0.2.1 · Crypto.HPKE.ID
  • Show KDF_IDDefined in hpke-0.2.1 · Crypto.HPKE.ID
  • Show KEM_IDDefined in hpke-0.2.1 · Crypto.HPKE.ID
  • Show ModeDefined in hpke-0.2.1 · Crypto.HPKE.KeySchedule
  • Show EncodedPublicKeyDefined in hpke-0.2.1 · Crypto.HPKE.Types
  • Show EncodedSecretKeyDefined in hpke-0.2.1 · Crypto.HPKE.Types

    The key material is not shown. Use debugShow to see it.

  • Show HPKEErrorDefined in hpke-0.2.1 · Crypto.HPKE.Types
  • Show AsyncCancelledDefined in hspec-core-2.11.18 · Control.Concurrent.Async.Internal
  • Show ExceptionInLinkedThreadDefined in hspec-core-2.11.18 · Control.Concurrent.Async.Internal
  • Show DIDefined in hspec-core-2.11.18 · Data.Algorithm.Diff
  • Show DLDefined in hspec-core-2.11.18 · Data.Algorithm.Diff
  • Show InvalidValueDefined in hspec-core-2.11.18 · GetOpt.Declarative.Environment
  • Show SecondsDefined in hspec-core-2.11.18 · Test.Hspec.Core.Clock
  • Show ColorModeDefined in hspec-core-2.11.18 · Test.Hspec.Core.Config.Definition
  • Show UnicodeModeDefined in hspec-core-2.11.18 · Test.Hspec.Core.Config.Definition
  • Show FailureReasonDefined in hspec-core-2.11.18 · Test.Hspec.Core.Example
  • Show ParamsDefined in hspec-core-2.11.18 · Test.Hspec.Core.Example
  • Show ResultDefined in hspec-core-2.11.18 · Test.Hspec.Core.Example
  • Show ResultStatusDefined in hspec-core-2.11.18 · Test.Hspec.Core.Example
  • Show LocationDefined in hspec-core-2.11.18 · Test.Hspec.Core.Example.Location
  • Show FailureReportDefined in hspec-core-2.11.18 · Test.Hspec.Core.FailureReport
  • Show EventDefined in hspec-core-2.11.18 · Test.Hspec.Core.Format
  • Show ItemDefined in hspec-core-2.11.18 · Test.Hspec.Core.Format
  • Show ResultDefined in hspec-core-2.11.18 · Test.Hspec.Core.Format
  • Show DiffDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.Diff
  • Show LineDiffDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.Diff
  • Show ValueDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.Pretty.Parser
  • Show FailureReasonDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.V1.Monad
  • Show ChunkDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.V2
  • Show ColorChunkDefined in hspec-core-2.11.18 · Test.Hspec.Core.Formatters.V2
  • Show QuickCheckFailureDefined in hspec-core-2.11.18 · Test.Hspec.Core.QuickCheck.Util
  • Show QuickCheckResultDefined in hspec-core-2.11.18 · Test.Hspec.Core.QuickCheck.Util
  • Show StatusDefined in hspec-core-2.11.18 · Test.Hspec.Core.QuickCheck.Util
  • Show ProgressReportingDefined in hspec-core-2.11.18 · Test.Hspec.Core.Runner
  • Show UseColorDefined in hspec-core-2.11.18 · Test.Hspec.Core.Runner
  • Show ResultItemDefined in hspec-core-2.11.18 · Test.Hspec.Core.Runner.Result
  • Show ResultItemStatusDefined in hspec-core-2.11.18 · Test.Hspec.Core.Runner.Result
  • Show SpecResultDefined in hspec-core-2.11.18 · Test.Hspec.Core.Runner.Result
  • Show SummaryDefined in hspec-core-2.11.18 · Test.Hspec.Core.Runner.Result
  • Show ConfigDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Config
  • Show ForestDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Run
  • Show HookDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Run
  • Show SpecDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Run
  • Show TreeDefined in hspec-discover-2.11.18 · Test.Hspec.Discover.Run
  • Show EncapsulatedPopperExceptionDefined in http-client-0.7.19 · Network.HTTP.Client.Request
  • Show ConnHostDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show ConnKeyDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show CookieDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show CookieJarDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show HttpExceptionDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show HttpExceptionContentDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show HttpExceptionContentWrapperDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show MaxHeaderLengthDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show MaxNumberHeadersDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show ProxyDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show ProxySecureModeDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show RequestDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show ResponseCloseDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show ResponseTimeoutDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show StatusHeadersDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show StreamFileStatusDefined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show ProxyProtocolDefined in http-client-0.7.19 · Network.HTTP.Proxy
  • Show ProxySettingsDefined in http-client-0.7.19 · Network.HTTP.Proxy
  • Show DigestAuthExceptionDefined in http-client-tls-0.4.0 · Network.HTTP.Client.TLS
  • Show DigestAuthExceptionDetailsDefined in http-client-tls-0.4.0 · Network.HTTP.Client.TLS
  • Show ByteRangeDefined in http-types-0.12.6 · Network.HTTP.Types.Header
  • Show StdMethodDefined in http-types-0.12.6 · Network.HTTP.Types.Method
  • Show StatusDefined in http-types-0.12.6 · Network.HTTP.Types.Status
  • Show EscapeItemDefined in http-types-0.12.6 · Network.HTTP.Types.URI
  • Show HttpVersionDefined in http-types-0.12.6 · Network.HTTP.Types.Version
    Example1 expression
    show http11"HTTP/1.1"
  • Show IPDefined in iproute-1.7.15 · Data.IP.Addr
  • Show IPv4Defined in iproute-1.7.15 · Data.IP.Addr
  • Show IPv6Defined in iproute-1.7.15 · Data.IP.Addr
  • Show IPRangeDefined in iproute-1.7.15 · Data.IP.Range
  • Show MyExceptionDefined in logict-0.8.2.0 · Control.Monad.Logic
  • Show MyExceptionDefined in logict-0.8.2.0 · Control.Monad.Logic.Class
  • Show InvalidPosExceptionDefined in megaparsec-9.5.0 · Text.Megaparsec.Pos
  • Show PosDefined in megaparsec-9.5.0 · Text.Megaparsec.Pos
  • Show SourcePosDefined in megaparsec-9.5.0 · Text.Megaparsec.Pos
  • Show BytesDefined in memory-0.18.0 · Data.ByteArray.Bytes
  • Show BaseDefined in memory-0.18.0 · Data.ByteArray.Encoding
  • Show MemViewDefined in memory-0.18.0 · Data.ByteArray.MemView
  • Show ScrubbedBytesDefined in memory-0.18.0 · Data.ByteArray.ScrubbedBytes
  • Show EndiannessDefined in memory-0.18.0 · Data.Memory.Endian
  • Show Word128Defined in memory-0.18.0 · Data.Memory.ExtendedWords
  • Show FnvHash32Defined in memory-0.18.0 · Data.Memory.Hash.FNV
  • Show FnvHash64Defined in memory-0.18.0 · Data.Memory.Hash.FNV
  • Show SipHashDefined in memory-0.18.0 · Data.Memory.Hash.SipHash
  • Show MemoryAdviceDefined in memory-0.18.0 · Data.Memory.MemMap.Posix
  • Show MemoryMapFlagDefined in memory-0.18.0 · Data.Memory.MemMap.Posix
  • Show MemoryProtectionDefined in memory-0.18.0 · Data.Memory.MemMap.Posix
  • Show MemorySyncFlagDefined in memory-0.18.0 · Data.Memory.MemMap.Posix
  • Show ML_KEM_1024Defined in mlkem-0.2.3.0 · Crypto.PubKey.ML_KEM
  • Show ML_KEM_512Defined in mlkem-0.2.3.0 · Crypto.PubKey.ML_KEM
  • Show ML_KEM_768Defined in mlkem-0.2.3.0 · Crypto.PubKey.ML_KEM
  • Show LineDefined in neat-interpolation-0.5.1.4 · NeatInterpolation.Parsing
  • Show LineContentDefined in neat-interpolation-0.5.1.4 · NeatInterpolation.Parsing
  • Show ParseExceptionDefined in neat-interpolation-0.5.1.4 · NeatInterpolation.Parsing
  • Show MsgFlagDefined in network-3.2.9.0 · Network.Socket.Flag
  • Show AddrInfoDefined in network-3.2.9.0 · Network.Socket.Info
  • Show AddrInfoFlagDefined in network-3.2.9.0 · Network.Socket.Info
  • Show NameInfoFlagDefined in network-3.2.9.0 · Network.Socket.Info
  • Show SocketOptionDefined in network-3.2.9.0 · Network.Socket.Options
  • Show SocketTimeoutDefined in network-3.2.9.0 · Network.Socket.Options
  • Show StructLingerDefined in network-3.2.9.0 · Network.Socket.Options
  • Show CmsgDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Show CmsgIdDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Show IPv4PktInfoDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Show IPv4TOSDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Show IPv4TTLDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Show IPv6HopLimitDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Show IPv6PktInfoDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Show IPv6TClassDefined in network-3.2.9.0 · Network.Socket.Posix.Cmsg
  • Show CmsgHdrDefined in network-3.2.9.0 · Network.Socket.Posix.CmsgHdr
  • Show FamilyDefined in network-3.2.9.0 · Network.Socket.Types
  • Show PortNumberDefined in network-3.2.9.0 · Network.Socket.Types
  • Show SockAddrDefined in network-3.2.9.0 · Network.Socket.Types
    Example1 expression
    SockAddrInet6 80 0 (0,0,0xffff,0x01020304) 0[::ffff:1.2.3.4]:80
  • Show SocketDefined in network-3.2.9.0 · Network.Socket.Types
  • Show SocketTypeDefined in network-3.2.9.0 · Network.Socket.Types
  • Show BufferOverrunDefined in network-byte-order-0.1.8 · Network.ByteOrder
  • Show URIDefined in network-uri-2.6.4.2 · Network.URI
  • Show URIAuthDefined in network-uri-2.6.4.2 · Network.URI
  • Show RichnessDefined in optparse-applicative-0.18.1.0 · Options.Applicative.BashCompletion
  • Show ParentheticDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Help.Core
  • Show ParserHelpDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Help.Types
  • Show AltNodeTypeDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show ArgPolicyDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show ArgumentReachabilityDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show BacktrackingDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show CompletionResultDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show IsCmdStartDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show OptNameDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show OptPropertiesDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show OptVisibilityDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show ParserPrefsDefined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show EncodingExceptionDefined in os-string-2.0.11 · System.OsString.Encoding.Internal
  • Show OsCharDefined in os-string-2.0.11 · System.OsString.Internal.Types
  • Show OsStringDefined in os-string-2.0.11 · System.OsString.Internal.Types

    On windows, decodes as UCS-2. On unix prints the raw bytes without decoding.

  • Show PosixCharDefined in os-string-2.0.11 · System.OsString.Internal.Types
  • Show PosixStringDefined in os-string-2.0.11 · System.OsString.Internal.Types

    Prints the raw bytes without decoding.

  • Show WindowsCharDefined in os-string-2.0.11 · System.OsString.Internal.Types
  • Show WindowsStringDefined in os-string-2.0.11 · System.OsString.Internal.Types

    Decodes as UCS-2.

  • Show ParseErrorDefined in parsec-3.1.18.0 · Text.Parsec.Error
  • Show SourcePosDefined in parsec-3.1.18.0 · Text.Parsec.Pos
  • Show ModeDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Show StyleDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Show TextDetailsDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Show PrettyLevelDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJClass
  • Show DocDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJ
  • Show PrettyLevelDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJClass
  • Show HtmlOptsDefined in pretty-show-1.10 · Text.Show.Html
  • Show HappyActionDefined in pretty-show-1.10 · Text.Show.Parser
  • Show ValueDefined in pretty-show-1.10 · Text.Show.Value
  • Show FusionDepthDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • Show LayoutOptionsDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • Show PageWidthDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • Show AnsiStyleDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Show BoldDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Show ColorDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Show IntensityDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Show ItalicizedDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Show LayerDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Show UnderlinedDefined in prettyprinter-ansi-terminal-1.1.4 · Prettyprinter.Render.Terminal.Internal
  • Show CmdSpecDefined in process-1.6.30.0 · System.Process.Common
  • Show CreateProcessDefined in process-1.6.30.0 · System.Process.Common
  • Show StdStreamDefined in process-1.6.30.0 · System.Process.Common
  • Show CommunicationHandleDefined in process-1.6.30.0 · System.Process.CommunicationHandle.Internal
  • Show BytesDefined in ram-0.22.1 · Data.ByteArray.Bytes
  • Show BaseDefined in ram-0.22.1 · Data.ByteArray.Encoding
  • Show MemViewDefined in ram-0.22.1 · Data.ByteArray.MemView
  • Show ScrubbedBytesDefined in ram-0.22.1 · Data.ByteArray.ScrubbedBytes
  • Show EndiannessDefined in ram-0.22.1 · Data.Memory.Endian
  • Show Word128Defined in ram-0.22.1 · Data.Memory.ExtendedWords
  • Show FnvHash32Defined in ram-0.22.1 · Data.Memory.Hash.FNV
  • Show FnvHash64Defined in ram-0.22.1 · Data.Memory.Hash.FNV
  • Show SipHashDefined in ram-0.22.1 · Data.Memory.Hash.SipHash
  • Show MemoryAdviceDefined in ram-0.22.1 · Data.Memory.MemMap.Posix
  • Show MemoryMapFlagDefined in ram-0.22.1 · Data.Memory.MemMap.Posix
  • Show MemoryProtectionDefined in ram-0.22.1 · Data.Memory.MemMap.Posix
  • Show MemorySyncFlagDefined in ram-0.22.1 · Data.Memory.MemMap.Posix
  • Show CardinalityDefined in random-1.3.1 · System.Random.GFinite
  • Show StdGenDefined in random-1.3.1 · System.Random.Internal
  • Show ActionDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show CompOptionDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show DFADefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show DTDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show DoPaDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show ExecOptionDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show GroupInfoDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show InstructionsDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show OPDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show OrbitsDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show QNFADefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show QTDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show TagTaskDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show TagUpdateDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show WhichTestDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show WinEmptyDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Common
  • Show HandleTagDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.CorePattern
  • Show PDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.CorePattern
  • Show QDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.CorePattern
  • Show SetTestInfoDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.CorePattern
  • Show WantedDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.CorePattern
  • Show WScratchDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.NewDFA.Engine_NC
  • Show PatternDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Pattern
  • Show PatternSetDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Pattern

    Hand-rolled implementation, giving textual rather than Haskell representation.

  • Show PatternSetCharacterClassDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Pattern

    Hand-rolled implementation, giving textual rather than Haskell representation.

  • Show PatternSetCollatingElementDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Pattern

    Hand-rolled implementation, giving textual rather than Haskell representation.

  • Show PatternSetEquivalenceClassDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.Pattern

    Hand-rolled implementation, giving textual rather than Haskell representation.

  • Show AlterOrbitDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.TDFA
  • Show UndefinedDefined in relude-1.2.2.2 · Relude.Debug
  • Show BugDefined in relude-1.2.2.2 · Relude.Exception
  • Show ScientificDefined in scientific-0.3.9.0 · Data.Scientific

    See formatScientific if you need more control over the rendering.

  • Show UTF8EncodingDefined in serialise-0.2.6.1 · Codec.Serialise.Internal.GeneralisedUTF8
  • Show CondensePolicyDefined in split-0.2.5.1 · Data.List.Split.Internals
  • Show DelimPolicyDefined in split-0.2.5.1 · Data.List.Split.Internals
  • Show EndPolicyDefined in split-0.2.5.1 · Data.List.Split.Internals
  • Show SMGenDefined in splitmix-0.1.3.2 · System.Random.SplitMix
  • Show SMGenDefined in splitmix-0.1.3.2 · System.Random.SplitMix32
  • Show FileTypeDefined in streaming-commons-0.2.3.1 · Data.Streaming.Filesystem
  • Show HostPreferenceDefined in streaming-commons-0.2.3.1 · Data.Streaming.Network.Internal
  • Show ProcessExitedUnsuccessfullyDefined in streaming-commons-0.2.3.1 · Data.Streaming.Process
  • Show CodePointDefined in streaming-commons-0.2.3.1 · Data.Streaming.Text
  • Show DecoderStateDefined in streaming-commons-0.2.3.1 · Data.Streaming.Text
  • Show SDefined in streaming-commons-0.2.3.1 · Data.Streaming.Text
  • Show PopperResDefined in streaming-commons-0.2.3.1 · Data.Streaming.Zlib
  • Show ZlibExceptionDefined in streaming-commons-0.2.3.1 · Data.Streaming.Zlib
  • Show StrategyDefined in streaming-commons-0.2.3.1 · Data.Streaming.Zlib.Lowlevel
  • Show DecodingDefined in text-2.1.4 · Data.Text.Encoding
  • Show UnicodeExceptionDefined in text-2.1.4 · Data.Text.Encoding.Error
  • Show I8Defined in text-2.1.4 · Data.Text.Foreign
  • Show TextDefined in text-2.1.4 · Data.Text.Show · orphan
  • Show BuilderDefined in text-2.1.4 · Data.Text.Internal.Builder
  • Show PartialUtf8CodePointDefined in text-2.1.4 · Data.Text.Internal.Encoding
  • Show Utf8StateDefined in text-2.1.4 · Data.Text.Internal.Encoding
  • Show DecoderStateDefined in text-2.1.4 · Data.Text.Internal.Encoding.Utf8
  • Show SizeDefined in text-2.1.4 · Data.Text.Internal.Fusion.Size
  • Show TextDefined in text-2.1.4 · Data.Text.Lazy · orphan
  • Show FPFormatDefined in text-2.1.4 · Data.Text.Lazy.Builder.RealFloat
  • Show IterDefined in text-2.1.4 · Data.Text.Unsafe
  • Show ShortTextDefined in text-short-0.1.6.1 · Data.Text.Short.Internal
  • Show ConstructorInfoDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Show ConstructorVariantDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Show DatatypeInfoDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Show DatatypeVariantDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Show FieldStrictnessDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Show StrictnessDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Show UnpackednessDefined in th-abstraction-0.7.2.0 · Language.Haskell.TH.Datatype
  • Show CalendarDiffDaysDefined in time-1.16.0.1 · Data.Time.Format.ISO8601 · orphan
  • Show DayDefined in time-1.16.0.1 · Data.Time.Calendar.Gregorian · orphan
  • Show MonthDefined in time-1.16.0.1 · Data.Time.Calendar.Month

    Show as yyyy-mm.

  • Show QuarterDefined in time-1.16.0.1 · Data.Time.Calendar.Quarter

    Show as yyyy-Qn.

  • Show QuarterOfYearDefined in time-1.16.0.1 · Data.Time.Calendar.Quarter
  • Show DayOfWeekDefined in time-1.16.0.1 · Data.Time.Calendar.Week
  • Show AbsoluteTimeDefined in time-1.16.0.1 · Data.Time.Clock.TAI · orphan
  • Show DiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.DiffTime
  • Show NominalDiffTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.NominalDiffTime
  • Show SystemTimeDefined in time-1.16.0.1 · Data.Time.Clock.Internal.SystemTime
  • Show UTCTimeDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.ZonedTime · orphan
  • Show UniversalTimeDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.LocalTime · orphan
  • Show TimeLocaleDefined in time-1.16.0.1 · Data.Time.Format.Locale
  • Show CalendarDiffTimeDefined in time-1.16.0.1 · Data.Time.Format.ISO8601 · orphan
  • Show LocalTimeDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.LocalTime
  • Show TimeOfDayDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.TimeOfDay
  • Show TimeZoneDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.TimeZone

    This only shows the time zone name, or offset if the name is empty.

  • Show ZonedTimeDefined in time-1.16.0.1 · Data.Time.LocalTime.Internal.ZonedTime

    For the time zone, this only shows the name, or offset if the name is empty.

  • Show DurationDefined in time-hourglass-0.3.0 · Time.Diff
  • Show PeriodDefined in time-hourglass-0.3.0 · Time.Diff
  • Show MJDEpochDefined in time-hourglass-0.3.0 · Time.Epoch
  • Show UnixEpochDefined in time-hourglass-0.3.0 · Time.Epoch
  • Show WindowsEpochDefined in time-hourglass-0.3.0 · Time.Epoch
  • Show ISO8601_DateDefined in time-hourglass-0.3.0 · Time.Format
  • Show ISO8601_DateAndTimeDefined in time-hourglass-0.3.0 · Time.Format
  • Show TimeFormatElemDefined in time-hourglass-0.3.0 · Time.Format
  • Show TimeFormatFctDefined in time-hourglass-0.3.0 · Time.Format

    Show the timeFormatFctName field.

  • Show TimeFormatStringDefined in time-hourglass-0.3.0 · Time.Format
  • Show CTmDefined in time-hourglass-0.3.0 · Time.Internal
  • Show TimezoneMinutesDefined in time-hourglass-0.3.0 · Time.Timezone
  • Show UTCDefined in time-hourglass-0.3.0 · Time.Timezone
  • Show DateDefined in time-hourglass-0.3.0 · Time.Types
  • Show DateTimeDefined in time-hourglass-0.3.0 · Time.Types
  • Show ElapsedDefined in time-hourglass-0.3.0 · Time.Types

    Show the number of seconds followed by s. (Note: the Read instance is derived.)

  • Show ElapsedPDefined in time-hourglass-0.3.0 · Time.Types

    Show the number of seconds followed by s, ., and the number of nanoseconds followed by ns. (Note: the Read instance is derived.)

  • Show HoursDefined in time-hourglass-0.3.0 · Time.Types

    Show the number of hours followed by h. (Note: the Read instance is derived.)

  • Show MinutesDefined in time-hourglass-0.3.0 · Time.Types

    Show the number of minutes followed by m. (Note: the Read instance is derived.)

  • Show MonthDefined in time-hourglass-0.3.0 · Time.Types
  • Show NanoSecondsDefined in time-hourglass-0.3.0 · Time.Types

    Show the number of nanoseconds followed by ns. (Note: the Read instance is derived.)

  • Show SecondsDefined in time-hourglass-0.3.0 · Time.Types

    Show the number of seconds followed by s. (Note: the Read instance is derived.)

  • Show TimeOfDayDefined in time-hourglass-0.3.0 · Time.Types
  • Show TimezoneOffsetDefined in time-hourglass-0.3.0 · Time.Types

    Show the time zone offset in the format ±HHMM.

  • Show WeekDayDefined in time-hourglass-0.3.0 · Time.Types
  • Show BulkStateDefined in tls-2.4.9 · Network.TLS.Cipher
  • Show CompressionDefined in tls-2.4.9 · Network.TLS.Compression
  • Show CipherChoiceDefined in tls-2.4.9 · Network.TLS.Context.Internal
  • Show EstablishedDefined in tls-2.4.9 · Network.TLS.Context.Internal
  • Show RecordLimitDefined in tls-2.4.9 · Network.TLS.Context.Internal
  • Show CredentialsDefined in tls-2.4.9 · Network.TLS.Credentials
  • Show HashDefined in tls-2.4.9 · Network.TLS.Crypto
  • Show HashContextDefined in tls-2.4.9 · Network.TLS.Crypto
  • Show KxErrorDefined in tls-2.4.9 · Network.TLS.Crypto
  • Show RSAEncodingDefined in tls-2.4.9 · Network.TLS.Crypto
  • Show SignatureParamsDefined in tls-2.4.9 · Network.TLS.Crypto
  • Show GroupPrivateDefined in tls-2.4.9 · Network.TLS.Crypto.IES
  • Show GroupPublicADefined in tls-2.4.9 · Network.TLS.Crypto.IES
  • Show GroupPublicBDefined in tls-2.4.9 · Network.TLS.Crypto.IES
  • Show GroupDefined in tls-2.4.9 · Network.TLS.Crypto.Types
  • Show KeyExchangeSignatureAlgDefined in tls-2.4.9 · Network.TLS.Crypto.Types
  • Show AlertDescriptionDefined in tls-2.4.9 · Network.TLS.Error
  • Show AlertLevelDefined in tls-2.4.9 · Network.TLS.Error
  • Show TLSErrorDefined in tls-2.4.9 · Network.TLS.Error
  • Show TLSExceptionDefined in tls-2.4.9 · Network.TLS.Error
  • Show ApplicationLayerProtocolNegotiationDefined in tls-2.4.9 · Network.TLS.Extension
  • Show CertificateAuthoritiesDefined in tls-2.4.9 · Network.TLS.Extension
  • Show CertificateCompressionAlgorithmDefined in tls-2.4.9 · Network.TLS.Extension
  • Show CompressCertificateDefined in tls-2.4.9 · Network.TLS.Extension
  • Show CookieDefined in tls-2.4.9 · Network.TLS.Extension
  • Show EarlyDataIndicationDefined in tls-2.4.9 · Network.TLS.Extension
  • Show EcPointFormatDefined in tls-2.4.9 · Network.TLS.Extension
  • Show EcPointFormatsSupportedDefined in tls-2.4.9 · Network.TLS.Extension
  • Show EchOuterExtensionsDefined in tls-2.4.9 · Network.TLS.Extension
  • Show EncryptedClientHelloDefined in tls-2.4.9 · Network.TLS.Extension
  • Show ExtendedMainSecretDefined in tls-2.4.9 · Network.TLS.Extension
  • Show ExtensionIDDefined in tls-2.4.9 · Network.TLS.Extension
  • Show ExtensionRawDefined in tls-2.4.9 · Network.TLS.Extension
  • Show HeartBeatDefined in tls-2.4.9 · Network.TLS.Extension
  • Show HeartBeatModeDefined in tls-2.4.9 · Network.TLS.Extension
  • Show KeyShareDefined in tls-2.4.9 · Network.TLS.Extension
  • Show KeyShareEntryDefined in tls-2.4.9 · Network.TLS.Extension
  • Show MaxFragmentEnumDefined in tls-2.4.9 · Network.TLS.Extension
  • Show MaxFragmentLengthDefined in tls-2.4.9 · Network.TLS.Extension
  • Show MessageTypeDefined in tls-2.4.9 · Network.TLS.Extension
  • Show PostHandshakeAuthDefined in tls-2.4.9 · Network.TLS.Extension
  • Show PreSharedKeyDefined in tls-2.4.9 · Network.TLS.Extension
  • Show PskIdentityDefined in tls-2.4.9 · Network.TLS.Extension
  • Show PskKexModeDefined in tls-2.4.9 · Network.TLS.Extension
  • Show PskKeyExchangeModesDefined in tls-2.4.9 · Network.TLS.Extension
  • Show RecordSizeLimitDefined in tls-2.4.9 · Network.TLS.Extension
  • Show SecureRenegotiationDefined in tls-2.4.9 · Network.TLS.Extension
  • Show ServerNameDefined in tls-2.4.9 · Network.TLS.Extension
  • Show ServerNameTypeDefined in tls-2.4.9 · Network.TLS.Extension
  • Show SessionTicketDefined in tls-2.4.9 · Network.TLS.Extension
  • Show SignatureAlgorithmsDefined in tls-2.4.9 · Network.TLS.Extension
  • Show SignatureAlgorithmsCertDefined in tls-2.4.9 · Network.TLS.Extension
  • Show SupportedGroupsDefined in tls-2.4.9 · Network.TLS.Extension
  • Show SupportedVersionsDefined in tls-2.4.9 · Network.TLS.Extension
  • Show GroupsDefined in tls-2.4.9 · Network.TLS.Handshake.Client.ClientHello
  • Show ApplicationSecretInfoDefined in tls-2.4.9 · Network.TLS.Handshake.Control
  • Show EarlySecretInfoDefined in tls-2.4.9 · Network.TLS.Handshake.Control
  • Show HandshakeSecretInfoDefined in tls-2.4.9 · Network.TLS.Handshake.Control
  • Show SelectKeyShareResultDefined in tls-2.4.9 · Network.TLS.Handshake.Server.ClientHello13
  • Show KeyUpdateRequestDefined in tls-2.4.9 · Network.TLS.Handshake.Server.TLS13
  • Show HandshakeKeyStateDefined in tls-2.4.9 · Network.TLS.Handshake.State
  • Show HandshakeMode13Defined in tls-2.4.9 · Network.TLS.Handshake.State
  • Show HandshakeStateDefined in tls-2.4.9 · Network.TLS.Handshake.State
  • Show RTT0StatusDefined in tls-2.4.9 · Network.TLS.Handshake.State
  • Show TransHashStateDefined in tls-2.4.9 · Network.TLS.Handshake.State
  • Show HashAlgorithmDefined in tls-2.4.9 · Network.TLS.HashAndSignature
  • Show SignatureAlgorithmDefined in tls-2.4.9 · Network.TLS.HashAndSignature
  • Show MeasurementDefined in tls-2.4.9 · Network.TLS.Measurement
  • Show CurrentParamsDefined in tls-2.4.9 · Network.TLS.Packet
  • Show ClientHooksDefined in tls-2.4.9 · Network.TLS.Parameters
  • Show ClientParamsDefined in tls-2.4.9 · Network.TLS.Parameters
  • Show DebugParamsDefined in tls-2.4.9 · Network.TLS.Parameters
  • Show EMSModeDefined in tls-2.4.9 · Network.TLS.Parameters
  • Show GroupUsageDefined in tls-2.4.9 · Network.TLS.Parameters
  • Show InformationDefined in tls-2.4.9 · Network.TLS.Parameters
  • Show LimitDefined in tls-2.4.9 · Network.TLS.Parameters
  • Show ServerHooksDefined in tls-2.4.9 · Network.TLS.Parameters
  • Show ServerParamsDefined in tls-2.4.9 · Network.TLS.Parameters
  • Show SharedDefined in tls-2.4.9 · Network.TLS.Parameters
  • Show SupportedDefined in tls-2.4.9 · Network.TLS.Parameters
  • Show StateRNGDefined in tls-2.4.9 · Network.TLS.RNG
  • Show CryptLevelDefined in tls-2.4.9 · Network.TLS.Record.State
  • Show CryptStateDefined in tls-2.4.9 · Network.TLS.Record.State
  • Show MacStateDefined in tls-2.4.9 · Network.TLS.Record.State
  • Show RecordStateDefined in tls-2.4.9 · Network.TLS.Record.State
  • Show CertificateChain_Defined in tls-2.4.9 · Network.TLS.Struct
  • Show CertificateTypeDefined in tls-2.4.9 · Network.TLS.Struct
  • Show CipherDataDefined in tls-2.4.9 · Network.TLS.Struct
  • Show ClientHelloDefined in tls-2.4.9 · Network.TLS.Struct
  • Show ClientKeyXchgAlgorithmDataDefined in tls-2.4.9 · Network.TLS.Struct
  • Show ClientRandomDefined in tls-2.4.9 · Network.TLS.Struct
  • Show DigitallySignedDefined in tls-2.4.9 · Network.TLS.Struct
  • Show HandshakeDefined in tls-2.4.9 · Network.TLS.Struct
  • Show HandshakeTypeDefined in tls-2.4.9 · Network.TLS.Struct
  • Show HeaderDefined in tls-2.4.9 · Network.TLS.Struct
  • Show PacketDefined in tls-2.4.9 · Network.TLS.Struct
  • Show ProtocolTypeDefined in tls-2.4.9 · Network.TLS.Struct
  • Show ServerDHParamsDefined in tls-2.4.9 · Network.TLS.Struct
  • Show ServerDSAParamsDefined in tls-2.4.9 · Network.TLS.Struct
  • Show ServerECDHParamsDefined in tls-2.4.9 · Network.TLS.Struct
  • Show ServerHelloDefined in tls-2.4.9 · Network.TLS.Struct
  • Show ServerKeyXchgAlgorithmDataDefined in tls-2.4.9 · Network.TLS.Struct
  • Show ServerRSAParamsDefined in tls-2.4.9 · Network.TLS.Struct
  • Show ServerRandomDefined in tls-2.4.9 · Network.TLS.Struct
  • Show SessionDefined in tls-2.4.9 · Network.TLS.Struct
  • Show VerifyDataDefined in tls-2.4.9 · Network.TLS.Struct
  • Show Handshake13Defined in tls-2.4.9 · Network.TLS.Struct13
  • Show KeyUpdateDefined in tls-2.4.9 · Network.TLS.Struct13
  • Show Packet13Defined in tls-2.4.9 · Network.TLS.Struct13
  • Show SessionIDorTicket_Defined in tls-2.4.9 · Network.TLS.Struct13
  • Show TicketNonceDefined in tls-2.4.9 · Network.TLS.Struct13
  • Show BigNumDefined in tls-2.4.9 · Network.TLS.Types
  • Show DirectionDefined in tls-2.4.9 · Network.TLS.Types
  • Show RoleDefined in tls-2.4.9 · Network.TLS.Types
  • Show TranscriptHashDefined in tls-2.4.9 · Network.TLS.Types
  • Show BulkDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Show BulkDirectionDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Show CipherDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Show CipherIdDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Show CipherKeyExchangeTypeDefined in tls-2.4.9 · Network.TLS.Types.Cipher
  • Show MainSecretDefined in tls-2.4.9 · Network.TLS.Types.Secret
  • Show SessionDataDefined in tls-2.4.9 · Network.TLS.Types.Session

    Everything but sessionSecret, which renders as <secret>: whoever has it can resume the session. debugShow renders it.

  • Show SessionFlagDefined in tls-2.4.9 · Network.TLS.Types.Session
  • Show TLS13TicketInfoDefined in tls-2.4.9 · Network.TLS.Types.Session
  • Show VersionDefined in tls-2.4.9 · Network.TLS.Types.Version
  • Show CertificateRejectReasonDefined in tls-2.4.9 · Network.TLS.X509
  • Show CertificateUsageDefined in tls-2.4.9 · Network.TLS.X509
  • Show DirTypeDefined in unix-2.8.8.0 · System.Posix.Directory.Common
  • Show DLDefined in unix-2.8.8.0 · System.Posix.DynamicLinker.Prim
  • Show RTLDFlagsDefined in unix-2.8.8.0 · System.Posix.DynamicLinker.Prim
  • Show CAttributesDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Show StatxFlagsDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Show StatxMaskDefined in unix-2.8.8.0 · System.Posix.Files.Common
  • Show OpenFileFlagsDefined in unix-2.8.8.0 · System.Posix.IO.Common
  • Show OpenModeDefined in unix-2.8.8.0 · System.Posix.IO.Common
  • Show ProcessStatusDefined in unix-2.8.8.0 · System.Posix.Process.Internals
  • Show ResourceDefined in unix-2.8.8.0 · System.Posix.Resource
  • Show ResourceLimitDefined in unix-2.8.8.0 · System.Posix.Resource
  • Show ResourceLimitsDefined in unix-2.8.8.0 · System.Posix.Resource
  • Show BaudRateDefined in unix-2.8.8.0 · System.Posix.Terminal.Common
  • Show GroupEntryDefined in unix-2.8.8.0 · System.Posix.User.Common
  • Show UserEntryDefined in unix-2.8.8.0 · System.Posix.User.Common
  • Show UnixDiffTimeDefined in unix-time-0.5.0 · Data.UnixTime.Types
  • Show UnixTimeDefined in unix-time-0.5.0 · Data.UnixTime.Types
  • Show SubHashPathDefined in unordered-containers-0.2.21 · Data.HashMap.Internal.Debug
  • Show UUIDDefined in uuid-types-1.0.6.1 · Data.UUID.Types.Internal

    Pretty prints a UUID (without quotation marks). See also toString.

    Example1 expression
    show nil"00000000-0000-0000-0000-000000000000"
  • Show UnpackedUUIDDefined in uuid-types-1.0.6.1 · Data.UUID.Types.Internal
  • Show SizeDefined in vector-0.13.2.0 · Data.Vector.Fusion.Bundle.Size
  • Show CursorDefined in xml-1.3.14 · Text.XML.Light.Cursor
  • Show TagDefined in xml-1.3.14 · Text.XML.Light.Cursor
  • Show TokenDefined in xml-1.3.14 · Text.XML.Light.Lexer
  • Show TxtDefined in xml-1.3.14 · Text.XML.Light.Lexer
  • Show AttrDefined in xml-1.3.14 · Text.XML.Light.Types
  • Show CDataDefined in xml-1.3.14 · Text.XML.Light.Types
  • Show CDataKindDefined in xml-1.3.14 · Text.XML.Light.Types
  • Show ContentDefined in xml-1.3.14 · Text.XML.Light.Types
  • Show ElementDefined in xml-1.3.14 · Text.XML.Light.Types
  • Show QNameDefined in xml-1.3.14 · Text.XML.Light.Types
  • Show CompressParamsDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Internal
  • Show DecompressErrorDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Internal
  • Show DecompressParamsDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Internal
  • Show CompressionLevelDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Show CompressionStrategyDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Show DictionaryHashDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Show FormatDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Show MemoryLevelDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Show MethodDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Show WindowBitsDefined in zlib-0.7.1.1 · Codec.Compression.Zlib.Stream
  • Show ()Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Lifting Show ComplexDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Show IdentityDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Show MaybeDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting Show []Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting2 Show EitherDefined in constraints-0.14.4 · Data.Constraint.Lifting
  • Lifting2 Show Tuple2Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Show1 f => Lifting Show (Lift f)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Show1 m => Lifting Show (MaybeT m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Show a => Lifting Show (Either a)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Show a => Lifting Show (Tuple2 a)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Show1 f => Lifting Show (Backwards f)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Show1 f => Lifting Show (Reverse f)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • Show1 m => Lifting Show (IdentityT m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Show e, Show1 m) => Lifting Show (ExceptT e m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Show w, Show1 m) => Lifting Show (WriterT w m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Show w, Show1 m) => Lifting Show (WriterT w m)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Show1 f, Show1 g) => Lifting Show (Product f g)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Show1 f, Show1 g) => Lifting Show (Sum f g)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • (Show1 f, Show1 g) => Lifting Show (Compose f g)Defined in constraints-0.14.4 · Data.Constraint.Lifting
  • () :=> Show NaturalDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Show BoolDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Show CharDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Show IntDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Show OrderingDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Show WordDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Show (Dict a)Defined in constraints-0.14.4 · Data.Constraint
  • () :=> Show ()Defined in constraints-0.14.4 · Data.Constraint
  • () :=> Show (a :- b)Defined in constraints-0.14.4 · Data.Constraint
  • Class () (Show a)Defined in constraints-0.14.4 · Data.Constraint
  • Show1 f => Show (Fix f)Defined in data-fix-0.3.4 · Data.Fix
  • Show (Blind a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show (Encoding' a)Defined in aeson-2.2.5.1 · Data.Aeson.Encoding.Internal
  • Show (Ticket a)Defined in atomic-primops-0.8.8 · Data.Atomics.Internal
  • Show (Bits n)Defined in basement-0.0.16 · Basement.Bits
  • Show (Zn n)Defined in basement-0.0.16 · Basement.Bounded
  • Show (Zn64 n)Defined in basement-0.0.16 · Basement.Bounded
  • Show (FinalPtr a)Defined in basement-0.0.16 · Basement.FinalPtr
  • Show (CountOf ty)Defined in basement-0.0.16 · Basement.Types.OffsetSize
  • Show (Offset ty)Defined in basement-0.0.16 · Basement.Types.OffsetSize
  • Show (Dict a)Defined in constraints-0.14.4 · Data.Constraint
  • Show (Scalar curve) => Show (Signature curve)Defined in crypton-2.1.7 · Crypto.PubKey.ECDSA
  • Show (CurveParameters curve)Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show (Point curve)Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show (Scalar curve)Defined in crypton-2.1.7 · Crypto.ECC.Simple.Types
  • Show (Blake2b bitlen)Defined in crypton-2.1.7 · Crypto.Hash.Blake2
  • Show (Blake2bp bitlen)Defined in crypton-2.1.7 · Crypto.Hash.Blake2
  • Show (Blake2s bitlen)Defined in crypton-2.1.7 · Crypto.Hash.Blake2
  • Show (Blake2sp bitlen)Defined in crypton-2.1.7 · Crypto.Hash.Blake2
  • Show (SHAKE128 bitlen)Defined in crypton-2.1.7 · Crypto.Hash.SHAKE
  • Show (SHAKE256 bitlen)Defined in crypton-2.1.7 · Crypto.Hash.SHAKE
  • Show (Skein256 bitlen)Defined in crypton-2.1.7 · Crypto.Hash.Skein256
  • Show (Skein512 bitlen)Defined in crypton-2.1.7 · Crypto.Hash.Skein512
  • Show (Digest a)Defined in crypton-2.1.7 · Crypto.Hash.Types
  • Show (SecretKey curve)Defined in crypton-2.1.7 · Crypto.PubKey.EdDSA
  • Show (Scalar curve) => Show (Signature curve)Defined in cryptonite-0.30 · Crypto.PubKey.ECDSA
  • Show (CurveParameters curve)Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show (Point curve)Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show (Scalar curve)Defined in cryptonite-0.30 · Crypto.ECC.Simple.Types
  • Show (Blake2b bitlen)Defined in cryptonite-0.30 · Crypto.Hash.Blake2
  • Show (Blake2bp bitlen)Defined in cryptonite-0.30 · Crypto.Hash.Blake2
  • Show (Blake2s bitlen)Defined in cryptonite-0.30 · Crypto.Hash.Blake2
  • Show (Blake2sp bitlen)Defined in cryptonite-0.30 · Crypto.Hash.Blake2
  • Show (SHAKE128 bitlen)Defined in cryptonite-0.30 · Crypto.Hash.SHAKE
  • Show (SHAKE256 bitlen)Defined in cryptonite-0.30 · Crypto.Hash.SHAKE
  • Show (Digest a)Defined in cryptonite-0.30 · Crypto.Hash.Types
  • Show (SecretKey curve)Defined in cryptonite-0.30 · Crypto.PubKey.EdDSA
  • Show (ConstPtr a)Defined in ghc-internal-10.0.0 · GHC.Internal.Foreign.C.ConstPtr
  • Show (ForeignPtr a)Defined in ghc-internal-10.0.0 · GHC.Internal.ForeignPtr
  • Show (FunPtr a)Defined in ghc-internal-10.0.0 · GHC.Internal.Ptr
  • Show (Ptr a)Defined in ghc-internal-10.0.0 · GHC.Internal.Ptr
  • Show (SChar c)Defined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Show (SSymbol s)Defined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • Show (SNat n)Defined in ghc-internal-10.0.0 · GHC.Internal.TypeNats
  • Show (Digest a)Defined in hashing-0.1.1.0 · Crypto.Hash.ADT
  • Show (Symbolic m)Defined in hnix-0.17.0 · Nix.Lint
  • Show (Scope a)Defined in hnix-0.17.0 · Nix.Scope
  • Show (StdThunk m)Defined in hnix-0.17.0 · Nix.Standard
  • Show (Judgment s)Defined in hnix-0.17.0 · Nix.Type.Infer
  • Show (Cmd a)Defined in hnix-store-remote-0.7.0.0 · Data.Serializer.Example
  • Show (StoreRequest a)Defined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreRequest
  • Show (PartM m)Defined in http-client-0.7.19 · Network.HTTP.Client.MultipartFormData
  • Show (Blind x)Defined in megaparsec-9.5.0 · Text.Megaparsec.Debug
  • Show (CountOf ty)Defined in mlkem-0.2.3.0 · Base
  • Show (Offset ty)Defined in mlkem-0.2.3.0 · Base
  • Show (Ciphertext a)Defined in mlkem-0.2.3.0 · Internal
  • Show (DecapsulationKey a)Defined in mlkem-0.2.3.0 · Internal
  • Show (EncapsulationKey a)Defined in mlkem-0.2.3.0 · Internal
  • Show (SharedSecret a)Defined in mlkem-0.2.3.0 · Internal
  • Show (Option a)Defined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show (Doc a)Defined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Show (Doc ann)Defined in prettyprinter-1.7.2 · Prettyprinter.Internal

    (show doc) prettyprints document doc with defaultLayoutOptions, ignoring all annotations.

  • Show (Seed g)Defined in random-1.3.1 · System.Random.Internal
  • Show (EnumSet e)Defined in regex-tdfa-1.3.2.6 · Data.IntSet.EnumSet2
  • Show (ElapsedSince epoch)Defined in time-hourglass-0.3.0 · Time.Epoch
  • Show (ElapsedSinceP epoch)Defined in time-hourglass-0.3.0 · Time.Epoch
  • Show (Fragment a)Defined in tls-2.4.9 · Network.TLS.Record.Types
  • Show (Record a)Defined in tls-2.4.9 · Network.TLS.Record.Types
  • Show (AnyTrafficSecret a)Defined in tls-2.4.9 · Network.TLS.Types.Secret
  • Show (BaseSecret a)Defined in tls-2.4.9 · Network.TLS.Types.Secret
  • Show (ClientTrafficSecret a)Defined in tls-2.4.9 · Network.TLS.Types.Secret
  • Show (SecretPair a)Defined in tls-2.4.9 · Network.TLS.Types.Secret
  • Show (SecretTriple a)Defined in tls-2.4.9 · Network.TLS.Types.Secret
  • Show (ServerTrafficSecret a)Defined in tls-2.4.9 · Network.TLS.Types.Secret
  • Show a => Show (Fixed a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (InfiniteList a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (Large a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (Negative a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (NoShrink a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (NonEmptyList a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (NonNegative a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (NonPositive a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (NonZero a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (OrderedList a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (Positive a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (Shrink2 a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (Small a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (Smart a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (SortedList a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (IResult a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Show a => Show (Result a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.Internal
  • Show a => Show (Context a)Defined in algebraic-graphs-0.8 · Algebra.Graph
  • Show a => Show (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph
  • Show a => Show (List a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Internal
  • Show a => Show (Capacity a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Show a => Show (Count a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Show a => Show (Distance a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Show a => Show (Extended a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Show a => Show (Label a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Show a => Show (Minimum a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Show a => Show (PowerSet a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • Show a => Show (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph.NonEmpty
  • Show a => Show (Complex a)Defined in base-4.23.0.0 · Data.Complex
  • Show a => Show (First a)Defined in base-4.23.0.0 · Data.Semigroup
  • Show a => Show (Last a)Defined in base-4.23.0.0 · Data.Semigroup
  • Show a => Show (Max a)Defined in base-4.23.0.0 · Data.Semigroup
  • Show a => Show (Min a)Defined in base-4.23.0.0 · Data.Semigroup
  • Show a => Show (Base16 a)Defined in base16-1.0 · Data.Base16.Types.Internal
  • Show a => Show (Array a)Defined in basement-0.0.16 · Basement.BoxedArray
  • Show a => Show (BE a)Defined in basement-0.0.16 · Basement.Endianness
  • Show a => Show (LE a)Defined in basement-0.0.16 · Basement.Endianness
  • Show a => Show (NonEmpty a)Defined in basement-0.0.16 · Basement.NonEmpty
  • Show a => Show (Decoder a)Defined in binary-0.8.9.3 · Data.Binary.Get.Internal
  • Show a => Show (DecodedToken a)Defined in cborg-0.2.10.0 · Codec.CBOR.Read
  • Show a => Show (LongToken a)Defined in cborg-0.2.10.0 · Codec.CBOR.Read
  • Show a => Show (RGB a)Defined in colour-2.3.7 · Data.Colour.RGB
  • Show a => Show (IntMap a)Defined in containers-0.8 · Data.IntMap.Internal
  • Show a => Show (Seq a)Defined in containers-0.8 · Data.Sequence.Internal
  • Show a => Show (ViewL a)Defined in containers-0.8 · Data.Sequence.Internal
  • Show a => Show (ViewR a)Defined in containers-0.8 · Data.Sequence.Internal
  • Show a => Show (Intersection a)Defined in containers-0.8 · Data.Set.Internal
  • Show a => Show (Set a)Defined in containers-0.8 · Data.Set.Internal
  • Show a => Show (PostOrder a)Defined in containers-0.8 · Data.Tree
  • Show a => Show (Tree a)Defined in containers-0.8 · Data.Tree
  • Show a => Show (CryptoFailable a)Defined in crypton-2.1.7 · Crypto.Error.Types
  • Show a => Show (GmpSupported a)Defined in crypton-2.1.7 · Crypto.Number.Compat
  • Show a => Show (Result a)Defined in crypton-socks-0.6.2 · Network.Socks5.Parse
  • Show a => Show (CryptoFailable a)Defined in cryptonite-0.30 · Crypto.Error.Types
  • Show a => Show (GmpSupported a)Defined in cryptonite-0.30 · Crypto.Number.Compat
  • Show a => Show (DNonEmpty a)Defined in dlist-1.0 · Data.DList.DNonEmpty.Internal
  • Show a => Show (DList a)Defined in dlist-1.0 · Data.DList.Internal
  • Show a => Show (ExitCase a)Defined in exceptions-0.10.12 · Control.Monad.Catch
  • Show a => Show (RB a)Defined in extra-1.8.1 · Data.List.Extra
  • Show a => Show (GenericArbitrary a)Defined in generic-arbitrary-1.0.1.2 · Test.QuickCheck.Arbitrary.Generic
  • Show a => Show (NonEmpty a)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show a => Show (And a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Show a => Show (Iff a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Show a => Show (Ior a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Show a => Show (Xor a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Bits
  • Show a => Show (Identity a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Identity

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

  • Show a => Show (First a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Show a => Show (Last a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Show a => Show (Down a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Ord

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

  • Show a => Show (Dual a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Show a => Show (Product a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Show a => Show (Sum a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Show a => Show (ExceptionWithContext a)Defined in ghc-internal-10.0.0 · GHC.Internal.Exception.Type
  • Show a => Show (ZipList a)Defined in ghc-internal-10.0.0 · GHC.Internal.Functor.ZipList
  • Show a => Show (Maybe a)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show a => Show (Ratio a)Defined in ghc-internal-10.0.0 · GHC.Internal.Real
  • Show a => Show (Hashed a)Defined in hashable-1.5.1.0 · Data.Hashable.Class
  • Show a => Show (Context a)Defined in hashing-0.1.1.0 · Crypto.Hash.ADT
  • Show a => Show (DerivationOutput a)Defined in hnix-store-core-0.8.0.0 · System.Nix.Realisation
  • Show a => Show (Metadata a)Defined in hnix-store-core-0.8.0.0 · System.Nix.StorePath.Metadata
  • Show a => Show (ForPV a)Defined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Serializer
  • Show a => Show (Diff a)Defined in hspec-core-2.11.18 · Data.Algorithm.Diff
  • Show a => Show (AddrRange a)Defined in iproute-1.7.15 · Data.IP.Range
  • Show a => Show (Logic a)Defined in logict-0.8.2.0 · Control.Monad.Logic
  • Show a => Show (Result a)Defined in memory-0.18.0 · Data.ByteArray.Pack.Internal
  • Show a => Show (BE a)Defined in memory-0.18.0 · Data.Memory.Endian
  • Show a => Show (LE a)Defined in memory-0.18.0 · Data.Memory.Endian
  • Show a => Show (Chunk a)Defined in optparse-applicative-0.18.1.0 · Options.Applicative.Help.Chunk
  • Show a => Show (OptTree a)Defined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show a => Show (ParserResult a)Defined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show a => Show (AnnotDetails a)Defined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Show a => Show (Span a)Defined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Show a => Show (PreProc a)Defined in pretty-show-1.10 · Text.Show.Pretty
  • Show a => Show (Array a)Defined in primitive-0.9.1.0 · Data.Primitive.Array
  • Show a => Show (SmallArray a)Defined in primitive-0.9.1.0 · Data.Primitive.SmallArray
  • Show a => Show (Result a)Defined in ram-0.22.1 · Data.ByteArray.Pack.Internal
  • Show a => Show (BE a)Defined in ram-0.22.1 · Data.Memory.Endian
  • Show a => Show (LE a)Defined in ram-0.22.1 · Data.Memory.Endian
  • Show a => Show (CharMap a)Defined in regex-tdfa-1.3.2.6 · Data.IntMap.CharMap2
  • Show a => Show (Chunk a)Defined in split-0.2.5.1 · Data.List.Split.Internals
  • Show a => Show (Maybe a)Defined in strict-0.5.1 · Data.Strict.Maybe
  • Show a => Show (Array a)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal.Array
  • Show a => Show (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • Show a => Show (Vector a)Defined in vector-0.13.2.0 · Data.Vector
  • Show a => Show (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Strict
  • Show a => Show (a)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show a => Show [a]Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show ann => Show (SimpleDocStream ann)Defined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • Show ann => Show (Diag ann)Defined in prettyprinter-1.7.2 · Prettyprinter.Internal.Debug
  • Show ann => Show (SimpleDocTok ann)Defined in prettyprinter-1.7.2 · Prettyprinter.Render.Util.SimpleDocTree
  • Show ann => Show (SimpleDocTree ann)Defined in prettyprinter-1.7.2 · Prettyprinter.Render.Util.SimpleDocTree
  • Show b => Show (GenClosure b)Defined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Show b => Show (GenStackField b)Defined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Show b => Show (GenStackFrame b)Defined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Show b => Show (GenStgStackClosure b)Defined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Show body => Show (HistoriedResponse body)Defined in http-client-0.7.19 · Network.HTTP.Client
  • Show body => Show (Response body)Defined in http-client-0.7.19 · Network.HTTP.Client.Types
  • Show customGetError => Show (GetSerializerError customGetError)Defined in hnix-store-remote-0.7.0.0 · Data.Serializer
  • Show e => Show (Base16Error e)Defined in base16-1.0 · Data.Text.Encoding.Base16.Error
  • Show e => Show (Base64Error e)Defined in base64-1.0 · Data.Text.Encoding.Base64.Error
  • Show e => Show (NoBacktrace e)Defined in ghc-internal-10.0.0 · GHC.Internal.Exception.Type
  • Show e => Show (Tree e)Defined in http-client-0.7.19 · Network.PublicSuffixList.Types
  • Show e => Show (ErrorFancy e)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error
  • Show flag => Show (TyVarBndr flag)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Show g => Show (StateGen g)Defined in random-1.3.1 · System.Random.Internal
  • Show g => Show (AtomicGen g)Defined in random-1.3.1 · System.Random.Stateful
  • Show g => Show (IOGen g)Defined in random-1.3.1 · System.Random.Stateful
  • Show g => Show (STGen g)Defined in random-1.3.1 · System.Random.Stateful
  • Show g => Show (TGen g)Defined in random-1.3.1 · System.Random.Stateful
  • Show h => Show (TOTPParams h)Defined in crypton-2.1.7 · Crypto.OTP
  • Show h => Show (TOTPParams h)Defined in cryptonite-0.30 · Crypto.OTP
  • Show h => Show (ParserFailure h)Defined in optparse-applicative-0.18.1.0 · Options.Applicative.Types
  • Show k => Show (Error k)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal.Debug
  • Show k => Show (Validity k)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal.Debug
  • Show m => Show (WrappedMonoid m)Defined in base-4.23.0.0 · Data.Semigroup
  • Show p => Show (Par1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show r => Show (Result r)Defined in attoparsec-0.14.4 · Data.Attoparsec.ByteString.Lazy
  • Show r => Show (Result r)Defined in attoparsec-0.14.4 · Data.Attoparsec.Text.Lazy
  • Show r => Show (Result r)Defined in cereal-0.5.8.3 · Data.Serialize.Get
  • Show r => Show (Result r)Defined in crypton-asn1-encoding-0.10.0 · Data.ASN1.Get
  • Show r => Show (Binding r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Show r => Show (NExprF r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Show r => Show (NKeyName r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Show r => Show (NString r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Show r => Show (Params r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • Show r => Show (NSymbolicF r)Defined in hnix-0.17.0 · Nix.Lint
  • Show s => Show (CI s)Defined in case-insensitive-1.2.1.0 · Data.CaseInsensitive.Internal
  • Show s => Show (PosState s)Defined in megaparsec-9.5.0 · Text.Megaparsec.State
  • Show t => Show (ErrorItem t)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error
  • Show t => Show (LocalTime t)Defined in time-hourglass-0.3.0 · Time.LocalTime

    Show the localTimeUnwrap field and then the localTimeGetTimezone field.

  • Show v => Show (KeyMap v)Defined in aeson-2.2.5.1 · Data.Aeson.KeyMap
  • Show vertex => Show (SCC vertex)Defined in containers-0.8 · Data.Graph
  • ByteArrayAccess bytes => Show (View bytes)Defined in memory-0.18.0 · Data.ByteArray.View
  • ByteArrayAccess bytes => Show (View bytes)Defined in ram-0.22.1 · Data.ByteArray.View
  • (PrimType ty, Show ty) => Show (Block ty)Defined in basement-0.0.16 · Basement.Block.Base
  • (PrimType ty, Show ty) => Show (UArray ty)Defined in basement-0.0.16 · Basement.UArray.Base
  • (Functor f, Show1 f) => Show (Mu f)Defined in data-fix-0.3.4 · Data.Fix
  • (Functor f, Show1 f) => Show (Nu f)Defined in data-fix-0.3.4 · Data.Fix
  • (Monoid s, Show s) => Show (Doc s)Defined in algebraic-graphs-0.8 · Algebra.Graph.Export
  • (Ord a, Show a) => Show (AdjacencyMap a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Acyclic.AdjacencyMap
  • (Ord a, Show a) => Show (AdjacencyMap a)Defined in algebraic-graphs-0.8 · Algebra.Graph.AdjacencyMap
  • (Ord a, Show a) => Show (AdjacencyMap a)Defined in algebraic-graphs-0.8 · Algebra.Graph.NonEmpty.AdjacencyMap
  • (Ord a, Show a) => Show (Relation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation
  • (Ord a, Show a) => Show (PreorderRelation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Preorder
  • (Ord a, Show a) => Show (ReflexiveRelation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Reflexive
  • (Ord a, Show a) => Show (Relation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Symmetric
  • (Ord a, Show a) => Show (TransitiveRelation a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Relation.Transitive
  • (Num a, Show a) => Show (NonNegative a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • (Fractional a, Show a) => Show (Chromaticity a)Defined in colour-2.3.7 · Data.Colour.CIE.Chromaticity
  • (Fractional a, Show a) => Show (Colour a)Defined in colour-2.3.7 · Data.Colour · orphan
  • (Fractional a, Show a, Eq a) => Show (AlphaColour a)Defined in colour-2.3.7 · Data.Colour · orphan
  • (Show a, Eq a, ASN1Object a) => Show (Signed a)Defined in crypton-x509-1.9.2 · Data.X509.Signed
  • (Show a, Eq a, ASN1Object a) => Show (SignedExact a)Defined in crypton-x509-1.9.2 · Data.X509.Signed
  • (Show a, Ord a) => Show (StateSCC a)Defined in algebraic-graphs-0.8 · Algebra.Graph.AdjacencyMap.Algorithm
  • (Show a, Ord a) => Show (Todo a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Example.Todo
  • (Show a, Ord a) => Show (Graph a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Undirected
  • (Show a, Storable a) => Show (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Storable
  • (Show a, Prim a) => Show (PrimArray a)Defined in primitive-0.9.1.0 · Data.Primitive.PrimArray
  • (Show a, Prim a) => Show (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Primitive
  • (Show a, Unbox a) => Show (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphan
  • (Show ty, Prim ty) => Show (ScrubbedBlock ty)Defined in mlkem-0.2.3.0 · ScrubbedBlock
  • Show a :=> Show (Complex a)Defined in constraints-0.14.4 · Data.Constraint
  • Show a :=> Show (Const a b)Defined in constraints-0.14.4 · Data.Constraint
  • Show a :=> Show (Identity a)Defined in constraints-0.14.4 · Data.Constraint
  • Show a :=> Show (Maybe a)Defined in constraints-0.14.4 · Data.Constraint
  • Show a :=> Show [a]Defined in constraints-0.14.4 · Data.Constraint
  • HasResolution a => Show (Fixed a)Defined in base-4.23.0.0 · Data.Fixed
  • Show (PublicKey curve hash)Defined in crypton-2.1.7 · Crypto.PubKey.EdDSA
  • Show (Signature curve hash)Defined in crypton-2.1.7 · Crypto.PubKey.EdDSA
  • Show (PublicKey curve hash)Defined in cryptonite-0.30 · Crypto.PubKey.EdDSA
  • Show (Signature curve hash)Defined in cryptonite-0.30 · Crypto.PubKey.EdDSA
  • Show (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Show (TypeRep a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Typeable.Internal
  • Show (U1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (UAddr p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (V1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (ST s a)Defined in ghc-internal-10.0.0 · GHC.Internal.ST
  • Show (EvalFrame m v)Defined in hnix-0.17.0 · Nix.Eval
  • Show (SynHoleInfo m v)Defined in hnix-0.17.0 · Nix.Eval
  • Show (Scopes m a)Defined in hnix-0.17.0 · Nix.Scope
  • Show (NThunkF m v)Defined in hnix-0.17.0 · Nix.Thunk.Basic
  • Show (a :- b)Defined in constraints-0.14.4 · Data.Constraint
  • Show (a -> b)Defined in base-4.23.0.0 · Text.Show.Functions · orphan
  • Show (f a) => Show (Zippy f a)Defined in semialign-1.3.1.1 · Data.Zip
  • Show (f r) => Show (FlaggedF f r)Defined in hnix-0.17.0 · Nix.Reduce
  • Show a => Show (Shrinking s a)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Modifiers
  • Show a => Show (Base64 k a)Defined in base64-1.0 · Data.Base64.Types.Internal
  • Show a => Show (ListN n a)Defined in basement-0.0.16 · Basement.Sized.List
  • Show a => Show (Vect n a)Defined in basement-0.0.16 · Basement.Sized.Vect
  • Show a => Show (Vector n a)Defined in mlkem-0.2.3.0 · Vector
  • Show a => Show (EnumMap k a)Defined in regex-tdfa-1.3.2.6 · Data.IntMap.EnumMap2
  • Show ba => Show (SizedByteArray n ba)Defined in memory-0.18.0 · Data.ByteArray.Sized
  • Show ba => Show (SizedByteArray n ba)Defined in ram-0.22.1 · Data.ByteArray.Sized
  • Show v => Show (Provenance m v)Defined in hnix-0.17.0 · Nix.Cited
  • GShow tag => Show (Some tag)Defined in some-1.0.6 · Data.GADT.Internal
  • GShow tag => Show (Some tag)Defined in some-1.0.6 · Data.Some.GADT
  • GShow tag => Show (Some tag)Defined in some-1.0.6 · Data.Some.Newtype
  • (Show1 f, Show a) => Show (Cofree f a)Defined in free-5.2 · Control.Comonad.Cofree
  • (Show1 f, Show a) => Show (Free f a)Defined in free-5.2 · Control.Monad.Free
  • (Show1 f, Show a) => Show (Free f a)Defined in free-5.2 · Control.Monad.Free.Ap
  • (Show1 f, Show a) => Show (Lift f a)Defined in transformers-0.6.3.0 · Control.Applicative.Lift
  • (Show1 m, Show a) => Show (IterT m a)Defined in free-5.2 · Control.Monad.Trans.Iter
  • (Show1 m, Show a) => Show (MaybeT m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Maybe
  • (Show1 w, Show a) => Show (CoiterT w a)Defined in free-5.2 · Control.Comonad.Trans.Coiter
  • (PrimType a, Show a) => Show (BlockN n a)Defined in basement-0.0.16 · Basement.Sized.Block
  • (PrimType a, Show a) => Show (UVect n a)Defined in basement-0.0.16 · Basement.Sized.UVect
  • (Ord a, Ord b, Show a, Show b) => Show (AdjacencyMap a b)Defined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap
  • (Ord a, Show a, Ord e, Show e) => Show (AdjacencyMap e a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Labelled.AdjacencyMap
  • (Ix a, Show a, Show b) => Show (Array a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Arr
  • (Ix ix, Show ix, Show e, IArray UArray e) => Show (UArray ix e)Defined in array-0.5.8.0 · Data.Array.Base
  • (Show (ParseError s e), Show s) => Show (State s e)Defined in megaparsec-9.5.0 · Text.Megaparsec.State
  • (Show (Token s), Show e) => Show (ParseError s e)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error
  • (Show a, Show b) => Show (Fun a b)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Function
  • (Show a, Show b) => Show (List a b)Defined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap
  • (Show a, Show b) => Show (Matching a b)Defined in algebraic-graphs-0.8 · Algebra.Graph.Bipartite.AdjacencyMap.Algorithm
  • (Show a, Show b) => Show (Arg a b)Defined in base-4.23.0.0 · Data.Semigroup
  • (Show a, Show b) => Show (These a b)Defined in basement-0.0.16 · Basement.These
  • (Show a, Show b) => Show (Either a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Either
  • (Show a, Show b) => Show (Either a b)Defined in strict-0.5.1 · Data.Strict.Either
  • (Show a, Show b) => Show (These a b)Defined in strict-0.5.1 · Data.Strict.These
  • (Show a, Show b) => Show (Pair a b)Defined in strict-0.5.1 · Data.Strict.Tuple
  • (Show a, Show b) => Show (These a b)Defined in these-1.2.1 · Data.These
  • (Show a, Show b) => Show (a, b)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • (Show a, Show b) => Show (a :-> b)Defined in QuickCheck-2.18.0.0 · Test.QuickCheck.Function
  • (Show a, Show e) => Show (Graph e a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Labelled
  • (Show ann, Show expr) => Show (AnnUnit ann expr)Defined in hnix-0.17.0 · Nix.Expr.Types.Annotated
  • (Show ba, Show a) => Show (Result ba a)Defined in memory-0.18.0 · Data.ByteArray.Parse
  • (Show ba, Show a) => Show (Result ba a)Defined in ram-0.22.1 · Data.ByteArray.Parse
  • (Show c, Show a) => Show (Tree c a)Defined in hspec-core-2.11.18 · Test.Hspec.Core.Runner.Eval
  • (Show c, Show a) => Show (Tree c a)Defined in hspec-core-2.11.18 · Test.Hspec.Core.Tree
  • (Show c, Show a) => Show (ShowComment c a)Defined in megaparsec-9.5.0 · Text.Megaparsec.Debug
  • (Show e, Show a) => Show (Context e a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Labelled
  • (Show fp, Show txt) => Show (DerivationOutput fp txt)Defined in nix-derivation-1.1.3 · Nix.Derivation.Types
  • (Show i, Show r) => Show (IResult i r)Defined in attoparsec-0.14.4 · Data.Attoparsec.Internal.Types
  • (Show k, Show a) => Show (Map k a)Defined in containers-0.8 · Data.Map.Internal
  • (Show k, Show a) => Show (IPRTable k a)Defined in iproute-1.7.15 · Data.IP.RouteTable.Internal
  • (Show k, Show e) => Show (TkArray k e)Defined in aeson-2.2.5.1 · Data.Aeson.Decoding.Tokens
  • (Show k, Show e) => Show (TkRecord k e)Defined in aeson-2.2.5.1 · Data.Aeson.Decoding.Tokens
  • (Show k, Show e) => Show (Tokens k e)Defined in aeson-2.2.5.1 · Data.Aeson.Decoding.Tokens
  • (Show k, Show v) => Show (HashMap k v)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal
  • (Show o, Show a) => Show (Optimum o a)Defined in algebraic-graphs-0.8 · Algebra.Graph.Label
  • (Show s, Show (Token s), Show e) => Show (ParseErrorBundle s e)Defined in megaparsec-9.5.0 · Text.Megaparsec.Error
  • (Show txt, Show fp) => Show (Derivation fp txt)Defined in nix-derivation-1.1.3 · Nix.Derivation.Types
  • (Show v, Show r) => Show (Antiquoted v r)Defined in hnix-0.17.0 · Nix.Expr.Types
  • (GShow (Rep1 f a), Generic1 f) => Show (FunctorClassesDefault f a)Defined in transformers-compat-0.7.2 · Data.Functor.Classes.Generic.Internal
  • (Integral a, Show a) :=> Show (Ratio a)Defined in constraints-0.14.4 · Data.Constraint
  • (Show a, Show b) :=> Show (Either a b)Defined in constraints-0.14.4 · Data.Constraint
  • (Show a, Show b) :=> Show (a, b)Defined in constraints-0.14.4 · Data.Constraint
  • Show (Coercion a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Coercion
  • Show (OrderingI a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Ord
  • Show (URec Char p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (URec Double p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (URec Float p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (URec Int p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (URec Word p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (GOrdering a b)Defined in some-1.0.6 · Data.GADT.Internal
  • Show (a :~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • Show (bi a b) => Show (Biap bi a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Biap
  • Show (f a) => Show (Ap f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Monoid
  • Show (f a) => Show (Alt f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Semigroup.Internal
  • Show (f p) => Show (Rec1 f p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (p (Fix p a) a) => Show (Fix p a)Defined in bifunctors-5.6.3 · Data.Bifunctor.Fix
  • Show (p a a) => Show (Join p a)Defined in bifunctors-5.6.3 · Data.Bifunctor.Join
  • Show (w (CofreeF f a (CofreeT f w a))) => Show (CofreeT f w a)Defined in free-5.2 · Control.Comonad.Trans.Cofree
  • Show a => Show (Const a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Functor.Const

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

  • Show a => Show (Constant a b)Defined in transformers-0.6.3.0 · Data.Functor.Constant
  • Show b => Show (Tagged s b)Defined in tagged-0.8.11 · Data.Tagged
  • Show r => Show (NValueF p m r)Defined in hnix-0.17.0 · Nix.Value
  • (Show1 f, Show1 m, Show a) => Show (FreeT f m a)Defined in free-5.2 · Control.Monad.Trans.Free
  • (Show1 f, Show1 m, Show a) => Show (FreeT f m a)Defined in free-5.2 · Control.Monad.Trans.Free.Ap
  • (Show1 f, Show a) => Show (Backwards f a)Defined in transformers-0.6.3.0 · Control.Applicative.Backwards
  • (Show1 f, Show a) => Show (IdentityT f a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Identity
  • (Show1 f, Show a) => Show (Reverse f a)Defined in transformers-0.6.3.0 · Data.Functor.Reverse
  • (Comonad f, Applicative f, Show t) => Show (ExecFrame t f m)Defined in hnix-0.17.0 · Nix.Exec
  • (Comonad f, Applicative f, Show t) => Show (NormalLoop t f m)Defined in hnix-0.17.0 · Nix.Normal
  • (Show (f a), Show (g a), Show a) => Show (These1 f g a)Defined in these-1.2.1 · Data.Functor.These
  • (Show a, Show (f b)) => Show (CofreeF f a b)Defined in free-5.2 · Control.Comonad.Trans.Cofree
  • (Show a, Show (f b)) => Show (FreeF f a b)Defined in free-5.2 · Control.Monad.Trans.Free
  • (Show a, Show (f b)) => Show (FreeF f a b)Defined in free-5.2 · Control.Monad.Trans.Free.Ap
  • (Show a, Show b, Show c) => Show (a, b, c)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • (Show e, Show1 m, Show a) => Show (ExceptT e m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Except
  • (Show v, Show a) => Show (NCited m v a)Defined in hnix-0.17.0 · Nix.Cited
  • (Show w, Show1 m, Show a) => Show (WriterT w m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.Lazy
  • (Show w, Show1 m, Show a) => Show (WriterT w m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.Strict
  • (NVConstraint f, Show t) => Show (ValueFrame t f m)Defined in hnix-0.17.0 · Nix.Value
  • (GShow tag, Has' Show tag f) => Show (DSum tag f)Defined in dependent-sum-0.7.2.0 · Data.Dependent.Sum
  • Show (a :~~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • Show c => Show (K1 i c p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Show (f a), Show (g a)) => Show (Product f g a)Defined in base-4.23.0.0 · Data.Functor.Product
  • (Show (f a), Show (g a)) => Show (Sum f g a)Defined in base-4.23.0.0 · Data.Functor.Sum
  • (Show (f p), Show (g p)) => Show ((:*:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Show (f p), Show (g p)) => Show ((:+:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • (Show a, Show b, Show c, Show d) => Show (a, b, c, d)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • (NVConstraint f, Show a) => Show (NValue' t f m a)Defined in hnix-0.17.0 · Nix.Value
  • Show (f (g a)) => Show (Compose f g a)Defined in base-4.23.0.0 · Data.Functor.Compose
  • Show (f (g p)) => Show ((:.:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (f a) => Show (Clown f a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Clown
  • Show (f p) => Show (M1 i c f p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (g b) => Show (Joker g a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Joker
  • Show (p a b) => Show (WrappedBifunctor p a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Wrapped
  • Show (p b a) => Show (Flip p a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Flip
  • (Show a, Show b, Show c, Show d, Show e) => Show (a, b, c, d, e)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • (Show (f a b), Show (g a b)) => Show (Product f g a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Product
  • (Show (p a b), Show (q a b)) => Show (Sum p q a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Sum
  • (Show a, Show b, Show c, Show d, Show e, Show f) => Show (a, b, c, d, e, f)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show (f (p a b)) => Show (Tannen f p a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Tannen
  • (Show a, Show b, Show c, Show d, Show e, Show f, Show g) => Show (a, b, c, d, e, f, g)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Show (p (f a) (g b)) => Show (Biff p f g a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Biff
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
  • (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)Defined in ghc-internal-10.0.0 · GHC.Internal.Show
datadata CallStack
#

CallStacks are a lightweight method of obtaining a partial call-stack at any point in the program.

A function can request its call-site with the HasCallStack constraint. For example, we can define

putStrLnWithCallStack :: HasCallStack => String -> IO ()

as a variant of putStrLn that will get its call-site and print it, along with the string given as argument. We can access the call-stack inside putStrLnWithCallStack with callStack.

Example1 expression
:{putStrLnWithCallStack :: HasCallStack => String -> IO ()putStrLnWithCallStack msg = do  putStrLn msg  putStrLn (prettyCallStack callStack):}

Thus, if we call putStrLnWithCallStack we will get a formatted call-stack alongside our string.

Example1 expression
putStrLnWithCallStack "hello"helloCallStack (from HasCallStack):  putStrLnWithCallStack, called at <interactive>:... in interactive:Ghci...

GHC solves HasCallStack constraints in three steps:

  1. If there is a CallStack in scope -- i.e. the enclosing function has a HasCallStack constraint -- GHC will append the new call-site to the existing CallStack.

  2. If there is no CallStack in scope -- e.g. in the GHCi session above -- and the enclosing definition does not have an explicit type signature, GHC will infer a HasCallStack constraint for the enclosing definition (subject to the monomorphism restriction).

  3. If there is no CallStack in scope and the enclosing definition has an explicit type signature, GHC will solve the HasCallStack constraint for the singleton CallStack containing just the current call-site.

CallStacks do not interact with the RTS and do not require compilation with -prof. On the other hand, as they are built up explicitly via the HasCallStack constraints, they will generally not contain as much information as the simulated call-stacks maintained by the RTS.

A CallStack is a [(String, SrcLoc)]. The String is the name of function that was called, the SrcLoc is the call-site. The list is ordered with the most recently called function at the head.

NOTE: The intrepid user may notice that HasCallStack is just an alias for an implicit parameter ?callStack :: CallStack. This is an implementation detail and should not be considered part of the CallStack API, we may decide to change the implementation in the future.

Instances4IsList, Show, NFData, Item
typetype HasCallStack = IP "callStack" CallStack
#

Request a CallStack.

NOTE: The implicit parameter ?callStack :: CallStack is an implementation detail and should not be considered part of the CallStack API, we may decide to change the implementation in the future.

classclass KnownNat (n :: Nat) where
#

This class gives the integer associated with a type-level natural. There are instances of the class for every concrete literal: 0, 1, 2, etc.

typetype Nat = Natural
#

A type synonym for Natural.

Previously, this was an opaque data type, but it was changed to a type synonym.

Instances6HasResolution, EqP, GCompare, GEq, GShow, OrdP
  • KnownNat n => HasResolution nDefined in base-4.23.0.0 · Data.Fixed

    For example, Fixed 1000 will give you a Fixed with a resolution of 1000.

  • EqP SNatDefined in some-1.0.6 · Data.EqP
  • GCompare SNatDefined in some-1.0.6 · Data.GADT.Internal
  • GEq SNatDefined in some-1.0.6 · Data.GADT.Internal
  • GShow SNatDefined in some-1.0.6 · Data.GADT.Internal
  • OrdP SNatDefined in some-1.0.6 · Data.OrdP
datadata SomeNat
#

This type represents unknown type-level natural numbers.

Constructors

Instances4Eq, Ord, Read, Show
  • Eq SomeNatDefined in ghc-internal-10.0.0 · GHC.Internal.TypeNats
  • Ord SomeNatDefined in ghc-internal-10.0.0 · GHC.Internal.TypeNats
  • Read SomeNatDefined in ghc-internal-10.0.0 · GHC.Internal.TypeNats
  • Show SomeNatDefined in ghc-internal-10.0.0 · GHC.Internal.TypeNats
newtypenewtype IO a
#

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 Prelude.>> and Prelude.>>= operations from the Prelude.Monad class.

Instances83Monad, Functor, MonadFix, MonadFail, Applicative, GHCiSandboxIO, …
datadata Ordering
#
Instances33Bounded, Enum, Eq, Data, Ord, Read, …
datadata Word16
#

16-bit unsigned integer type

Instances91Bounded, Enum, Eq, Data, Num, Ord, …
datadata Word32
#

32-bit unsigned integer type

Instances89Bounded, Enum, Eq, Data, Num, Ord, …
datadata Word64
#

64-bit unsigned integer type

Instances92Bounded, Enum, Eq, Data, Num, Ord, …
datadata Word8
#

8-bit unsigned integer type

Instances97Bounded, Enum, Eq, Data, Num, Ord, …
classclass Eq a => Hashable a where
#

The class of types that can be converted to a hash value.

Minimal implementation: hashWithSalt.

Hashable is intended exclusively for use in in-memory data structures. . Hashable does not have a fixed standard. This allows it to improve over time. . Because it does not have a fixed standard, different computers or computers on different versions of the code will observe different hash values. As such, Hashable is not recommended for use other than in-memory datastructures. Specifically, Hashable is not intended for network use or in applications which persist hashed values. For stable hashing use named hashes: sha256, crc32, xxhash etc.

If you are looking for Hashable instance in time package, check time-compat

Methods

  • hashWithSalt :: Int -> a -> Intinfixl 0

    Return a hash value for the argument, using the given salt.

    The general contract of hashWithSalt is:

    • If two values are equal according to the == method, then applying the hashWithSalt method on each of the two values must produce the same integer result if the same salt is used in each case.

    • It is not required that if two values are unequal according to the == method, then applying the hashWithSalt method on each of the two values must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal values may improve the performance of hashing-based data structures.

    • This method can be used to compute different hash values for the same input by providing a different salt in each application of the method. This implies that any instance that defines hashWithSalt must make use of the salt in its implementation.

    • hashWithSalt may return negative Int values.

Instances137Lifting2, Lifting, Hashable, …
classclass Monad m => MonadReader r (m :: Type -> Type) | m -> r where
#

See examples in Control.Monad.Reader. Note, the partially applied function type (->) r is a simple reader monad. See the instance declaration below.

Methods

  • ask :: m r

    Retrieves the monad environment.

  • local :: (r -> r) -> m a -> m a

    Executes a computation in a modified environment.

  • reader :: (r -> a) -> m a

    Retrieves a function of the current environment.

Instances46Lifting, MonadReader, …
classclass Monad m => MonadState s (m :: Type -> Type) | m -> s where
#

Minimal definition is either both of get and put or just state

Methods

  • get :: m s

    Return the state from the internals of the monad.

  • put :: s -> m ()

    Replace the state inside the monad.

  • state :: (s -> (a, s)) -> m a

    Embed a simple state action into the monad.

Instances45Lifting, MonadState, …
classclass One x where
#

Typeclass for data types that can be created from one element. E.g. lists, non-empty containers, maps.

Example3 expressions
one True :: [Bool][True]one 'a' :: Text"a"one (3, "hello") :: HashMap Int StringfromList [(3,"hello")]

Laws:

  • single-size: ∀ x . size (one x) ≡ 1

(where size is a specific function for each container that returns the size of this container)

Associated types

  • type family OneItem x

    Type of a single element of the structure.

Methods

  • one :: OneItem x -> x

    Create a list, map, Text, etc from a single element.

Instances17One, …
  • One ByteStringDefined in relude-1.2.2.2 · Relude.Container.One

    Create singleton strict ByteString.

    Example1 expression
    one 97 :: ByteString"a"
    law> length (one x) ≡ 1
    
  • One ByteStringDefined in relude-1.2.2.2 · Relude.Container.One

    Create singleton lazy ByteString.

    Example1 expression
    one 97 :: LByteString"a"
    law> length (one x) ≡ 1
    
  • One ShortByteStringDefined in relude-1.2.2.2 · Relude.Container.One

    Create singleton ShortByteString.

    Example1 expression
    one 97 :: ShortByteString"a"
    law> length (one x) ≡ 1
    
  • One IntSetDefined in relude-1.2.2.2 · Relude.Container.One

    Create singleton IntSet.

    Example1 expression
    one 42 :: IntSetfromList [42]
    law> size (one x) ≡ 1
    
  • One AssumptionDefined in hnix-0.17.0 · Nix.Type.Assumption
  • One EnvDefined in hnix-0.17.0 · Nix.Type.Env
  • One TextDefined in relude-1.2.2.2 · Relude.Container.One

    Create singleton strict Text.

    Example1 expression
    one 'a' :: Text"a"
    law> length (one x) ≡ 1
    
  • One TextDefined in relude-1.2.2.2 · Relude.Container.One

    Create singleton lazy Text.

    Example1 expression
    one 'a' :: LText"a"
    law> length (one x) ≡ 1
    
  • Hashable a => One (HashSet a)Defined in relude-1.2.2.2 · Relude.Container.One

    Create singleton HashSet.

    Example1 expression
    one 42 :: HashSet IntfromList [42]
    law> length (one @(HashSet a) x) ≡ 1
    
  • One (IntMap v)Defined in relude-1.2.2.2 · Relude.Container.One

    Create singleton IntMap from key-value pair.

    Example1 expression
    one (3, "foo") :: IntMap TextfromList [(3,"foo")]
    law> length (one @(IntMap a) x) ≡ 1
    
  • One (Seq a)Defined in relude-1.2.2.2 · Relude.Container.One

    Create singleton Seq.

    Example1 expression
    one 42 :: Seq IntfromList [42]
    law> length (one @(Seq a) x) ≡ 1
    
  • One (Set a)Defined in relude-1.2.2.2 · Relude.Container.One

    Create singleton Set.

    Example1 expression
    one 42 :: Set IntfromList [42]
    law> length (one @(Set a) x) ≡ 1
    
  • One (NonEmpty a)Defined in relude-1.2.2.2 · Relude.Container.One

    Allows to create singleton NonEmpty list. You might prefer function with name one instead of pure or (:|[]).

    Example1 expression
    one 42 :: NonEmpty Int42 :| []
    law> length (one @(NonEmpty a) x) ≡ 1
    
  • One (Scope a)Defined in hnix-0.17.0 · Nix.Scope
  • One [a]Defined in relude-1.2.2.2 · Relude.Container.One

    Allows to create a singleton list. You might prefer function with name one instead of pure or (:[]).

    Example1 expression
    one 42 :: [Int][42]
    law> length (one @[a] x) ≡ 1
    
  • Hashable k => One (HashMap k v)Defined in relude-1.2.2.2 · Relude.Container.One

    Create singleton HashMap from key-value pair.

    Example1 expression
    one (3, "foo") :: HashMap Int TextfromList [(3,"foo")]
    law> length (one @(HashMap k v) (k, v)) ≡ 1
    
  • One (Map k v)Defined in relude-1.2.2.2 · Relude.Container.One

    Create singleton Map from key-value pair.

    Example1 expression
    one (3, "foo") :: Map Int TextfromList [(3,"foo")]
    law> length (one @(Map k v) (k, v)) ≡ 1
    
familytype family OneItem x
#

Type of a single element of the structure.

Instances17OneItem, …
datadata Undefined
#

Undefined type remains in code

Similar to undefined but data type.

Instances9Bounded, Enum, Eq, Data, Ord, Read, …
datadata Bug
#

Type that represents exceptions used in cases when a particular codepath is not meant to be ever executed, but happens to be executed anyway.

Instances2Show, Exception
  • Show BugDefined in relude-1.2.2.2 · Relude.Exception
  • Exception BugDefined in relude-1.2.2.2 · Relude.Exception
classclass ConvertUtf8 a b where
#

Type class for conversion to utf8 representation of text.

Methods

  • encodeUtf8 :: a -> b

    Encode as utf8 string (usually B.ByteString).

    Example1 expression
    encodeUtf8 @Text @ByteString "патак""\208\191\208\176\209\130\208\176\208\186"
  • decodeUtf8 :: b -> a

    Decode from utf8 string.

    Example2 expressions
    decodeUtf8 @Text @ByteString "\208\191\208\176\209\130\208\176\208\186""\1087\1072\1090\1072\1082"putTextLn $ decodeUtf8 @Text @ByteString "\208\191\208\176\209\130\208\176\208\186"патак
  • decodeUtf8Strict :: b -> Either UnicodeException a

    Decode as utf8 string but returning execption if byte sequence is malformed.

    Example1 expression
    decodeUtf8 @Text @ByteString "\208\208\176\209\130\208\176\208\186""\65533\1072\1090\1072\1082"
    Example1 expression
    decodeUtf8Strict @Text @ByteString "\208\208\176\209\130\208\176\208\186"Left Cannot decode byte '\xd0': ...: Invalid UTF-8 stream
Instances9ConvertUtf8, …
classclass ToLText a where
#

Type class for converting other strings to Text.

Methods

Instances6ToLText
  • EncodingError ToLText "ByteString" "LText" => ToLText ByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion

    ⚠️CAUTION⚠️ This instance is for custom error display only.

    You should always specify encoding of bytes explicitly.

    In case it is used by mistake, the user will see the following:

    Example1 expression
    toLText ("some string" :: ByteString)...... Type 'ByteString' doesn't have instance of 'ToLText'.      Use 'decodeUtf8' or 'decodeUtf8Strict' to convert from UTF-8:          decodeUtf8       :: ByteString -> LText          decodeUtf8Strict :: ByteString -> Either UnicodeException LText...
  • EncodingError ToLText "LByteString" "LText" => ToLText LByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion

    ⚠️CAUTION⚠️ This instance is for custom error display only.

    You should always specify encoding of bytes explicitly.

    In case it is used by mistake, the user will see the following:

    Example1 expression
    toLText ("some string" :: LByteString)...... Type 'LByteString' doesn't have instance of 'ToLText'.      Use 'decodeUtf8' or 'decodeUtf8Strict' to convert from UTF-8:          decodeUtf8       :: LByteString -> LText          decodeUtf8Strict :: LByteString -> Either UnicodeException LText...
  • EncodingError ToLText "ShortByteString" "LText" => ToLText ShortByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion

    ⚠️CAUTION⚠️ This instance is for custom error display only.

    You should always specify encoding of bytes explicitly.

    In case it is used by mistake, the user will see the following:

    Example1 expression
    toLText ("some string" :: ShortByteString)...... Type 'ShortByteString' doesn't have instance of 'ToLText'.      Use 'decodeUtf8' or 'decodeUtf8Strict' to convert from UTF-8:          decodeUtf8       :: ShortByteString -> LText          decodeUtf8Strict :: ShortByteString -> Either UnicodeException LText...
  • ToLText StringDefined in relude-1.2.2.2 · Relude.String.Conversion
  • ToLText TextDefined in relude-1.2.2.2 · Relude.String.Conversion
  • ToLText TextDefined in relude-1.2.2.2 · Relude.String.Conversion
classclass ToString a where
#

Type class for converting other strings to String.

Methods

Instances8ToString, …
  • EncodingError ToString "ByteString" "String" => ToString ByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion

    ⚠️CAUTION⚠️ This instance is for custom error display only.

    You should always specify encoding of bytes explicitly.

    In case it is used by mistake, the user will see the following:

    Example1 expression
    toString ("some string" :: ByteString)...... Type 'ByteString' doesn't have instance of 'ToString'.      Use 'decodeUtf8' or 'decodeUtf8Strict' to convert from UTF-8:          decodeUtf8       :: ByteString -> String          decodeUtf8Strict :: ByteString -> Either UnicodeException String...
  • EncodingError ToString "LByteString" "String" => ToString LByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion

    ⚠️CAUTION⚠️ This instance is for custom error display only.

    You should always specify encoding of bytes explicitly.

    In case it is used by mistake, the user will see the following:

    Example1 expression
    toString ("some string" :: LByteString)...... Type 'LByteString' doesn't have instance of 'ToString'.      Use 'decodeUtf8' or 'decodeUtf8Strict' to convert from UTF-8:          decodeUtf8       :: LByteString -> String          decodeUtf8Strict :: LByteString -> Either UnicodeException String...
  • EncodingError ToString "ShortByteString" "String" => ToString ShortByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion

    ⚠️CAUTION⚠️ This instance is for custom error display only.

    You should always specify encoding of bytes explicitly.

    In case it is used by mistake, the user will see the following:

    Example1 expression
    toString ("some string" :: ShortByteString)...... Type 'ShortByteString' doesn't have instance of 'ToString'.      Use 'decodeUtf8' or 'decodeUtf8Strict' to convert from UTF-8:          decodeUtf8       :: ShortByteString -> String          decodeUtf8Strict :: ShortByteString -> Either UnicodeException String...
  • ToString StringDefined in relude-1.2.2.2 · Relude.String.Conversion
  • ToString VarNameDefined in hnix-0.17.0 · Nix.Expr.Types
  • ToString NOpNameDefined in hnix-0.17.0 · Nix.Parser
  • ToString LTextDefined in relude-1.2.2.2 · Relude.String.Conversion
  • ToString TextDefined in relude-1.2.2.2 · Relude.String.Conversion
classclass ToText a where
#

Type class for converting other strings to Text.

Methods

Instances7ToText, …
  • EncodingError ToText "ByteString" "Text" => ToText ByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion

    ⚠️CAUTION⚠️ This instance is for custom error display only.

    You should always specify encoding of bytes explicitly.

    In case it is used by mistake, the user will see the following:

    Example1 expression
    toText ("some string" :: ByteString)...... Type 'ByteString' doesn't have instance of 'ToText'.      Use 'decodeUtf8' or 'decodeUtf8Strict' to convert from UTF-8:          decodeUtf8       :: ByteString -> Text          decodeUtf8Strict :: ByteString -> Either UnicodeException Text...
  • EncodingError ToText "LByteString" "Text" => ToText LByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion

    ⚠️CAUTION⚠️ This instance is for custom error display only.

    You should always specify encoding of bytes explicitly.

    In case it is used by mistake, the user will see the following:

    Example1 expression
    toText ("some string" :: LByteString)...... Type 'LByteString' doesn't have instance of 'ToText'.      Use 'decodeUtf8' or 'decodeUtf8Strict' to convert from UTF-8:          decodeUtf8       :: LByteString -> Text          decodeUtf8Strict :: LByteString -> Either UnicodeException Text...
  • EncodingError ToText "ShortByteString" "Text" => ToText ShortByteStringDefined in relude-1.2.2.2 · Relude.String.Conversion

    ⚠️CAUTION⚠️ This instance is for custom error display only.

    You should always specify encoding of bytes explicitly.

    In case it is used by mistake, the user will see the following:

    Example1 expression
    toText ("some string" :: ShortByteString)...... Type 'ShortByteString' doesn't have instance of 'ToText'.      Use 'decodeUtf8' or 'decodeUtf8Strict' to convert from UTF-8:          decodeUtf8       :: ShortByteString -> Text          decodeUtf8Strict :: ShortByteString -> Either UnicodeException Text...
  • ToText StringDefined in relude-1.2.2.2 · Relude.String.Conversion
  • ToText PathDefined in hnix-0.17.0 · Nix.Utils
  • ToText LTextDefined in relude-1.2.2.2 · Relude.String.Conversion
  • ToText TextDefined in relude-1.2.2.2 · Relude.String.Conversion
newtypenewtype TMVar a
#

A TMVar is a synchronising variable, used for communication between concurrent threads. It can be thought of as a box, which may be empty or full.

Instances1Eq
  • Eq (TMVar a)Defined in stm-2.5.3.1 · Control.Concurrent.STM.TMVar
typetype OnError a b = String -> Maybe a -> Maybe b
#

Function type for handling a coding error. It is supplied with two inputs:

  • A String that describes the error.

  • The input value that caused the error. If the error arose because the end of input was reached or could not be identified precisely, this value will be Nothing.

If the handler returns a value wrapped with Just, that value will be used in the output as the replacement for the invalid input. If it returns Nothing, no value will be used in the output.

Should the handler need to abort processing, it should use error or throw an exception (preferably a UnicodeException). It may use the description provided to construct a more helpful error report.

datadata Text
#

A space efficient, packed, unboxed Unicode text type.

Instances67IsList, Eq, Data, Ord, Read, Show, …
classclass (forall (m :: Type -> Type). Monad m => Monad (t m)) => MonadTrans (t :: (Type -> Type) -> Type -> Type) where
#

The class of monad transformers. For any monad m, the result t m should also be a monad, and lift should be a monad transformation from m to t m, i.e. it should satisfy the following laws:

Since 0.6.0.0 and for GHC 8.6 and later, the requirement that t m be a Monad is enforced by the implication constraint forall m. Monad m => Monad (t m) enabled by the QuantifiedConstraints extension.

Ambiguity error with GHC 9.0 to 9.2.2

These versions of GHC have a bug (https://gitlab.haskell.org/ghc/ghc/-/issues/20582) which causes constraints like

(MonadTrans t, forall m. Monad m => Monad (t m)) => ...

to be reported as ambiguous. For transformers 0.6 and later, this can be fixed by removing the second constraint, which is implied by the first.

Methods

  • lift :: Monad m => m a -> t m a

    Lift a computation from the argument monad to the constructed monad.

Instances40MonadTrans, …
newtypenewtype ExceptT e (m :: Type -> Type) a
#

A monad transformer that adds exceptions to other monads.

ExceptT constructs a strict monad parameterized over two things:

  • e - An arbitrary exception type.

  • m - The inner monad.

The monadic computations are a plain values. They are unrelated to the Control.Exception mechanism, which is tied to the IO monad.

The return function yields a computation that produces the given value, while >>= sequences two subcomputations, exiting on the first exception.

Constructors

Instances74MonadRWS, Generic1, MonadAccum, MonadError, MonadReader, MonadState, …
newtypenewtype IdentityT (f :: k -> Type) (a :: k)
#

The trivial monad transformer, which maps a monad to an equivalent monad.

Instances109MonadRWS, MonadParsec, MonadParsecDbg, Generic1, MonadAccum, MonadError, …
newtypenewtype MaybeT (m :: Type -> Type) a
#

The parameterizable maybe monad, a strict monad obtained by composing an arbitrary monad with the Maybe monad.

Computations are actions that may produce a value or exit.

The return function yields a computation that produces that value, while >>= sequences two subcomputations, exiting if either computation does.

Constructors

Instances77MonadTrans, MonadTransControl, MonadRWS, Generic1, MonadAccum, MonadError, …
newtypenewtype ReaderT r (m :: Type -> Type) a
#

The reader monad transformer, which adds a read-only environment to the given monad.

The return function ignores the environment, while m >>= k passes the inherited environment to both subcomputations:

image: images/bind-ReaderT.svg

ReaderT r m is strict if and only if m is.

Constructors

Instances72MonadParsec, MonadParsecDbg, Generic1, MonadAccum, MonadError, MonadReader, …
typetype State s = StateT s Identity
#

A state monad parameterized by the type s of the state to carry.

The return function leaves the state unchanged, while >>= uses the final state of the first computation as the initial state of the second.

newtypenewtype StateT s (m :: Type -> Type) a
#

A state transformer monad parameterized by:

  • s - The state.

  • m - The inner monad.

The return function leaves the state unchanged, while >>= uses the final state of the first computation as the initial state of the second.

Constructors

Instances66MonadParsec, MonadParsecDbg, MonadAccum, MonadError, MonadReader, MonadState, …
datadata HashMap k v
#

A map from keys to values. A map cannot contain duplicate keys; each key can map to at most one value.

Instances70Bifoldable, Eq2, Ord2, Show2, NFData2, Hashable2, …
newtypenewtype HashSet a
#

A set of values. A set cannot contain duplicate values.

Instances31Foldable, Eq1, Ord1, Show1, NFData1, Hashable1, …
  • Foldable HashSetDefined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • Eq1 HashSetDefined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • Ord1 HashSetDefined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • Show1 HashSetDefined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • NFData1 HashSetDefined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • Hashable1 HashSetDefined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • ToJSON1 HashSetDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • Lift a => Lift (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • Hashable a => IsList (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • Eq a => Eq (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal

    Note that, in the presence of hash collisions, equal HashSets may behave differently, i.e. extensionality may be violated:

    Example2 expressions
    data D = A | B deriving (Eq, Show)instance Hashable D where hashWithSalt salt _d = salt
    Example2 expressions
    x = fromList [A, B]y = fromList [B, A]
    Example3 expressions
    x == yTruetoList x[A,B]toList y[B,A]

    In general, the lack of extensionality can be observed with any function that depends on the key ordering, such as folds and traversals.

  • (Data a, Hashable a) => Data (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • Ord a => Ord (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • (Hashable a, Read a) => Read (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • Show a => Show (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • Hashable a => Semigroup (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal

    <> = union

    O(n+m)

    To obtain good performance, the smaller set must be presented as the first argument.

    Examples
    Example1 expression
    fromList [1,2] <> fromList [2,3]fromList [1,2,3]
  • Hashable a => Monoid (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal

    mempty = empty

    mappend = union

    O(n+m)

    To obtain good performance, the smaller set must be presented as the first argument.

    Examples
    Example1 expression
    mappend (fromList [1,2]) (fromList [2,3])fromList [1,2,3]
  • NFData a => NFData (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • (Hashable a, Eq a, Arbitrary a) => Arbitrary (HashSet a)Defined in hnix-store-tests-0.1.0.0 · Data.HashSet.Arbitrary · orphan
  • Hashable a => Hashable (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • (Eq a, Hashable a, FromJSON a) => FromJSON (HashSet a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON a => ToJSON (HashSet a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • (Serialise a, Hashable a, Eq a) => Serialise (HashSet a)Defined in serialise-0.2.6.1 · Codec.Serialise.Class
  • StoreReply (HashSet StorePath)Defined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreReply
  • StoreReply (HashSet StorePathName)Defined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreReply
  • Hashable a => One (HashSet a)Defined in relude-1.2.2.2 · Relude.Container.One

    Create singleton HashSet.

    Example1 expression
    one 42 :: HashSet IntfromList [42]
    law> length (one @(HashSet a) x) ≡ 1
    
  • Hashable a => StaticMap (HashSet a)Defined in relude-1.2.2.2 · Relude.Extra.Map
  • Monad m => MonadWriter (HashSet StringContext) (WithStringContextT m)Defined in hnix-0.17.0 · Nix.String
  • type Item (HashSet a) = aDefined in unordered-containers-0.2.21 · Data.HashSet.Internal
  • type OneItem (HashSet a) = aDefined in relude-1.2.2.2 · Relude.Container.One
  • type Key (HashSet a) = aDefined in relude-1.2.2.2 · Relude.Extra.Map
  • type Val (HashSet a) = aDefined in relude-1.2.2.2 · Relude.Extra.Map
typetype String = [Char]
#

String is an alias for a list of characters.

String constants in Haskell are values of type String. That means if you write a string literal like "hello world", it will have the type [Char], which is the same as String.

Note: You can ask the compiler to automatically infer different types with the -XOverloadedStrings language extension, for example "hello world" :: Text. See IsString for more information.

Because String is just a list of characters, you can use normal list functions to do basic string manipulation. See Data.List for operations on lists.

Performance considerations

[Char] is a relatively memory-inefficient type. It is a linked list of boxed word-size characters, internally it looks something like:

╭─────┬───┬──╮  ╭─────┬───┬──╮  ╭─────┬───┬──╮  ╭────╮
│ (:) │   │ ─┼─>│ (:) │   │ ─┼─>│ (:) │   │ ─┼─>│ [] │
╰─────┴─┼─┴──╯  ╰─────┴─┼─┴──╯  ╰─────┴─┼─┴──╯  ╰────╯
        v               v               v
       'a'             'b'             'c'

The String "abc" will use 5*3+1 = 16 (in general 5n+1) words of space in memory.

Furthermore, operations like (++) (string concatenation) are O(n) (in the left argument).

For historical reasons, the base library uses String in a lot of places for the conceptual simplicity, but library code dealing with user-data should use the text package for Unicode text, or the the bytestring package for binary data.

Instances19Input, Extract, TimeFormat, TraversableStream, VisualStream, ToLText, …
datadata Integer
#

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

Integers are stored in a kind of sign-magnitude form, hence do not expect two's complement form when using bit operations.

If the value is small (i.e., fits into an Int), the IS constructor is used. Otherwise IP and IN constructors are used to store a BigNat representing the positive or the negative value magnitude, respectively.

Invariant: IP and IN are used iff the value does not fit in IS.

Instances66Enum, Eq, Data, Num, Ord, Read, …
datadata Natural
#

Natural number

Invariant: numbers <= 0xffffffffffffffff use the NS constructor

Instances56Enum, Eq, Data, Num, Ord, Read, …
datadata Maybe a
#

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

Instances120Monad, Functor, MonadFix, MonadFail, Applicative, Foldable, …
datadata Bool
#
Instances74Bounded, Enum, Eq, Data, Ord, Read, …
  • Bounded BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Enum BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Eq BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Data BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Ord BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Read BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Show BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Ix BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Ix
  • Generic BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Bits BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Bits

    Interpret Bool as 1-bit bit-field

  • FiniteBits BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Bits
  • Storable BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Storable
  • SingKind BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • NFData BoolDefined in deepseq-1.5.2.0 · Control.DeepSeq
  • Pretty BoolDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJClass
  • Pretty BoolDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJClass
  • Binary BoolDefined in binary-0.8.9.3 · Data.Binary.Class
  • Assertable BoolDefined in HUnit-1.6.2.0 · Test.HUnit.Base
  • AssertionPredicable BoolDefined in HUnit-1.6.2.0 · Test.HUnit.Base
  • Unbox BoolDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Random BoolDefined in random-1.3.1 · System.Random
  • Finite BoolDefined in random-1.3.1 · System.Random.GFinite
  • Uniform BoolDefined in random-1.3.1 · System.Random.Internal
  • UniformRange BoolDefined in random-1.3.1 · System.Random.Internal
  • Arbitrary BoolDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • CoArbitrary BoolDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • Function BoolDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Function
  • Testable BoolDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Property
  • Hashable BoolDefined in hashable-1.5.1.0 · Data.Hashable.Class
  • FromJSON BoolDefined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • FromJSONKey BoolDefined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON BoolDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • ToJSONKey BoolDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • BitOps BoolDefined in basement-0.0.16 · Basement.Bits
  • FiniteBitsOps BoolDefined in basement-0.0.16 · Basement.Bits
  • NormalForm BoolDefined in basement-0.0.16 · Basement.NormalForm
  • Default BoolDefined in data-default-0.8.0.2 · Data.Default.Internal
  • Serialize BoolDefined in cereal-0.5.8.3 · Data.Serialize
  • Serialise BoolDefined in serialise-0.2.6.1 · Codec.Serialise.Class
  • Pretty BoolDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
    Example1 expression
    pretty TrueTrue
  • PrettyVal BoolDefined in pretty-show-1.10 · Text.Show.PrettyVal
  • Example BoolDefined in hspec-core-2.11.18 · Test.Hspec.Core.Example
  • StoreReply BoolDefined in hnix-store-remote-0.7.0.0 · System.Nix.Store.Remote.Types.StoreReply
  • ToExpr BoolDefined in hnix-0.17.0 · Nix.TH
  • Lift BoolDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • SingI 'FalseDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • SingI 'TrueDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • IArray UArray BoolDefined in array-0.5.8.0 · Data.Array.Base
  • MVector MVector BoolDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Vector Vector BoolDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • PrettyAnn ann BoolDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • MArray IOUArray Bool IODefined in array-0.5.8.0 · Data.Array.IO.Internals
  • RegexLike a b => RegexContext a b BoolDefined in regex-base-0.94.0.3 · Text.Regex.Base.Context · orphan
  • Convertible e t f m => ToValue Bool m (NExprF (NValue t f m))Defined in hnix-0.17.0 · Nix.Convert
  • ToValue Bool m (Symbolic m)Defined in hnix-0.17.0 · Nix.Lint
  • Convertible e t f m => FromValue Bool m (NValue' t f m (NValue t f m))Defined in hnix-0.17.0 · Nix.Convert
  • Convertible e t f m => ToValue Bool m (NValue' t f m (NValue t f m))Defined in hnix-0.17.0 · Nix.Convert
  • () :=> Bits BoolDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Eq BoolDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Ord BoolDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Bounded BoolDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Enum BoolDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Read BoolDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Show BoolDefined in constraints-0.14.4 · Data.Constraint
  • MonadInfer m => ToValue Bool (InferT s m) (Judgment s)Defined in hnix-0.17.0 · Nix.Type.Infer
  • MArray (STUArray s) Bool (ST s)Defined in array-0.5.8.0 · Data.Array.Base
  • Example (a -> Bool)Defined in hspec-core-2.11.18 · Test.Hspec.Core.Example
  • type Rep Bool = D1 ('MetaData "Bool" "GHC.Internal.Types" "ghc-internal" 'False) (C1 ('MetaCons "False" 'PrefixI 'False) U1 :+: C1 ('MetaCons "True" 'PrefixI 'False) U1)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • type DemoteRep Bool = BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • data Sing
    • STrue :: R:SingBoola 'True
    • SFalse :: R:SingBoola 'False
    Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • data MVector s BoolDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • data Vector BoolDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • type Arg Bool = ()Defined in hspec-core-2.11.18 · Test.Hspec.Core.Example
  • type Arg (a -> Bool) = aDefined in hspec-core-2.11.18 · Test.Hspec.Core.Example
datadata Char
#

The character type Char represents Unicode codespace and its elements are code points as in definitions D9 and D10 of the Unicode Standard.

Character literals in Haskell are single-quoted: 'Q', 'Я' or 'Ω'. To represent a single quote itself use '\'', and to represent a backslash use '\\'. The full grammar can be found in the section 2.6 of the Haskell 2010 Language Report.

To specify a character by its code point one can use decimal, hexadecimal or octal notation: '\65', '\x41' and '\o101' are all alternative forms of 'A'. The largest code point is '\x10ffff'.

There is a special escape syntax for ASCII control characters:

Escape

Alternatives

Meaning

'\NUL'

'\0'

null character

'\SOH'

'\1'

start of heading

'\STX'

'\2'

start of text

'\ETX'

'\3'

end of text

'\EOT'

'\4'

end of transmission

'\ENQ'

'\5'

enquiry

'\ACK'

'\6'

acknowledge

'\BEL'

'\7'

,

'\a'

bell (alert)

'\BS'

'\8'

,

'\b'

backspace

'\HT'

'\9'

,

'\t'

horizontal tab

'\LF'

'\10'

,

'\n'

line feed (new line)

'\VT'

'\11'

,

'\v'

vertical tab

'\FF'

'\12'

,

'\f'

form feed

'\CR'

'\13'

,

'\r'

carriage return

'\SO'

'\14'

shift out

'\SI'

'\15'

shift in

'\DLE'

'\16'

data link escape

'\DC1'

'\17'

device control 1

'\DC2'

'\18'

device control 2

'\DC3'

'\19'

device control 3

'\DC4'

'\20'

device control 4

'\NAK'

'\21'

negative acknowledge

'\SYN'

'\22'

synchronous idle

'\ETB'

'\23'

end of transmission block

'\CAN'

'\24'

cancel

'\EM'

'\25'

end of medium

'\SUB'

'\26'

substitute

'\ESC'

'\27'

escape

'\FS'

'\28'

file separator

'\GS'

'\29'

group separator

'\RS'

'\30'

record separator

'\US'

'\31'

unit separator

'\SP'

'\32'

,

' '

space

'\DEL'

'\127'

delete

Data.Char provides utilities to work with Char.

Instances87Bounded, Enum, Data, Read, Ix, Storable, …
classclass a ~ b => Coercible (a :: k) (b :: k)
#

Coercible is a two-parameter class that has instances for types a and b if the compiler can infer that they have the same representation. This class does not have regular instances; instead they are created on-the-fly during type-checking. Trying to manually declare an instance of Coercible is an error.

Nevertheless one can pretend that the following three kinds of instances exist. First, as a trivial base-case:

instance Coercible a a

Furthermore, for every type constructor there is an instance that allows to coerce under the type constructor. For example, let D be a prototypical type constructor (data or newtype) with three type arguments, which have roles nominal, representational resp. phantom. Then there is an instance of the form

instance Coercible b b' => Coercible (D a b c) (D a b' c')

Note that the nominal type arguments are equal, the representational type arguments can differ, but need to have a Coercible instance themself, and the phantom type arguments can be changed arbitrarily.

The third kind of instance exists for every newtype NT = MkNT T and comes in two variants, namely

instance Coercible a T => Coercible a NT
instance Coercible T b => Coercible NT b

This instance is only usable if the constructor MkNT is in scope.

If, as a library author of a type constructor like Set a, you want to prevent a user of your module to write coerce :: Set T -> Set NT, you need to set the role of Set's type parameter to nominal, by writing

type role Set nominal

For more details about this feature, please refer to Safe Coercions by Joachim Breitner, Richard A. Eisenberg, Simon Peyton Jones and Stephanie Weirich.

Instances1HasDict

The kind of lifted constraints

Instances5Category, InstV, ForallV'
  • Category (:-)Defined in constraints-0.14.4 · Data.Constraint

    Possible since GHC 7.8, when Category was made polykinded.

  • p ~ c => InstV p cDefined in constraints-0.14.4 · Data.Constraint.Forall
  • p a ~ c => InstV p cDefined in constraints-0.14.4 · Data.Constraint.Forall
  • type ForallV' p = Forall pDefined in constraints-0.14.4 · Data.Constraint.Forall
  • type ForallV' p = pDefined in constraints-0.14.4 · Data.Constraint.Forall
datadata Double
#

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.

Constructors

Instances75Enum, Floating, Data, Num, Read, Real, …
  • Enum DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    fromEnum just truncates its argument, beware of all sorts of overflows.

    List generators have extremely peculiar behavior, mandated by Haskell Report 2010:

    Example1 expression
    [0..1.5][0.0,1.0,2.0]
  • Eq DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Classes

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

    Example1 expression
    0/0 == (0/0 :: Double)False

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

    Example2 expressions
    0 == (-0 :: Double)Truerecip 0 == recip (-0 :: Double)False
  • Floating DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float
  • Fractional DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    This instance implements IEEE 754 standard with all its usual pitfalls about NaN, infinities and negative zero.

    Example4 expressions
    0 == (-0 :: Double)Truerecip 0 == recip (-0 :: Double)Falsemap (/ 0) [-1, 0, 1][-Infinity,NaN,Infinity]map (* 0) $ map (/ 0) [-1, 0, 1][NaN,NaN,NaN]
  • Data DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Num DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    This instance implements IEEE 754 standard with all its usual pitfalls about NaN, infinities and negative zero. Neither addition nor multiplication are associative or distributive:

    Example3 expressions
    (0.1 + 0.1) + 0.4 == 0.1 + (0.1 + 0.4)False(0.1 + 0.2) * 0.3 == 0.1 * 0.3 + 0.2 * 0.3False(0.1 * 0.1) * 0.3 == 0.1 * (0.1 * 0.3)False
  • Ord DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Classes

    IEEE 754 Double-precision type includes not only numbers, but also positive and negative infinities and a special element called NaN (which can be quiet or signal).

    IEEE 754-2008, section 5.11 requires that if at least one of arguments of <=, <, >, >= is NaN then the result of the comparison is False, and instance Ord Double complies with this requirement. This violates the reflexivity: both NaN <= NaN and NaN >= NaN are False.

    IEEE 754-2008, section 5.10 defines totalOrder predicate. Unfortunately, compare on Doubles violates the IEEE standard and does not define a total order. More specifically, both compare NaN x and compare x NaN always return GT.

    Thus, users must be extremely cautious when using instance Ord Double. For instance, one should avoid ordered containers with keys represented by Double, because data loss and corruption may happen. An IEEE-compliant compare is available in fp-ieee package as TotallyOrdered newtype.

    Moving further, the behaviour of min and max with regards to NaN is also non-compliant. IEEE 754-2008, section 5.3.1 defines that quiet NaN should be treated as a missing data by minNum and maxNum functions, for example, minNum(NaN, 1) = minNum(1, NaN) = 1. Some languages such as Java deviate from the standard implementing minNum(NaN, 1) = minNum(1, NaN) = NaN. However, min / max in base are even worse: min NaN 1 is 1, but min 1 NaN is NaN.

    IEEE 754-2008 compliant min / max can be found in ieee754 package under minNum / maxNum names. Implementations compliant with minimumNumber / maximumNumber from a newer IEEE 754-2019, section 9.6 are available from fp-ieee package.

  • Read DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Real DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan
  • RealFloat DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float
  • RealFrac DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    Beware that results for non-finite arguments are garbage:

    Example2 expressions
    [ f x | f <- [round, floor, ceiling], x <- [-1/0, 0/0, 1/0] ] :: [Int][0,0,0,0,0,0,0,0,0]map properFraction [-1/0, 0/0, 1/0] :: [(Int, Double)][(0,0.0),(0,0.0),(0,0.0)]

    and get even more non-sensical if you ask for Integer instead of Int.

  • Show DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan
  • Storable DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Storable
  • PrintfArg DoubleDefined in base-4.23.0.0 · Text.Printf
  • NFData DoubleDefined in deepseq-1.5.2.0 · Control.DeepSeq
  • Pretty DoubleDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJClass
  • Pretty DoubleDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJClass
  • Binary DoubleDefined in binary-0.8.9.3 · Data.Binary.Class

    Uses non-IEEE754 encoding. Does not round-trip NaN.

  • Prim DoubleDefined in primitive-0.9.1.0 · Data.Primitive.Types
  • Unbox DoubleDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Random DoubleDefined in random-1.3.1 · System.Random

    Note - random produces values in the closed range [0,1].

  • UniformRange DoubleDefined in random-1.3.1 · System.Random.Internal
  • Arbitrary DoubleDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • CoArbitrary DoubleDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • Function DoubleDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Function
  • Hashable DoubleDefined in hashable-1.5.1.0 · Data.Hashable.Class

    Note: prior to hashable-1.3.0.0, hash 0.0 /= hash (-0.0)

    The hash of NaN is not well defined.

  • FromJSON DoubleDefined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • FromJSONKey DoubleDefined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON DoubleDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • ToJSONKey DoubleDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • Additive DoubleDefined in basement-0.0.16 · Basement.Numerical.Additive
  • Multiplicative DoubleDefined in basement-0.0.16 · Basement.Numerical.Multiplicative
  • Subtractive DoubleDefined in basement-0.0.16 · Basement.Numerical.Subtractive
  • Integral DoubleDefined in basement-0.0.16 · Basement.Compat.NumLiteral
  • PrimType DoubleDefined in basement-0.0.16 · Basement.PrimType
  • NormalForm DoubleDefined in basement-0.0.16 · Basement.NormalForm
  • Fractional DoubleDefined in basement-0.0.16 · Basement.Compat.NumLiteral
  • HasNegation DoubleDefined in basement-0.0.16 · Basement.Compat.NumLiteral
  • Divisible DoubleDefined in basement-0.0.16 · Basement.Numerical.Multiplicative
  • Default DoubleDefined in data-default-0.8.0.2 · Data.Default.Internal
  • Serialize DoubleDefined in cereal-0.5.8.3 · Data.Serialize
  • Serialise DoubleDefined in serialise-0.2.6.1 · Codec.Serialise.Class
  • Pretty DoubleDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
    Example1 expression
    pretty (exp 1 :: Double)2.71828182845904...
  • PrettyVal DoubleDefined in pretty-show-1.10 · Text.Show.PrettyVal
  • Lift DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • IArray UArray DoubleDefined in array-0.5.8.0 · Data.Array.Base
  • MVector MVector DoubleDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Vector Vector DoubleDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • PrettyAnn ann DoubleDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • MArray IOUArray Double IODefined in array-0.5.8.0 · Data.Array.IO.Internals
  • () :=> Eq DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Ord DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Enum DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Floating DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> RealFloat DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Num DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Fractional DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Real DoubleDefined in constraints-0.14.4 · Data.Constraint
  • () :=> RealFrac DoubleDefined in constraints-0.14.4 · Data.Constraint
  • Generic1 (URec Double)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Foldable UDoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Traversable UDoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • MArray (STUArray s) Double (ST s)Defined in array-0.5.8.0 · Data.Array.Base
  • Functor (URec Double)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (URec Double p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (URec Double p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (URec Double p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (URec Double p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • type Rep (URec Double p) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UDouble))Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • type Rep1 (URec Double) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UDouble))Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • data URec DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Generics

    Used for marking occurrences of Double#

  • data MVector s DoubleDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • data Vector DoubleDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • type Difference Double = DoubleDefined in basement-0.0.16 · Basement.Numerical.Subtractive
  • type PrimSize Double = 8Defined in basement-0.0.16 · Basement.PrimType
datadata Float
#

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.

Constructors

Instances78Enum, Floating, Data, Num, Read, Real, …
  • Enum FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    fromEnum just truncates its argument, beware of all sorts of overflows.

    List generators have extremely peculiar behavior, mandated by Haskell Report 2010:

    Example1 expression
    [0..1.5 :: Float][0.0,1.0,2.0]
  • Eq FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Classes

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

    Example1 expression
    0/0 == (0/0 :: Float)False

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

    Example2 expressions
    0 == (-0 :: Float)Truerecip 0 == recip (-0 :: Float)False
  • Floating FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float
  • Fractional FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    This instance implements IEEE 754 standard with all its usual pitfalls about NaN, infinities and negative zero.

    Example4 expressions
    0 == (-0 :: Float)Truerecip 0 == recip (-0 :: Float)Falsemap (/ 0) [-1, 0, 1 :: Float][-Infinity,NaN,Infinity]map (* 0) $ map (/ 0) [-1, 0, 1 :: Float][NaN,NaN,NaN]
  • Data FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Num FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    This instance implements IEEE 754 standard with all its usual pitfalls about NaN, infinities and negative zero. Neither addition nor multiplication are associative or distributive:

    Example3 expressions
    (0.1 + 0.1 :: Float) + 0.5 == 0.1 + (0.1 + 0.5)False(0.1 + 0.2 :: Float) * 0.9 == 0.1 * 0.9 + 0.2 * 0.9False(0.1 * 0.1 :: Float) * 0.9 == 0.1 * (0.1 * 0.9)False
  • Ord FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Classes

    See instance Ord Double for discussion of deviations from IEEE 754 standard.

  • Read FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Real FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan
  • RealFloat FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float
  • RealFrac FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan

    Beware that results for non-finite arguments are garbage:

    Example2 expressions
    [ f x | f <- [round, floor, ceiling], x <- [-1/0, 0/0, 1/0 :: Float] ] :: [Int][0,0,0,0,0,0,0,0,0]map properFraction [-1/0, 0/0, 1/0] :: [(Int, Float)][(0,0.0),(0,0.0),(0,0.0)]

    and get even more non-sensical if you ask for Integer instead of Int.

  • Show FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan
  • Storable FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Storable
  • PrintfArg FloatDefined in base-4.23.0.0 · Text.Printf
  • NFData FloatDefined in deepseq-1.5.2.0 · Control.DeepSeq
  • Pretty FloatDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJClass
  • Pretty FloatDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJClass
  • Binary FloatDefined in binary-0.8.9.3 · Data.Binary.Class

    Uses non-IEEE754 encoding. Does not round-trip NaN.

  • Prim FloatDefined in primitive-0.9.1.0 · Data.Primitive.Types
  • Unbox FloatDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Random FloatDefined in random-1.3.1 · System.Random

    Note - random produces values in the closed range [0,1].

  • UniformRange FloatDefined in random-1.3.1 · System.Random.Internal
  • Arbitrary FloatDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • CoArbitrary FloatDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Arbitrary
  • Function FloatDefined in QuickCheck-2.18.0.0 · Test.QuickCheck.Function
  • Hashable FloatDefined in hashable-1.5.1.0 · Data.Hashable.Class

    Note: prior to hashable-1.3.0.0, hash 0.0 /= hash (-0.0)

    The hash of NaN is not well defined.

  • FromJSON FloatDefined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • FromJSONKey FloatDefined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON FloatDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • ToJSONKey FloatDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • Additive FloatDefined in basement-0.0.16 · Basement.Numerical.Additive
  • Multiplicative FloatDefined in basement-0.0.16 · Basement.Numerical.Multiplicative
  • Subtractive FloatDefined in basement-0.0.16 · Basement.Numerical.Subtractive
  • Integral FloatDefined in basement-0.0.16 · Basement.Compat.NumLiteral
  • PrimType FloatDefined in basement-0.0.16 · Basement.PrimType
  • NormalForm FloatDefined in basement-0.0.16 · Basement.NormalForm
  • Fractional FloatDefined in basement-0.0.16 · Basement.Compat.NumLiteral
  • HasNegation FloatDefined in basement-0.0.16 · Basement.Compat.NumLiteral
  • Divisible FloatDefined in basement-0.0.16 · Basement.Numerical.Multiplicative
  • Default FloatDefined in data-default-0.8.0.2 · Data.Default.Internal
  • Serialize FloatDefined in cereal-0.5.8.3 · Data.Serialize
  • Serialise FloatDefined in serialise-0.2.6.1 · Codec.Serialise.Class
  • Pretty FloatDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
    Example1 expression
    pretty (pi :: Float)3.1415927
  • PrettyVal FloatDefined in pretty-show-1.10 · Text.Show.PrettyVal
  • ToExpr FloatDefined in hnix-0.17.0 · Nix.TH
  • Lift FloatDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • IArray UArray FloatDefined in array-0.5.8.0 · Data.Array.Base
  • MVector MVector FloatDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Vector Vector FloatDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • PrettyAnn ann FloatDefined in prettyprinter-1.7.2 · Prettyprinter.Internal
  • MArray IOUArray Float IODefined in array-0.5.8.0 · Data.Array.IO.Internals
  • Convertible e t f m => FromValue Float m (NValue' t f m (NValue t f m))Defined in hnix-0.17.0 · Nix.Convert
  • Convertible e t f m => ToValue Float m (NValue' t f m (NValue t f m))Defined in hnix-0.17.0 · Nix.Convert
  • () :=> Eq FloatDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Ord FloatDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Enum FloatDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Floating FloatDefined in constraints-0.14.4 · Data.Constraint
  • () :=> RealFloat FloatDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Num FloatDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Fractional FloatDefined in constraints-0.14.4 · Data.Constraint
  • () :=> Real FloatDefined in constraints-0.14.4 · Data.Constraint
  • () :=> RealFrac FloatDefined in constraints-0.14.4 · Data.Constraint
  • Generic1 (URec Float)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Foldable UFloatDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Traversable UFloatDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • MArray (STUArray s) Float (ST s)Defined in array-0.5.8.0 · Data.Array.Base
  • Functor (URec Float)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (URec Float p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (URec Float p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (URec Float p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (URec Float p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • type Rep (URec Float p) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UFloat))Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • type Rep1 (URec Float) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UFloat))Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • data URec FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Generics

    Used for marking occurrences of Float#

  • data MVector s FloatDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • data Vector FloatDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • type Difference Float = FloatDefined in basement-0.0.16 · Basement.Numerical.Subtractive
  • type PrimSize Float = 4Defined in basement-0.0.16 · Basement.PrimType
datadata Int
#

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 Prelude.minBound and Prelude.maxBound from the Prelude.Bounded class.

Instances188Bounded, Enum, Data, Num, Read, Real, …
typetype Type = TYPE LiftedRep
#

The kind of types with lifted values. For example Int :: Type.

datadata Word
#

A Word is an unsigned integral type, with the same size as Int.

Instances103Bounded, Enum, Data, Num, Read, Real, …
classclass a ~ b => (~) (a :: k) (b :: k)
#

Lifted, homogeneous equality. By lifted, we mean that it can be bogus (deferred type error). By homogeneous, the two types a and b must have the same kinds.

Instances2Deferrable, HasDict
  • (Typeable k, Typeable a, Typeable b) => Deferrable (a ~ b)Defined in constraints-0.14.4 · Data.Constraint.Deferrable

    Deferrable homogeneous equality constraints.

    Note that due to a GHC bug (https:/ghc.haskell.orgtracghcticket/10343), using this instance on GHC 7.10 will only work with *-kinded types.

  • HasDict (a ~ b) (a :~: b)Defined in constraints-0.14.4 · Data.Constraint