haskell2010-base
Safe HaskellSafe-Inferred
LanguageHaskell2010

Prelude

Description

 
Synopsis

Documentation

(!!) :: [a] -> Int -> a #

List index (subscript) operator, starting from 0. It is an instance of the more general genericIndex, which takes an index of any integral type.

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

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

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

Applied to a predicate and a list, all determines if all elements of the list satisfy the predicate. For the result to be True, the list must be finite; False, however, results from a False value for the predicate applied to an element at a finite index of a finite or infinite list.

and :: [Bool] -> Bool #

and returns the conjunction of a Boolean list. For the result to be True, the list must be finite; False, however, results from a False value at a finite index of a finite or infinite list.

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

Applied to a predicate and a list, any determines if any element of the list satisfies the predicate. For the result to be False, the list must be finite; True, however, results from a True value for the predicate applied to an element at a finite index of a finite or infinite list.

break :: (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 (> 3) [1,2,3,4,1,2,3,4] == ([1,2,3],[4,1,2,3,4])
break (< 9) [1,2,3] == ([],[1,2,3])
break (> 9) [1,2,3] == ([1,2,3],[])

break p is equivalent to span (not . p).

concat :: [[a]] -> [a] #

Concatenate a list of lists.

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

Map a function over a list and concatenate the results.

cycle :: [a] -> [a] #

cycle ties a finite list into a circular one, or equivalently, the infinite repetition of the original list. It is the identity on infinite lists.

drop :: Int -> [a] -> [a] #

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

drop 6 "Hello World!" == "World!"
drop 3 [1,2,3,4,5] == [4,5]
drop 3 [1,2] == []
drop 3 [] == []
drop (-1) [1,2] == [1,2]
drop 0 [1,2] == [1,2]

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

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

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

dropWhile (< 3) [1,2,3,4,5,1,2,3] == [3,4,5,1,2,3]
dropWhile (< 9) [1,2,3] == []
dropWhile (< 0) [1,2,3] == [1,2,3]

elem :: Eq a => a -> [a] -> Bool #

elem is the list membership predicate, usually written in infix form, e.g., x ‘elem‘ xs. For the result to be False, the list must be finite; True, however, results from an element equal to x found at a finite index of a finite or infinite list.

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

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]

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

foldl, applied to a binary operator, a starting value (typically the left-identity of the operator), and a list, reduces the list using the binary operator, from left to right:

foldl f z [x1, x2, ..., xn] == (...((z ‘f‘ x1) ‘f‘ x2) ‘f‘...) ‘f‘ xn

The list must be finite.

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

foldl1 is a variant of foldl that has no starting value argument, and thus must be applied to non- empty lists.

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

foldr, 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)...)

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

foldr1 is a variant of foldr that has no starting value argument, and thus must be applied to non- empty lists.

head :: [a] -> a #

Extract the first element of a list, which must be non-empty.

init :: [a] -> [a] #

Return all the elements of a list except the last one. The list must be non-empty.

iterate :: (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), ...]

last :: [a] -> a #

Extract the last element of a list, which must be finite and non-empty.

length :: [a] -> Int #

O(n). length returns the length of a finite list as an Int. It is an instance of the more general genericLength, the result type of which may be any kind of number.

lines :: String -> [String] #

lines breaks a string up into a list of strings at newline characters. The resulting strings do not contain newlines.

lookup :: Eq a => a -> [(a, b)] -> Maybe b #

lookup key assocs looks up a key in an association list.

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

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, ...]

maximum :: Ord a => [a] -> a #

maximum returns the maximum value from a list, which must be non-empty, finite, and of an ordered type. It is a special case of maximumBy, which allows the programmer to supply their own comparison function.

minimum :: Ord a => [a] -> a #

minimum returns the minimum value from a list, which must be non-empty, finite, and of an ordered type. It is a special case of minimumBy, which allows the programmer to supply their own comparison function.

notElem :: Eq a => a -> [a] -> Bool #

notElem is the negation of elem.

null :: [a] -> Bool #

Test whether a list is empty.

or :: [Bool] -> Bool #

or returns the disjunction of a Boolean list. For the result to be False, the list must be finite; True, however, results from a True value at a finite index of a finite or infinite list.

product :: Num a => [a] -> a #

The product function computes the product of a finite list of numbers

repeat :: a -> [a] #

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

replicate :: 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 Data.List.genericReplicate, in which n may be of any integral type.

reverse :: [a] -> [a] #

reverse xs returns the elements of xs in reverse order. xs must be finite.

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

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.

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

scanl1 is a variant of scanl that has no starting value argument:

scanl1 f [x1, x2, ...] == [x1, x1 ‘f‘ x2, ...]

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

scanr is the right-to-left dual of scanl. Note that

head (scanr f z xs) == foldr f z xs.

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

scanr1 is a variant of scanr that has no starting value argument.

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

span, 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 satisfy p and second element is the remainder of the list:

span (< 3) [1,2,3,4,1,2,3,4] == ([1,2],[3,4,1,2,3,4])
span (< 9) [1,2,3] == ([1,2,3],[])
span (< 0) [1,2,3] == ([],[1,2,3])

span p xs is equivalent to (takeWhile p xs, dropWhile p xs)

splitAt :: 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 6 "Hello World!" == ("Hello ","World!")
splitAt 3 [1,2,3,4,5] == ([1,2,3],[4,5])
splitAt 1 [1,2,3] == ([1],[2,3])
splitAt 3 [1,2,3] == ([1,2,3],[])
splitAt 4 [1,2,3] == ([1,2,3],[])
splitAt 0 [1,2,3] == ([],[1,2,3])
splitAt (-1) [1,2,3] == ([],[1,2,3])

It is equivalent to (take n xs, drop n xs). splitAt is an instance of the more general genericSplitAt, in which n may be of any integral type.

sum :: Num a => [a] -> a #

The sum function computes the sum of a finite list of numbers.

tail :: [a] -> [a] #

Extract the elements after the head of a list, which must be non-empty.

take :: 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:

take 5 "Hello World!" == Hello
take 3 [1,2,3,4,5] == [1,2,3]
take 3 [1,2] == [1,2]
take 3 [] == []
take (-1) [1,2] == []
take 0 [1,2] == []

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

takeWhile :: (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:

takeWhile (< 3) [1,2,3,4,1,2,3,4] == [1,2]
takeWhile (< 9) [1,2,3] == [1,2,3]
takeWhile (< 0) [1,2,3] == []

unlines :: [String] -> String #

unlines is an inverse operation to lines. It joins lines, after appending a terminating newline to each.

unwords :: [String] -> String #

unwords is an inverse operation to words. It joins words with separating spaces.

unzip :: [(a, b)] -> ([a], [b]) #

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

unzip3 :: [(a, b, c)] -> ([a], [b], [c]) #

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

words :: String -> [String] #

words breaks a string up into a list of words, which were delimited by white space.

zip :: [a] -> [b] -> [(a, b)] #

zip takes two lists and returns a list of corresponding pairs. If one input list is short, excess elements of the longer list are discarded.

zip3 :: [a] -> [b] -> [c] -> [(a, b, c)] #

zip3 takes three lists and returns a list of triples, analogous to zip.

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

zipWith generalises zip by zipping with the function given as the first argument, instead of a tupling function. For example, zipWith (+) is applied to two lists to produce the list of corresponding sums.

zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d] #

The zipWith3 function takes a function which combines three elements, as well as three lists and returns a list of their point-wise combination, analogous to zipWith.

read :: Read a => String -> a #

readParen :: Bool -> ReadS a -> ReadS a #

reads :: Read a => ReadS a #

shows :: Show a => a -> ShowS #

class Read a where #

Methods

readsPrec :: Int -> ReadS a #

readList :: ReadS [a] #

Instances

Instances details
Read GeneralCategory # 
Instance details

Defined in Data.Char

Read Int # 
Instance details

Defined in Text.Read

Read Int16 # 
Instance details

Defined in Text.Read

Read Int32 # 
Instance details

Defined in Text.Read

Read Int64 # 
Instance details

Defined in Text.Read

Read Int8 # 
Instance details

Defined in Text.Read

Read Word # 
Instance details

Defined in Text.Read

Read Word16 # 
Instance details

Defined in Text.Read

Read Word32 # 
Instance details

Defined in Text.Read

Read Word64 # 
Instance details

Defined in Text.Read

Read Word8 # 
Instance details

Defined in Text.Read

Read CChar # 
Instance details

Defined in Foreign.C.Types

Read CClock # 
Instance details

Defined in Foreign.C.Types

Read CDouble # 
Instance details

Defined in Foreign.C.Types

Read CFloat # 
Instance details

Defined in Foreign.C.Types

Read CInt # 
Instance details

Defined in Foreign.C.Types

Read CIntMax # 
Instance details

Defined in Foreign.C.Types

Read CIntPtr # 
Instance details

Defined in Foreign.C.Types

Read CLLong # 
Instance details

Defined in Foreign.C.Types

Read CLong # 
Instance details

Defined in Foreign.C.Types

Read CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Read CSChar # 
Instance details

Defined in Foreign.C.Types

Read CShort # 
Instance details

Defined in Foreign.C.Types

Read CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Read CSize # 
Instance details

Defined in Foreign.C.Types

Read CTime # 
Instance details

Defined in Foreign.C.Types

Read CUChar # 
Instance details

Defined in Foreign.C.Types

Read CUInt # 
Instance details

Defined in Foreign.C.Types

Read CUIntMax # 
Instance details

Defined in Foreign.C.Types

Read CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Read CULLong # 
Instance details

Defined in Foreign.C.Types

Read CULong # 
Instance details

Defined in Foreign.C.Types

Read CUShort # 
Instance details

Defined in Foreign.C.Types

Read CWchar # 
Instance details

Defined in Foreign.C.Types

Read IntPtr # 
Instance details

Defined in Foreign.Ptr

Read WordPtr # 
Instance details

Defined in Foreign.Ptr

Read Char # 
Instance details

Defined in Text.Read

Read Double # 
Instance details

Defined in Text.Read

Read Float # 
Instance details

Defined in Text.Read

Read Integer # 
Instance details

Defined in Text.Read

Read ExitCode # 
Instance details

Defined in System.Exit

Read BufferMode # 
Instance details

Defined in System.IO

Read IOMode # 
Instance details

Defined in System.IO

Read SeekMode # 
Instance details

Defined in System.IO

Read () # 
Instance details

Defined in Text.Read

Methods

readsPrec :: Int -> ReadS () #

readList :: ReadS [()] #

Read a => Read (Complex a) # 
Instance details

Defined in Data.Complex

Methods

readsPrec :: Int -> ReadS (Complex a) #

readList :: ReadS [Complex a] #

Read a => Read (Maybe a) # 
Instance details

Defined in Data.Maybe

Methods

readsPrec :: Int -> ReadS (Maybe a) #

readList :: ReadS [Maybe a] #

(Integral a, Read a) => Read (Ratio a) # 
Instance details

Defined in NumHierarchy

Methods

readsPrec :: Int -> ReadS (Ratio a) #

readList :: ReadS [Ratio a] #

Read a => Read [a] # 
Instance details

Defined in Text.Read

Methods

readsPrec :: Int -> ReadS [a] #

readList :: ReadS [[a]] #

(Ix a, Read a, Read b) => Read (Array a b) # 
Instance details

Defined in Data.Array

Methods

readsPrec :: Int -> ReadS (Array a b) #

readList :: ReadS [Array a b] #

(Read a, Read b) => Read (a, b) # 
Instance details

Defined in Text.Read

Methods

readsPrec :: Int -> ReadS (a, b) #

readList :: ReadS [(a, b)] #

type ReadS a = String -> [(a, String)] #

class Show a where #

Methods

showsPrec :: Int -> a -> ShowS #

show :: a -> String #

showList :: [a] -> ShowS #

Instances

Instances details
Show GeneralCategory # 
Instance details

Defined in Data.Char

Show Int # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Int -> ShowS #

show :: Int -> String #

showList :: [Int] -> ShowS #

Show Int16 # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Int16 -> ShowS #

show :: Int16 -> String #

showList :: [Int16] -> ShowS #

Show Int32 # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Int32 -> ShowS #

show :: Int32 -> String #

showList :: [Int32] -> ShowS #

Show Int64 # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Int64 -> ShowS #

show :: Int64 -> String #

showList :: [Int64] -> ShowS #

Show Int8 # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Int8 -> ShowS #

show :: Int8 -> String #

showList :: [Int8] -> ShowS #

Show Word # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Word -> ShowS #

show :: Word -> String #

showList :: [Word] -> ShowS #

Show Word16 # 
Instance details

Defined in Text.Show

Show Word32 # 
Instance details

Defined in Text.Show

Show Word64 # 
Instance details

Defined in Text.Show

Show Word8 # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Word8 -> ShowS #

show :: Word8 -> String #

showList :: [Word8] -> ShowS #

Show CChar # 
Instance details

Defined in Foreign.C.Types

Methods

showsPrec :: Int -> CChar -> ShowS #

show :: CChar -> String #

showList :: [CChar] -> ShowS #

Show CClock # 
Instance details

Defined in Foreign.C.Types

Show CDouble # 
Instance details

Defined in Foreign.C.Types

Show CFloat # 
Instance details

Defined in Foreign.C.Types

Show CInt # 
Instance details

Defined in Foreign.C.Types

Methods

showsPrec :: Int -> CInt -> ShowS #

show :: CInt -> String #

showList :: [CInt] -> ShowS #

Show CIntMax # 
Instance details

Defined in Foreign.C.Types

Show CIntPtr # 
Instance details

Defined in Foreign.C.Types

Show CLLong # 
Instance details

Defined in Foreign.C.Types

Show CLong # 
Instance details

Defined in Foreign.C.Types

Methods

showsPrec :: Int -> CLong -> ShowS #

show :: CLong -> String #

showList :: [CLong] -> ShowS #

Show CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Show CSChar # 
Instance details

Defined in Foreign.C.Types

Show CShort # 
Instance details

Defined in Foreign.C.Types

Show CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Show CSize # 
Instance details

Defined in Foreign.C.Types

Methods

showsPrec :: Int -> CSize -> ShowS #

show :: CSize -> String #

showList :: [CSize] -> ShowS #

Show CTime # 
Instance details

Defined in Foreign.C.Types

Methods

showsPrec :: Int -> CTime -> ShowS #

show :: CTime -> String #

showList :: [CTime] -> ShowS #

Show CUChar # 
Instance details

Defined in Foreign.C.Types

Show CUInt # 
Instance details

Defined in Foreign.C.Types

Methods

showsPrec :: Int -> CUInt -> ShowS #

show :: CUInt -> String #

showList :: [CUInt] -> ShowS #

Show CUIntMax # 
Instance details

Defined in Foreign.C.Types

Show CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Show CULLong # 
Instance details

Defined in Foreign.C.Types

Show CULong # 
Instance details

Defined in Foreign.C.Types

Show CUShort # 
Instance details

Defined in Foreign.C.Types

Show CWchar # 
Instance details

Defined in Foreign.C.Types

Show IntPtr # 
Instance details

Defined in Foreign.Ptr

Show WordPtr # 
Instance details

Defined in Foreign.Ptr

Show Char # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Char -> ShowS #

show :: Char -> String #

showList :: [Char] -> ShowS #

Show Double # 
Instance details

Defined in Text.Show

Show Float # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Float -> ShowS #

show :: Float -> String #

showList :: [Float] -> ShowS #

Show Integer # 
Instance details

Defined in Text.Show

Show ExitCode # 
Instance details

Defined in System.Exit

Show BufferMode # 
Instance details

Defined in System.IO

Show Handle # 
Instance details

Defined in System.IO

Show HandlePosn # 
Instance details

Defined in System.IO

Show IOMode # 
Instance details

Defined in System.IO

Show SeekMode # 
Instance details

Defined in System.IO

Show IOErrorType # 
Instance details

Defined in System.IO.Error

Show () # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> () -> ShowS #

show :: () -> String #

showList :: [()] -> ShowS #

Show a => Show (Complex a) # 
Instance details

Defined in Data.Complex

Methods

showsPrec :: Int -> Complex a -> ShowS #

show :: Complex a -> String #

showList :: [Complex a] -> ShowS #

Show a => Show (Maybe a) # 
Instance details

Defined in Data.Maybe

Methods

showsPrec :: Int -> Maybe a -> ShowS #

show :: Maybe a -> String #

showList :: [Maybe a] -> ShowS #

Show (ForeignPtr a) # 
Instance details

Defined in Foreign.ForeignPtr

Show (FunPtr a) # 
Instance details

Defined in Foreign.Ptr

Methods

showsPrec :: Int -> FunPtr a -> ShowS #

show :: FunPtr a -> String #

showList :: [FunPtr a] -> ShowS #

Show (Ptr a) # 
Instance details

Defined in Foreign.Ptr

Methods

showsPrec :: Int -> Ptr a -> ShowS #

show :: Ptr a -> String #

showList :: [Ptr a] -> ShowS #

Integral a => Show (Ratio a) # 
Instance details

Defined in NumHierarchy

Methods

showsPrec :: Int -> Ratio a -> ShowS #

show :: Ratio a -> String #

showList :: [Ratio a] -> ShowS #

Show a => Show [a] # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> [a] -> ShowS #

show :: [a] -> String #

showList :: [[a]] -> ShowS #

(Ix a, Show a, Show b) => Show (Array a b) # 
Instance details

Defined in Data.Array

Methods

showsPrec :: Int -> Array a b -> ShowS #

show :: Array a b -> String #

showList :: [Array a b] -> ShowS #

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

Defined in Text.Show

Methods

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

show :: (a, b) -> String #

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

type ShowS = String -> String #

appendFile :: FilePath -> String -> IO () #

The computation appendFile file str function appends the string str, to the file file. Note that writeFile and appendFile write a literal string to a file. To write a value of any printable type, as with print, use the show function to convert the value to a string first.

main = appendFile "squares" (show [(x,x*x) | x <- [0,0.1..2]])

getChar :: IO Char #

Read a character from the standard input device (same as hGetChar stdin).

getContents :: IO String #

The getContents operation returns all user input as a single string, which is read lazily as it is needed (same as hGetContents stdin).

getLine :: IO String #

Read a line from the standard input device (same as hGetLine stdin).

interact :: (String -> String) -> IO () #

The interact function takes a function of type String->String as its argument. The entire input from the standard input device is passed to this function as its argument, and the resulting string is output on the standard output device.

print :: Show a => a -> IO () #

The print function outputs a value of any printable type to the standard output device. Printable types are those that are instances of class Show; print converts values to strings for output using the show operation and adds a newline.

For example, a program to print the first 20 integers and their powers of 2 could be written as:

main = print ([(n, 2ˆn) | n <- [0..19]])

putChar :: Char -> IO () #

Write a character to the standard output device (same as hPutChar stdout).

putStr :: String -> IO () #

Write a string to the standard output device (same as hPutStr stdout).

putStrLn :: String -> IO () #

The same as putStr, but adds a newline character.

readFile :: FilePath -> IO String #

The readFile function reads a file and returns the contents of the file as a string. The file is read lazily, on demand, as with getContents.

readIO :: Read a => String -> IO a #

The readIO function is similar to read except that it signals parse failure to the IO monad instead of terminating the program.

readLn :: Read a => IO a #

The readLn function combines getLine and readIO.

writeFile :: FilePath -> String -> IO () #

The computation writeFile file str function writes the string str, to the file file.

catch :: IO a -> (IOError -> IO a) -> IO a #

The catch function establishes a handler that receives any IOError raised in the action protected by catch. An IOError is caught by the most recent handler established by catch. These handlers are not selective: all IOErrors are caught. Exception propagation must be explicitly provided in a handler by re-raising any unwanted exceptions. For example, in

 f = catch g (\e -> if IO.isEOFError e then return [] else ioError e)

the function f returns [] when an end-of-file exception (cf. isEOFError) occurs in g; otherwise, the exception is propagated to the next outer handler.

When an exception propagates outside the main program, the Haskell system prints the associated IOError value and exits the program.

ioError :: IOError -> IO a #

Raise an IOError in the IO monad.

userError :: String -> IOError #

Construct an IOError value with a string describing the error. The fail method of the IO instance of the Monad class raises a userError, thus:

instance Monad IO where
  ...
  fail s = ioError (userError s)

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

data IOError #

Errors of type IOError are used by the IO monad. This is an abstract type; the module System.IO.Error provides functions to interrogate and construct values of type IOError.

data Bool #

Constructors

False 
True 

Instances

Instances details
Eq Bool # 
Instance details

Defined in Data.Eq

Methods

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

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

Ix Bool # 
Instance details

Defined in Data.Ix

Methods

range :: (Bool, Bool) -> [Bool] #

index :: (Bool, Bool) -> Bool -> Int #

inRange :: (Bool, Bool) -> Bool -> Bool #

rangeSize :: (Bool, Bool) -> Int #

Ord Bool # 
Instance details

Defined in Data.Ord

Methods

compare :: Bool -> Bool -> Ordering #

(<) :: Bool -> Bool -> Bool #

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

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

(>) :: Bool -> Bool -> Bool #

max :: Bool -> Bool -> Bool #

min :: Bool -> Bool -> Bool #

Storable Bool # 
Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Bool -> Int #

alignment :: Bool -> Int #

peekElemOff :: Ptr Bool -> Int -> IO Bool #

pokeElemOff :: Ptr Bool -> Int -> Bool -> IO () #

peekByteOff :: Ptr b -> Int -> IO Bool #

pokeByteOff :: Ptr b -> Int -> Bool -> IO () #

peek :: Ptr Bool -> IO Bool #

poke :: Ptr Bool -> Bool -> IO () #

data 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 Data.Either.Either type

Constructors

Nothing 
Just a 

Instances

Instances details
Functor Maybe # 
Instance details

Defined in Control.Monad

Methods

fmap :: (a -> b) -> Maybe a -> Maybe b #

Monad Maybe # 
Instance details

Defined in Control.Monad

Methods

(>>=) :: Maybe a -> (a -> Maybe b) -> Maybe b #

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

return :: a -> Maybe a #

fail :: String -> Maybe a #

MonadPlus Maybe # 
Instance details

Defined in Control.Monad

Methods

mzero :: Maybe a #

mplus :: Maybe a -> Maybe a -> Maybe a #

Eq a => Eq (Maybe a) # 
Instance details

Defined in Data.Maybe

Methods

(==) :: Maybe a -> Maybe a -> Bool #

(/=) :: Maybe a -> Maybe a -> Bool #

Ord a => Ord (Maybe a) # 
Instance details

Defined in Data.Maybe

Methods

compare :: Maybe a -> Maybe a -> Ordering #

(<) :: Maybe a -> Maybe a -> Bool #

(<=) :: Maybe a -> Maybe a -> Bool #

(>=) :: Maybe a -> Maybe a -> Bool #

(>) :: Maybe a -> Maybe a -> Bool #

max :: Maybe a -> Maybe a -> Maybe a #

min :: Maybe a -> Maybe a -> Maybe a #

Read a => Read (Maybe a) # 
Instance details

Defined in Data.Maybe

Methods

readsPrec :: Int -> ReadS (Maybe a) #

readList :: ReadS [Maybe a] #

Show a => Show (Maybe a) # 
Instance details

Defined in Data.Maybe

Methods

showsPrec :: Int -> Maybe a -> ShowS #

show :: Maybe a -> String #

showList :: [Maybe a] -> ShowS #

data Either a b #

Constructors

Left a 
Right b 

data Ordering #

Constructors

LT 
EQ 
GT 

Instances

Instances details
Eq Ordering # 
Instance details

Defined in Data.Ord

Ix Ordering # 
Instance details

Defined in Data.Ix

Ord Ordering # 
Instance details

Defined in Data.Ord

data Char #

The character type Char is an enumeration whose values represent Unicode (or equivalently ISO/IEC 10646) characters (see http://www.unicode.org/ for details). This set extends the ISO 8859-1 (Latin-1) character set (the first 256 charachers), which is itself an extension of the ASCII character set (the first 128 characters). A character literal in Haskell has type Char. To convert a Char to or from the corresponding Int value defined by Unicode, use Prelude.toEnum and Prelude.fromEnum from the Prelude.Enum class respectively (or equivalently ord and chr).

Instances

Instances details
Bounded Char # 
Instance details

Defined in Data.Enum

Enum Char # 
Instance details

Defined in Data.Enum

Methods

succ :: Char -> Char #

pred :: Char -> Char #

toEnum :: Int -> Char #

fromEnum :: Char -> Int #

enumFrom :: Char -> [Char] #

enumFromThen :: Char -> Char -> [Char] #

enumFromTo :: Char -> Char -> [Char] #

enumFromThenTo :: Char -> Char -> Char -> [Char] #

Eq Char # 
Instance details

Defined in Data.Eq

Methods

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

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

Ix Char # 
Instance details

Defined in Data.Ix

Methods

range :: (Char, Char) -> [Char] #

index :: (Char, Char) -> Char -> Int #

inRange :: (Char, Char) -> Char -> Bool #

rangeSize :: (Char, Char) -> Int #

Ord Char # 
Instance details

Defined in Data.Ord

Methods

compare :: Char -> Char -> Ordering #

(<) :: Char -> Char -> Bool #

(<=) :: Char -> Char -> Bool #

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

(>) :: Char -> Char -> Bool #

max :: Char -> Char -> Char #

min :: Char -> Char -> Char #

Storable Char # 
Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Char -> Int #

alignment :: Char -> Int #

peekElemOff :: Ptr Char -> Int -> IO Char #

pokeElemOff :: Ptr Char -> Int -> Char -> IO () #

peekByteOff :: Ptr b -> Int -> IO Char #

pokeByteOff :: Ptr b -> Int -> Char -> IO () #

peek :: Ptr Char -> IO Char #

poke :: Ptr Char -> Char -> IO () #

Read Char # 
Instance details

Defined in Text.Read

Show Char # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Char -> ShowS #

show :: Char -> String #

showList :: [Char] -> ShowS #

type String = [Char] #

A String is a list of characters. String constants in Haskell are values of type String.

data 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 minBound and maxBound from the Bounded class.

Instances

Instances details
Bits Int # 
Instance details

Defined in Data.Bits

Methods

(.&.) :: Int -> Int -> Int #

(.|.) :: Int -> Int -> Int #

xor :: Int -> Int -> Int #

complement :: Int -> Int #

shift :: Int -> Int -> Int #

rotate :: Int -> Int -> Int #

bit :: Int -> Int #

setBit :: Int -> Int -> Int #

clearBit :: Int -> Int -> Int #

complementBit :: Int -> Int -> Int #

testBit :: Int -> Int -> Bool #

bitSize :: Int -> Int #

isSigned :: Int -> Bool #

shiftL :: Int -> Int -> Int #

shiftR :: Int -> Int -> Int #

rotateL :: Int -> Int -> Int #

rotateR :: Int -> Int -> Int #

Bounded Int # 
Instance details

Defined in Data.Enum

Methods

minBound :: Int #

maxBound :: Int #

Enum Int # 
Instance details

Defined in Data.Enum

Methods

succ :: Int -> Int #

pred :: Int -> Int #

toEnum :: Int -> Int #

fromEnum :: Int -> Int #

enumFrom :: Int -> [Int] #

enumFromThen :: Int -> Int -> [Int] #

enumFromTo :: Int -> Int -> [Int] #

enumFromThenTo :: Int -> Int -> Int -> [Int] #

Eq Int # 
Instance details

Defined in Data.Eq

Methods

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

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

Ix Int # 
Instance details

Defined in Data.Ix

Methods

range :: (Int, Int) -> [Int] #

index :: (Int, Int) -> Int -> Int #

inRange :: (Int, Int) -> Int -> Bool #

rangeSize :: (Int, Int) -> Int #

Ord Int # 
Instance details

Defined in Data.Ord

Methods

compare :: Int -> Int -> Ordering #

(<) :: Int -> Int -> Bool #

(<=) :: Int -> Int -> Bool #

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

(>) :: Int -> Int -> Bool #

max :: Int -> Int -> Int #

min :: Int -> Int -> Int #

Storable Int # 
Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Int -> Int #

alignment :: Int -> Int #

peekElemOff :: Ptr Int -> Int -> IO Int #

pokeElemOff :: Ptr Int -> Int -> Int -> IO () #

peekByteOff :: Ptr b -> Int -> IO Int #

pokeByteOff :: Ptr b -> Int -> Int -> IO () #

peek :: Ptr Int -> IO Int #

poke :: Ptr Int -> Int -> IO () #

Integral Int # 
Instance details

Defined in NumHierarchy

Methods

quot :: Int -> Int -> Int #

rem :: Int -> Int -> Int #

div :: Int -> Int -> Int #

mod :: Int -> Int -> Int #

quotRem :: Int -> Int -> (Int, Int) #

divMod :: Int -> Int -> (Int, Int) #

toInteger :: Int -> Integer #

Num Int # 
Instance details

Defined in NumHierarchy

Methods

(+) :: Int -> Int -> Int #

(-) :: Int -> Int -> Int #

(*) :: Int -> Int -> Int #

negate :: Int -> Int #

abs :: Int -> Int #

signum :: Int -> Int #

fromInteger :: Integer -> Int #

Real Int # 
Instance details

Defined in NumHierarchy

Methods

toRational :: Int -> Rational #

Read Int # 
Instance details

Defined in Text.Read

Show Int # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Int -> ShowS #

show :: Int -> String #

showList :: [Int] -> ShowS #

data Integer #

Instances

Instances details
Bits Integer # 
Instance details

Defined in Data.Bits

Enum Integer # 
Instance details

Defined in Data.Enum

Eq Integer # 
Instance details

Defined in Data.Eq

Methods

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

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

Ix Integer # 
Instance details

Defined in Data.Ix

Ord Integer # 
Instance details

Defined in Data.Ord

Integral Integer # 
Instance details

Defined in NumHierarchy

Num Integer # 
Instance details

Defined in NumHierarchy

Real Integer # 
Instance details

Defined in NumHierarchy

Read Integer # 
Instance details

Defined in Text.Read

Show Integer # 
Instance details

Defined in Text.Show

data Float #

Instances

Instances details
Enum Float # 
Instance details

Defined in Data.Enum

Eq Float # 
Instance details

Defined in Data.Eq

Methods

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

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

Ord Float # 
Instance details

Defined in Data.Ord

Methods

compare :: Float -> Float -> Ordering #

(<) :: Float -> Float -> Bool #

(<=) :: Float -> Float -> Bool #

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

(>) :: Float -> Float -> Bool #

max :: Float -> Float -> Float #

min :: Float -> Float -> Float #

Storable Float # 
Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Float -> Int #

alignment :: Float -> Int #

peekElemOff :: Ptr Float -> Int -> IO Float #

pokeElemOff :: Ptr Float -> Int -> Float -> IO () #

peekByteOff :: Ptr b -> Int -> IO Float #

pokeByteOff :: Ptr b -> Int -> Float -> IO () #

peek :: Ptr Float -> IO Float #

poke :: Ptr Float -> Float -> IO () #

Floating Float # 
Instance details

Defined in NumHierarchy

Fractional Float # 
Instance details

Defined in NumHierarchy

Num Float # 
Instance details

Defined in NumHierarchy

Real Float # 
Instance details

Defined in NumHierarchy

Methods

toRational :: Float -> Rational #

RealFloat Float # 
Instance details

Defined in NumHierarchy

RealFrac Float # 
Instance details

Defined in NumHierarchy

Methods

properFraction :: Integral b => Float -> (b, Float) #

truncate :: Integral b => Float -> b #

round :: Integral b => Float -> b #

ceiling :: Integral b => Float -> b #

floor :: Integral b => Float -> b #

Read Float # 
Instance details

Defined in Text.Read

Show Float # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Float -> ShowS #

show :: Float -> String #

showList :: [Float] -> ShowS #

data Double #

Instances

Instances details
Enum Double # 
Instance details

Defined in Data.Enum

Eq Double # 
Instance details

Defined in Data.Eq

Methods

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

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

Ord Double # 
Instance details

Defined in Data.Ord

Storable Double # 
Instance details

Defined in Foreign.Storable

Floating Double # 
Instance details

Defined in NumHierarchy

Fractional Double # 
Instance details

Defined in NumHierarchy

Num Double # 
Instance details

Defined in NumHierarchy

Real Double # 
Instance details

Defined in NumHierarchy

RealFloat Double # 
Instance details

Defined in NumHierarchy

RealFrac Double # 
Instance details

Defined in NumHierarchy

Methods

properFraction :: Integral b => Double -> (b, Double) #

truncate :: Integral b => Double -> b #

round :: Integral b => Double -> b #

ceiling :: Integral b => Double -> b #

floor :: Integral b => Double -> b #

Read Double # 
Instance details

Defined in Text.Read

Show Double # 
Instance details

Defined in Text.Show

type Rational = Ratio Integer #

Arbitrary-precision rational numbers, represented as a ratio of two Integer values. A rational number may be constructed using the % operator.

data 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 IO will be performed. It isn’t possible to perform IO from an arbitrary function, unless that function is itself in the IO monad and called at some point, directly or indirectly, from Main.main.

IO is a monad, so IO actions can be combined using either the do-notation or the >> and >>= operations from the Monad class.

Instances

Instances details
Functor IO # 
Instance details

Defined in Control.Monad

Methods

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

Monad IO # 
Instance details

Defined in Control.Monad

Methods

(>>=) :: IO a -> (a -> IO b) -> IO b #

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

return :: a -> IO a #

fail :: String -> IO a #

class Eq a where #

Methods

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

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

Instances

Instances details
Eq Bool # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq GeneralCategory # 
Instance details

Defined in Data.Char

Eq Int # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq Int16 # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq Int32 # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq Int64 # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq Int8 # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq Ordering # 
Instance details

Defined in Data.Ord

Eq Word # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq Word16 # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq Word32 # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq Word64 # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq Word8 # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq Errno # 
Instance details

Defined in Foreign.C.Error

Methods

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

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

Eq CChar # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CClock # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CDouble # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CFloat # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CInt # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CIntMax # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CIntPtr # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CLLong # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CLong # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Eq CSChar # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CShort # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Eq CSize # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CTime # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CUChar # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CUInt # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CUIntMax # 
Instance details

Defined in Foreign.C.Types

Eq CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Eq CULLong # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CULong # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CUShort # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq CWchar # 
Instance details

Defined in Foreign.C.Types

Methods

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

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

Eq IntPtr # 
Instance details

Defined in Foreign.Ptr

Methods

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

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

Eq WordPtr # 
Instance details

Defined in Foreign.Ptr

Methods

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

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

Eq Char # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq Double # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq Float # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq Integer # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq ExitCode # 
Instance details

Defined in System.Exit

Eq BufferMode # 
Instance details

Defined in System.IO

Eq Handle # 
Instance details

Defined in System.IO

Methods

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

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

Eq HandlePosn # 
Instance details

Defined in System.IO

Eq IOMode # 
Instance details

Defined in System.IO

Methods

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

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

Eq SeekMode # 
Instance details

Defined in System.IO

Eq IOErrorType # 
Instance details

Defined in System.IO.Error

Eq () # 
Instance details

Defined in Data.Eq

Methods

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

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

Eq a => Eq (Complex a) # 
Instance details

Defined in Data.Complex

Methods

(==) :: Complex a -> Complex a -> Bool #

(/=) :: Complex a -> Complex a -> Bool #

Eq a => Eq (Maybe a) # 
Instance details

Defined in Data.Maybe

Methods

(==) :: Maybe a -> Maybe a -> Bool #

(/=) :: Maybe a -> Maybe a -> Bool #

Eq (ForeignPtr a) # 
Instance details

Defined in Foreign.ForeignPtr

Methods

(==) :: ForeignPtr a -> ForeignPtr a -> Bool #

(/=) :: ForeignPtr a -> ForeignPtr a -> Bool #

Eq (FunPtr a) # 
Instance details

Defined in Foreign.Ptr

Methods

(==) :: FunPtr a -> FunPtr a -> Bool #

(/=) :: FunPtr a -> FunPtr a -> Bool #

Eq (Ptr a) # 
Instance details

Defined in Foreign.Ptr

Methods

(==) :: Ptr a -> Ptr a -> Bool #

(/=) :: Ptr a -> Ptr a -> Bool #

Eq (StablePtr a) # 
Instance details

Defined in Foreign.StablePtr

Methods

(==) :: StablePtr a -> StablePtr a -> Bool #

(/=) :: StablePtr a -> StablePtr a -> Bool #

Integral a => Eq (Ratio a) # 
Instance details

Defined in NumHierarchy

Methods

(==) :: Ratio a -> Ratio a -> Bool #

(/=) :: Ratio a -> Ratio a -> Bool #

(Ix i, Eq e) => Eq (Array i e) # 
Instance details

Defined in Data.Array

Methods

(==) :: Array i e -> Array i e -> Bool #

(/=) :: Array i e -> Array i e -> Bool #

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

Defined in Data.Eq

Methods

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

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

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

Defined in Data.Eq

Methods

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

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

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

Defined in Data.Eq

Methods

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

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

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

Defined in Data.Eq

Methods

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

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

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

Defined in Data.Eq

Methods

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

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

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

Defined in Data.Eq

Methods

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

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

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

Defined in Data.Eq

Methods

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

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

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

Defined in Data.Eq

Methods

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

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

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

Defined in Data.Eq

Methods

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

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

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

Defined in Data.Eq

Methods

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

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

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

Defined in Data.Eq

Methods

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

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

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

Defined in Data.Eq

Methods

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

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

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

Defined in Data.Eq

Methods

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

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

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

Defined in Data.Eq

Methods

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

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

class Eq a => Ord a where #

Methods

compare :: a -> a -> Ordering #

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

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

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

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

max :: a -> a -> a #

min :: a -> a -> a #

Instances

Instances details
Ord Bool # 
Instance details

Defined in Data.Ord

Methods

compare :: Bool -> Bool -> Ordering #

(<) :: Bool -> Bool -> Bool #

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

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

(>) :: Bool -> Bool -> Bool #

max :: Bool -> Bool -> Bool #

min :: Bool -> Bool -> Bool #

Ord GeneralCategory # 
Instance details

Defined in Data.Char

Ord Int # 
Instance details

Defined in Data.Ord

Methods

compare :: Int -> Int -> Ordering #

(<) :: Int -> Int -> Bool #

(<=) :: Int -> Int -> Bool #

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

(>) :: Int -> Int -> Bool #

max :: Int -> Int -> Int #

min :: Int -> Int -> Int #

Ord Int16 # 
Instance details

Defined in Data.Ord

Methods

compare :: Int16 -> Int16 -> Ordering #

(<) :: Int16 -> Int16 -> Bool #

(<=) :: Int16 -> Int16 -> Bool #

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

(>) :: Int16 -> Int16 -> Bool #

max :: Int16 -> Int16 -> Int16 #

min :: Int16 -> Int16 -> Int16 #

Ord Int32 # 
Instance details

Defined in Data.Ord

Methods

compare :: Int32 -> Int32 -> Ordering #

(<) :: Int32 -> Int32 -> Bool #

(<=) :: Int32 -> Int32 -> Bool #

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

(>) :: Int32 -> Int32 -> Bool #

max :: Int32 -> Int32 -> Int32 #

min :: Int32 -> Int32 -> Int32 #

Ord Int64 # 
Instance details

Defined in Data.Ord

Methods

compare :: Int64 -> Int64 -> Ordering #

(<) :: Int64 -> Int64 -> Bool #

(<=) :: Int64 -> Int64 -> Bool #

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

(>) :: Int64 -> Int64 -> Bool #

max :: Int64 -> Int64 -> Int64 #

min :: Int64 -> Int64 -> Int64 #

Ord Int8 # 
Instance details

Defined in Data.Ord

Methods

compare :: Int8 -> Int8 -> Ordering #

(<) :: Int8 -> Int8 -> Bool #

(<=) :: Int8 -> Int8 -> Bool #

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

(>) :: Int8 -> Int8 -> Bool #

max :: Int8 -> Int8 -> Int8 #

min :: Int8 -> Int8 -> Int8 #

Ord Ordering # 
Instance details

Defined in Data.Ord

Ord Word # 
Instance details

Defined in Data.Ord

Methods

compare :: Word -> Word -> Ordering #

(<) :: Word -> Word -> Bool #

(<=) :: Word -> Word -> Bool #

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

(>) :: Word -> Word -> Bool #

max :: Word -> Word -> Word #

min :: Word -> Word -> Word #

Ord Word16 # 
Instance details

Defined in Data.Ord

Ord Word32 # 
Instance details

Defined in Data.Ord

Ord Word64 # 
Instance details

Defined in Data.Ord

Ord Word8 # 
Instance details

Defined in Data.Ord

Methods

compare :: Word8 -> Word8 -> Ordering #

(<) :: Word8 -> Word8 -> Bool #

(<=) :: Word8 -> Word8 -> Bool #

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

(>) :: Word8 -> Word8 -> Bool #

max :: Word8 -> Word8 -> Word8 #

min :: Word8 -> Word8 -> Word8 #

Ord CChar # 
Instance details

Defined in Foreign.C.Types

Methods

compare :: CChar -> CChar -> Ordering #

(<) :: CChar -> CChar -> Bool #

(<=) :: CChar -> CChar -> Bool #

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

(>) :: CChar -> CChar -> Bool #

max :: CChar -> CChar -> CChar #

min :: CChar -> CChar -> CChar #

Ord CClock # 
Instance details

Defined in Foreign.C.Types

Ord CDouble # 
Instance details

Defined in Foreign.C.Types

Ord CFloat # 
Instance details

Defined in Foreign.C.Types

Ord CInt # 
Instance details

Defined in Foreign.C.Types

Methods

compare :: CInt -> CInt -> Ordering #

(<) :: CInt -> CInt -> Bool #

(<=) :: CInt -> CInt -> Bool #

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

(>) :: CInt -> CInt -> Bool #

max :: CInt -> CInt -> CInt #

min :: CInt -> CInt -> CInt #

Ord CIntMax # 
Instance details

Defined in Foreign.C.Types

Ord CIntPtr # 
Instance details

Defined in Foreign.C.Types

Ord CLLong # 
Instance details

Defined in Foreign.C.Types

Ord CLong # 
Instance details

Defined in Foreign.C.Types

Methods

compare :: CLong -> CLong -> Ordering #

(<) :: CLong -> CLong -> Bool #

(<=) :: CLong -> CLong -> Bool #

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

(>) :: CLong -> CLong -> Bool #

max :: CLong -> CLong -> CLong #

min :: CLong -> CLong -> CLong #

Ord CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Ord CSChar # 
Instance details

Defined in Foreign.C.Types

Ord CShort # 
Instance details

Defined in Foreign.C.Types

Ord CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Ord CSize # 
Instance details

Defined in Foreign.C.Types

Methods

compare :: CSize -> CSize -> Ordering #

(<) :: CSize -> CSize -> Bool #

(<=) :: CSize -> CSize -> Bool #

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

(>) :: CSize -> CSize -> Bool #

max :: CSize -> CSize -> CSize #

min :: CSize -> CSize -> CSize #

Ord CTime # 
Instance details

Defined in Foreign.C.Types

Methods

compare :: CTime -> CTime -> Ordering #

(<) :: CTime -> CTime -> Bool #

(<=) :: CTime -> CTime -> Bool #

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

(>) :: CTime -> CTime -> Bool #

max :: CTime -> CTime -> CTime #

min :: CTime -> CTime -> CTime #

Ord CUChar # 
Instance details

Defined in Foreign.C.Types

Ord CUInt # 
Instance details

Defined in Foreign.C.Types

Methods

compare :: CUInt -> CUInt -> Ordering #

(<) :: CUInt -> CUInt -> Bool #

(<=) :: CUInt -> CUInt -> Bool #

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

(>) :: CUInt -> CUInt -> Bool #

max :: CUInt -> CUInt -> CUInt #

min :: CUInt -> CUInt -> CUInt #

Ord CUIntMax # 
Instance details

Defined in Foreign.C.Types

Ord CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Ord CULLong # 
Instance details

Defined in Foreign.C.Types

Ord CULong # 
Instance details

Defined in Foreign.C.Types

Ord CUShort # 
Instance details

Defined in Foreign.C.Types

Ord CWchar # 
Instance details

Defined in Foreign.C.Types

Ord IntPtr # 
Instance details

Defined in Foreign.Ptr

Ord WordPtr # 
Instance details

Defined in Foreign.Ptr

Ord Char # 
Instance details

Defined in Data.Ord

Methods

compare :: Char -> Char -> Ordering #

(<) :: Char -> Char -> Bool #

(<=) :: Char -> Char -> Bool #

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

(>) :: Char -> Char -> Bool #

max :: Char -> Char -> Char #

min :: Char -> Char -> Char #

Ord Double # 
Instance details

Defined in Data.Ord

Ord Float # 
Instance details

Defined in Data.Ord

Methods

compare :: Float -> Float -> Ordering #

(<) :: Float -> Float -> Bool #

(<=) :: Float -> Float -> Bool #

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

(>) :: Float -> Float -> Bool #

max :: Float -> Float -> Float #

min :: Float -> Float -> Float #

Ord Integer # 
Instance details

Defined in Data.Ord

Ord ExitCode # 
Instance details

Defined in System.Exit

Ord BufferMode # 
Instance details

Defined in System.IO

Ord IOMode # 
Instance details

Defined in System.IO

Ord SeekMode # 
Instance details

Defined in System.IO

Ord () # 
Instance details

Defined in Data.Ord

Methods

compare :: () -> () -> Ordering #

(<) :: () -> () -> Bool #

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

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

(>) :: () -> () -> Bool #

max :: () -> () -> () #

min :: () -> () -> () #

Ord a => Ord (Maybe a) # 
Instance details

Defined in Data.Maybe

Methods

compare :: Maybe a -> Maybe a -> Ordering #

(<) :: Maybe a -> Maybe a -> Bool #

(<=) :: Maybe a -> Maybe a -> Bool #

(>=) :: Maybe a -> Maybe a -> Bool #

(>) :: Maybe a -> Maybe a -> Bool #

max :: Maybe a -> Maybe a -> Maybe a #

min :: Maybe a -> Maybe a -> Maybe a #

Ord (ForeignPtr a) # 
Instance details

Defined in Foreign.ForeignPtr

Ord (FunPtr a) # 
Instance details

Defined in Foreign.Ptr

Methods

compare :: FunPtr a -> FunPtr a -> Ordering #

(<) :: FunPtr a -> FunPtr a -> Bool #

(<=) :: FunPtr a -> FunPtr a -> Bool #

(>=) :: FunPtr a -> FunPtr a -> Bool #

(>) :: FunPtr a -> FunPtr a -> Bool #

max :: FunPtr a -> FunPtr a -> FunPtr a #

min :: FunPtr a -> FunPtr a -> FunPtr a #

Ord (Ptr a) # 
Instance details

Defined in Foreign.Ptr

Methods

compare :: Ptr a -> Ptr a -> Ordering #

(<) :: Ptr a -> Ptr a -> Bool #

(<=) :: Ptr a -> Ptr a -> Bool #

(>=) :: Ptr a -> Ptr a -> Bool #

(>) :: Ptr a -> Ptr a -> Bool #

max :: Ptr a -> Ptr a -> Ptr a #

min :: Ptr a -> Ptr a -> Ptr a #

Integral a => Ord (Ratio a) # 
Instance details

Defined in NumHierarchy

Methods

compare :: Ratio a -> Ratio a -> Ordering #

(<) :: Ratio a -> Ratio a -> Bool #

(<=) :: Ratio a -> Ratio a -> Bool #

(>=) :: Ratio a -> Ratio a -> Bool #

(>) :: Ratio a -> Ratio a -> Bool #

max :: Ratio a -> Ratio a -> Ratio a #

min :: Ratio a -> Ratio a -> Ratio a #

(Ix i, Ord e) => Ord (Array i e) # 
Instance details

Defined in Data.Array

Methods

compare :: Array i e -> Array i e -> Ordering #

(<) :: Array i e -> Array i e -> Bool #

(<=) :: Array i e -> Array i e -> Bool #

(>=) :: Array i e -> Array i e -> Bool #

(>) :: Array i e -> Array i e -> Bool #

max :: Array i e -> Array i e -> Array i e #

min :: Array i e -> Array i e -> Array i e #

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Ord

Methods

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

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

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

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

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

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

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

class Enum a where #

Methods

succ :: a -> a #

pred :: a -> a #

toEnum :: Int -> a #

fromEnum :: a -> Int #

enumFrom :: a -> [a] #

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

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

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

Instances

Instances details
Enum GeneralCategory # 
Instance details

Defined in Data.Char

Enum Int # 
Instance details

Defined in Data.Enum

Methods

succ :: Int -> Int #

pred :: Int -> Int #

toEnum :: Int -> Int #

fromEnum :: Int -> Int #

enumFrom :: Int -> [Int] #

enumFromThen :: Int -> Int -> [Int] #

enumFromTo :: Int -> Int -> [Int] #

enumFromThenTo :: Int -> Int -> Int -> [Int] #

Enum Int16 # 
Instance details

Defined in Data.Enum

Enum Int32 # 
Instance details

Defined in Data.Enum

Enum Int64 # 
Instance details

Defined in Data.Enum

Enum Int8 # 
Instance details

Defined in Data.Enum

Methods

succ :: Int8 -> Int8 #

pred :: Int8 -> Int8 #

toEnum :: Int -> Int8 #

fromEnum :: Int8 -> Int #

enumFrom :: Int8 -> [Int8] #

enumFromThen :: Int8 -> Int8 -> [Int8] #

enumFromTo :: Int8 -> Int8 -> [Int8] #

enumFromThenTo :: Int8 -> Int8 -> Int8 -> [Int8] #

Enum Word # 
Instance details

Defined in Data.Enum

Methods

succ :: Word -> Word #

pred :: Word -> Word #

toEnum :: Int -> Word #

fromEnum :: Word -> Int #

enumFrom :: Word -> [Word] #

enumFromThen :: Word -> Word -> [Word] #

enumFromTo :: Word -> Word -> [Word] #

enumFromThenTo :: Word -> Word -> Word -> [Word] #

Enum Word16 # 
Instance details

Defined in Data.Enum

Enum Word32 # 
Instance details

Defined in Data.Enum

Enum Word64 # 
Instance details

Defined in Data.Enum

Enum Word8 # 
Instance details

Defined in Data.Enum

Enum CChar # 
Instance details

Defined in Foreign.C.Types

Enum CClock # 
Instance details

Defined in Foreign.C.Types

Enum CDouble # 
Instance details

Defined in Foreign.C.Types

Enum CFloat # 
Instance details

Defined in Foreign.C.Types

Enum CInt # 
Instance details

Defined in Foreign.C.Types

Methods

succ :: CInt -> CInt #

pred :: CInt -> CInt #

toEnum :: Int -> CInt #

fromEnum :: CInt -> Int #

enumFrom :: CInt -> [CInt] #

enumFromThen :: CInt -> CInt -> [CInt] #

enumFromTo :: CInt -> CInt -> [CInt] #

enumFromThenTo :: CInt -> CInt -> CInt -> [CInt] #

Enum CIntMax # 
Instance details

Defined in Foreign.C.Types

Enum CIntPtr # 
Instance details

Defined in Foreign.C.Types

Enum CLLong # 
Instance details

Defined in Foreign.C.Types

Enum CLong # 
Instance details

Defined in Foreign.C.Types

Enum CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Enum CSChar # 
Instance details

Defined in Foreign.C.Types

Enum CShort # 
Instance details

Defined in Foreign.C.Types

Enum CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Enum CSize # 
Instance details

Defined in Foreign.C.Types

Enum CTime # 
Instance details

Defined in Foreign.C.Types

Enum CUChar # 
Instance details

Defined in Foreign.C.Types

Enum CUInt # 
Instance details

Defined in Foreign.C.Types

Enum CUIntMax # 
Instance details

Defined in Foreign.C.Types

Enum CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Enum CULLong # 
Instance details

Defined in Foreign.C.Types

Enum CULong # 
Instance details

Defined in Foreign.C.Types

Enum CUShort # 
Instance details

Defined in Foreign.C.Types

Enum CWchar # 
Instance details

Defined in Foreign.C.Types

Enum IntPtr # 
Instance details

Defined in Foreign.Ptr

Enum WordPtr # 
Instance details

Defined in Foreign.Ptr

Enum Char # 
Instance details

Defined in Data.Enum

Methods

succ :: Char -> Char #

pred :: Char -> Char #

toEnum :: Int -> Char #

fromEnum :: Char -> Int #

enumFrom :: Char -> [Char] #

enumFromThen :: Char -> Char -> [Char] #

enumFromTo :: Char -> Char -> [Char] #

enumFromThenTo :: Char -> Char -> Char -> [Char] #

Enum Double # 
Instance details

Defined in Data.Enum

Enum Float # 
Instance details

Defined in Data.Enum

Enum Integer # 
Instance details

Defined in Data.Enum

Enum IOMode # 
Instance details

Defined in System.IO

Enum SeekMode # 
Instance details

Defined in System.IO

Integral a => Enum (Ratio a) # 
Instance details

Defined in NumHierarchy

Methods

succ :: Ratio a -> Ratio a #

pred :: Ratio a -> Ratio a #

toEnum :: Int -> Ratio a #

fromEnum :: Ratio a -> Int #

enumFrom :: Ratio a -> [Ratio a] #

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

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

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

class Bounded a where #

Methods

minBound :: a #

maxBound :: a #

Instances

Instances details
Bounded GeneralCategory # 
Instance details

Defined in Data.Char

Bounded Int # 
Instance details

Defined in Data.Enum

Methods

minBound :: Int #

maxBound :: Int #

Bounded Int16 # 
Instance details

Defined in Data.Enum

Bounded Int32 # 
Instance details

Defined in Data.Enum

Bounded Int64 # 
Instance details

Defined in Data.Enum

Bounded Int8 # 
Instance details

Defined in Data.Enum

Bounded Word # 
Instance details

Defined in Data.Enum

Bounded Word16 # 
Instance details

Defined in Data.Enum

Bounded Word32 # 
Instance details

Defined in Data.Enum

Bounded Word64 # 
Instance details

Defined in Data.Enum

Bounded Word8 # 
Instance details

Defined in Data.Enum

Bounded CChar # 
Instance details

Defined in Foreign.C.Types

Bounded CInt # 
Instance details

Defined in Foreign.C.Types

Bounded CIntMax # 
Instance details

Defined in Foreign.C.Types

Bounded CIntPtr # 
Instance details

Defined in Foreign.C.Types

Bounded CLLong # 
Instance details

Defined in Foreign.C.Types

Bounded CLong # 
Instance details

Defined in Foreign.C.Types

Bounded CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Bounded CSChar # 
Instance details

Defined in Foreign.C.Types

Bounded CShort # 
Instance details

Defined in Foreign.C.Types

Bounded CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Bounded CSize # 
Instance details

Defined in Foreign.C.Types

Bounded CUChar # 
Instance details

Defined in Foreign.C.Types

Bounded CUInt # 
Instance details

Defined in Foreign.C.Types

Bounded CUIntMax # 
Instance details

Defined in Foreign.C.Types

Bounded CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Bounded CULLong # 
Instance details

Defined in Foreign.C.Types

Bounded CULong # 
Instance details

Defined in Foreign.C.Types

Bounded CUShort # 
Instance details

Defined in Foreign.C.Types

Bounded CWchar # 
Instance details

Defined in Foreign.C.Types

Bounded IntPtr # 
Instance details

Defined in Foreign.Ptr

Bounded WordPtr # 
Instance details

Defined in Foreign.Ptr

Bounded Char # 
Instance details

Defined in Data.Enum

class (Eq a, Show a) => Num a where #

Methods

(+) :: a -> a -> a infixl 6 #

(-) :: a -> a -> a infixl 6 #

(*) :: a -> a -> a infixl 7 #

negate :: a -> a #

abs :: a -> a #

signum :: a -> a #

fromInteger :: Integer -> a #

Instances

Instances details
Num Int # 
Instance details

Defined in NumHierarchy

Methods

(+) :: Int -> Int -> Int #

(-) :: Int -> Int -> Int #

(*) :: Int -> Int -> Int #

negate :: Int -> Int #

abs :: Int -> Int #

signum :: Int -> Int #

fromInteger :: Integer -> Int #

Num Int16 # 
Instance details

Defined in NumHierarchy

Num Int32 # 
Instance details

Defined in NumHierarchy

Num Int64 # 
Instance details

Defined in NumHierarchy

Num Int8 # 
Instance details

Defined in NumHierarchy

Methods

(+) :: Int8 -> Int8 -> Int8 #

(-) :: Int8 -> Int8 -> Int8 #

(*) :: Int8 -> Int8 -> Int8 #

negate :: Int8 -> Int8 #

abs :: Int8 -> Int8 #

signum :: Int8 -> Int8 #

fromInteger :: Integer -> Int8 #

Num Word # 
Instance details

Defined in NumHierarchy

Methods

(+) :: Word -> Word -> Word #

(-) :: Word -> Word -> Word #

(*) :: Word -> Word -> Word #

negate :: Word -> Word #

abs :: Word -> Word #

signum :: Word -> Word #

fromInteger :: Integer -> Word #

Num Word16 # 
Instance details

Defined in NumHierarchy

Num Word32 # 
Instance details

Defined in NumHierarchy

Num Word64 # 
Instance details

Defined in NumHierarchy

Num Word8 # 
Instance details

Defined in NumHierarchy

Num CChar # 
Instance details

Defined in Foreign.C.Types

Num CClock # 
Instance details

Defined in Foreign.C.Types

Num CDouble # 
Instance details

Defined in Foreign.C.Types

Num CFloat # 
Instance details

Defined in Foreign.C.Types

Num CInt # 
Instance details

Defined in Foreign.C.Types

Methods

(+) :: CInt -> CInt -> CInt #

(-) :: CInt -> CInt -> CInt #

(*) :: CInt -> CInt -> CInt #

negate :: CInt -> CInt #

abs :: CInt -> CInt #

signum :: CInt -> CInt #

fromInteger :: Integer -> CInt #

Num CIntMax # 
Instance details

Defined in Foreign.C.Types

Num CIntPtr # 
Instance details

Defined in Foreign.C.Types

Num CLLong # 
Instance details

Defined in Foreign.C.Types

Num CLong # 
Instance details

Defined in Foreign.C.Types

Num CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Num CSChar # 
Instance details

Defined in Foreign.C.Types

Num CShort # 
Instance details

Defined in Foreign.C.Types

Num CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Num CSize # 
Instance details

Defined in Foreign.C.Types

Num CTime # 
Instance details

Defined in Foreign.C.Types

Num CUChar # 
Instance details

Defined in Foreign.C.Types

Num CUInt # 
Instance details

Defined in Foreign.C.Types

Num CUIntMax # 
Instance details

Defined in Foreign.C.Types

Num CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Num CULLong # 
Instance details

Defined in Foreign.C.Types

Num CULong # 
Instance details

Defined in Foreign.C.Types

Num CUShort # 
Instance details

Defined in Foreign.C.Types

Num CWchar # 
Instance details

Defined in Foreign.C.Types

Num IntPtr # 
Instance details

Defined in Foreign.Ptr

Num WordPtr # 
Instance details

Defined in Foreign.Ptr

Num Double # 
Instance details

Defined in NumHierarchy

Num Float # 
Instance details

Defined in NumHierarchy

Num Integer # 
Instance details

Defined in NumHierarchy

RealFloat a => Num (Complex a) # 
Instance details

Defined in Data.Complex

Methods

(+) :: Complex a -> Complex a -> Complex a #

(-) :: Complex a -> Complex a -> Complex a #

(*) :: Complex a -> Complex a -> Complex a #

negate :: Complex a -> Complex a #

abs :: Complex a -> Complex a #

signum :: Complex a -> Complex a #

fromInteger :: Integer -> Complex a #

Integral a => Num (Ratio a) # 
Instance details

Defined in NumHierarchy

Methods

(+) :: Ratio a -> Ratio a -> Ratio a #

(-) :: Ratio a -> Ratio a -> Ratio a #

(*) :: Ratio a -> Ratio a -> Ratio a #

negate :: Ratio a -> Ratio a #

abs :: Ratio a -> Ratio a #

signum :: Ratio a -> Ratio a #

fromInteger :: Integer -> Ratio a #

class (Num a, Ord a) => Real a where #

Methods

toRational :: a -> Rational #

Instances

Instances details
Real Int # 
Instance details

Defined in NumHierarchy

Methods

toRational :: Int -> Rational #

Real Int16 # 
Instance details

Defined in NumHierarchy

Methods

toRational :: Int16 -> Rational #

Real Int32 # 
Instance details

Defined in NumHierarchy

Methods

toRational :: Int32 -> Rational #

Real Int64 # 
Instance details

Defined in NumHierarchy

Methods

toRational :: Int64 -> Rational #

Real Int8 # 
Instance details

Defined in NumHierarchy

Methods

toRational :: Int8 -> Rational #

Real Word # 
Instance details

Defined in NumHierarchy

Methods

toRational :: Word -> Rational #

Real Word16 # 
Instance details

Defined in NumHierarchy

Real Word32 # 
Instance details

Defined in NumHierarchy

Real Word64 # 
Instance details

Defined in NumHierarchy

Real Word8 # 
Instance details

Defined in NumHierarchy

Methods

toRational :: Word8 -> Rational #

Real CChar # 
Instance details

Defined in Foreign.C.Types

Methods

toRational :: CChar -> Rational #

Real CClock # 
Instance details

Defined in Foreign.C.Types

Real CDouble # 
Instance details

Defined in Foreign.C.Types

Real CFloat # 
Instance details

Defined in Foreign.C.Types

Real CInt # 
Instance details

Defined in Foreign.C.Types

Methods

toRational :: CInt -> Rational #

Real CIntMax # 
Instance details

Defined in Foreign.C.Types

Real CIntPtr # 
Instance details

Defined in Foreign.C.Types

Real CLLong # 
Instance details

Defined in Foreign.C.Types

Real CLong # 
Instance details

Defined in Foreign.C.Types

Methods

toRational :: CLong -> Rational #

Real CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Real CSChar # 
Instance details

Defined in Foreign.C.Types

Real CShort # 
Instance details

Defined in Foreign.C.Types

Real CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Real CSize # 
Instance details

Defined in Foreign.C.Types

Methods

toRational :: CSize -> Rational #

Real CTime # 
Instance details

Defined in Foreign.C.Types

Methods

toRational :: CTime -> Rational #

Real CUChar # 
Instance details

Defined in Foreign.C.Types

Real CUInt # 
Instance details

Defined in Foreign.C.Types

Methods

toRational :: CUInt -> Rational #

Real CUIntMax # 
Instance details

Defined in Foreign.C.Types

Real CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Real CULLong # 
Instance details

Defined in Foreign.C.Types

Real CULong # 
Instance details

Defined in Foreign.C.Types

Real CUShort # 
Instance details

Defined in Foreign.C.Types

Real CWchar # 
Instance details

Defined in Foreign.C.Types

Real IntPtr # 
Instance details

Defined in Foreign.Ptr

Real WordPtr # 
Instance details

Defined in Foreign.Ptr

Real Double # 
Instance details

Defined in NumHierarchy

Real Float # 
Instance details

Defined in NumHierarchy

Methods

toRational :: Float -> Rational #

Real Integer # 
Instance details

Defined in NumHierarchy

Integral a => Real (Ratio a) # 
Instance details

Defined in NumHierarchy

Methods

toRational :: Ratio a -> Rational #

class (Real a, Enum a) => Integral a where #

Methods

quot :: a -> a -> a infixl 7 #

rem :: a -> a -> a infixl 7 #

div :: a -> a -> a infixl 7 #

mod :: a -> a -> a infixl 7 #

quotRem :: a -> a -> (a, a) #

divMod :: a -> a -> (a, a) #

toInteger :: a -> Integer #

Instances

Instances details
Integral Int # 
Instance details

Defined in NumHierarchy

Methods

quot :: Int -> Int -> Int #

rem :: Int -> Int -> Int #

div :: Int -> Int -> Int #

mod :: Int -> Int -> Int #

quotRem :: Int -> Int -> (Int, Int) #

divMod :: Int -> Int -> (Int, Int) #

toInteger :: Int -> Integer #

Integral Int16 # 
Instance details

Defined in NumHierarchy

Integral Int32 # 
Instance details

Defined in NumHierarchy

Integral Int64 # 
Instance details

Defined in NumHierarchy

Integral Int8 # 
Instance details

Defined in NumHierarchy

Methods

quot :: Int8 -> Int8 -> Int8 #

rem :: Int8 -> Int8 -> Int8 #

div :: Int8 -> Int8 -> Int8 #

mod :: Int8 -> Int8 -> Int8 #

quotRem :: Int8 -> Int8 -> (Int8, Int8) #

divMod :: Int8 -> Int8 -> (Int8, Int8) #

toInteger :: Int8 -> Integer #

Integral Word # 
Instance details

Defined in NumHierarchy

Methods

quot :: Word -> Word -> Word #

rem :: Word -> Word -> Word #

div :: Word -> Word -> Word #

mod :: Word -> Word -> Word #

quotRem :: Word -> Word -> (Word, Word) #

divMod :: Word -> Word -> (Word, Word) #

toInteger :: Word -> Integer #

Integral Word16 # 
Instance details

Defined in NumHierarchy

Integral Word32 # 
Instance details

Defined in NumHierarchy

Integral Word64 # 
Instance details

Defined in NumHierarchy

Integral Word8 # 
Instance details

Defined in NumHierarchy

Integral CChar # 
Instance details

Defined in Foreign.C.Types

Integral CInt # 
Instance details

Defined in Foreign.C.Types

Methods

quot :: CInt -> CInt -> CInt #

rem :: CInt -> CInt -> CInt #

div :: CInt -> CInt -> CInt #

mod :: CInt -> CInt -> CInt #

quotRem :: CInt -> CInt -> (CInt, CInt) #

divMod :: CInt -> CInt -> (CInt, CInt) #

toInteger :: CInt -> Integer #

Integral CIntMax # 
Instance details

Defined in Foreign.C.Types

Integral CIntPtr # 
Instance details

Defined in Foreign.C.Types

Integral CLLong # 
Instance details

Defined in Foreign.C.Types

Integral CLong # 
Instance details

Defined in Foreign.C.Types

Integral CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Integral CSChar # 
Instance details

Defined in Foreign.C.Types

Integral CShort # 
Instance details

Defined in Foreign.C.Types

Integral CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Integral CSize # 
Instance details

Defined in Foreign.C.Types

Integral CUChar # 
Instance details

Defined in Foreign.C.Types

Integral CUInt # 
Instance details

Defined in Foreign.C.Types

Integral CUIntMax # 
Instance details

Defined in Foreign.C.Types

Integral CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Integral CULLong # 
Instance details

Defined in Foreign.C.Types

Integral CULong # 
Instance details

Defined in Foreign.C.Types

Integral CUShort # 
Instance details

Defined in Foreign.C.Types

Integral CWchar # 
Instance details

Defined in Foreign.C.Types

Integral IntPtr # 
Instance details

Defined in Foreign.Ptr

Integral WordPtr # 
Instance details

Defined in Foreign.Ptr

Integral Integer # 
Instance details

Defined in NumHierarchy

class Num a => Fractional a where #

Methods

(/) :: a -> a -> a infixl 7 #

recip :: a -> a #

fromRational :: Rational -> a #

Instances

Instances details
Fractional CDouble # 
Instance details

Defined in Foreign.C.Types

Fractional CFloat # 
Instance details

Defined in Foreign.C.Types

Fractional Double # 
Instance details

Defined in NumHierarchy

Fractional Float # 
Instance details

Defined in NumHierarchy

RealFloat a => Fractional (Complex a) # 
Instance details

Defined in Data.Complex

Methods

(/) :: Complex a -> Complex a -> Complex a #

recip :: Complex a -> Complex a #

fromRational :: Rational -> Complex a #

Integral a => Fractional (Ratio a) # 
Instance details

Defined in NumHierarchy

Methods

(/) :: Ratio a -> Ratio a -> Ratio a #

recip :: Ratio a -> Ratio a #

fromRational :: Rational -> Ratio a #

class Fractional a => Floating a where #

Methods

pi :: a #

exp :: a -> a #

log :: a -> a #

sqrt :: a -> a #

(**) :: a -> a -> a infixr 8 #

logBase :: a -> a -> a #

sin :: a -> a #

cos :: a -> a #

tan :: a -> a #

asin :: a -> a #

acos :: a -> a #

atan :: a -> a #

sinh :: a -> a #

cosh :: a -> a #

tanh :: a -> a #

asinh :: a -> a #

acosh :: a -> a #

atanh :: a -> a #

Instances

Instances details
Floating CDouble # 
Instance details

Defined in Foreign.C.Types

Floating CFloat # 
Instance details

Defined in Foreign.C.Types

Floating Double # 
Instance details

Defined in NumHierarchy

Floating Float # 
Instance details

Defined in NumHierarchy

RealFloat a => Floating (Complex a) # 
Instance details

Defined in Data.Complex

Methods

pi :: Complex a #

exp :: Complex a -> Complex a #

log :: Complex a -> Complex a #

sqrt :: Complex a -> Complex a #

(**) :: Complex a -> Complex a -> Complex a #

logBase :: Complex a -> Complex a -> Complex a #

sin :: Complex a -> Complex a #

cos :: Complex a -> Complex a #

tan :: Complex a -> Complex a #

asin :: Complex a -> Complex a #

acos :: Complex a -> Complex a #

atan :: Complex a -> Complex a #

sinh :: Complex a -> Complex a #

cosh :: Complex a -> Complex a #

tanh :: Complex a -> Complex a #

asinh :: Complex a -> Complex a #

acosh :: Complex a -> Complex a #

atanh :: Complex a -> Complex a #

class (Real a, Fractional a) => RealFrac a where #

Methods

properFraction :: Integral b => a -> (b, a) #

truncate :: Integral b => a -> b #

round :: Integral b => a -> b #

ceiling :: Integral b => a -> b #

floor :: Integral b => a -> b #

Instances

Instances details
RealFrac CDouble # 
Instance details

Defined in Foreign.C.Types

Methods

properFraction :: Integral b => CDouble -> (b, CDouble) #

truncate :: Integral b => CDouble -> b #

round :: Integral b => CDouble -> b #

ceiling :: Integral b => CDouble -> b #

floor :: Integral b => CDouble -> b #

RealFrac CFloat # 
Instance details

Defined in Foreign.C.Types

Methods

properFraction :: Integral b => CFloat -> (b, CFloat) #

truncate :: Integral b => CFloat -> b #

round :: Integral b => CFloat -> b #

ceiling :: Integral b => CFloat -> b #

floor :: Integral b => CFloat -> b #

RealFrac Double # 
Instance details

Defined in NumHierarchy

Methods

properFraction :: Integral b => Double -> (b, Double) #

truncate :: Integral b => Double -> b #

round :: Integral b => Double -> b #

ceiling :: Integral b => Double -> b #

floor :: Integral b => Double -> b #

RealFrac Float # 
Instance details

Defined in NumHierarchy

Methods

properFraction :: Integral b => Float -> (b, Float) #

truncate :: Integral b => Float -> b #

round :: Integral b => Float -> b #

ceiling :: Integral b => Float -> b #

floor :: Integral b => Float -> b #

Integral a => RealFrac (Ratio a) # 
Instance details

Defined in NumHierarchy

Methods

properFraction :: Integral b => Ratio a -> (b, Ratio a) #

truncate :: Integral b => Ratio a -> b #

round :: Integral b => Ratio a -> b #

ceiling :: Integral b => Ratio a -> b #

floor :: Integral b => Ratio a -> b #

class (RealFrac a, Floating a) => RealFloat a where #

Methods

floatRadix :: a -> Integer #

floatDigits :: a -> Int #

floatRange :: a -> (Int, Int) #

decodeFloat :: a -> (Integer, Int) #

encodeFloat :: Integer -> Int -> a #

exponent :: a -> Int #

significand :: a -> a #

scaleFloat :: Int -> a -> a #

isNaN :: a -> Bool #

isInfinite :: a -> Bool #

isDenormalized :: a -> Bool #

isNegativeZero :: a -> Bool #

isIEEE :: a -> Bool #

atan2 :: a -> a -> a #

Instances

Instances details
RealFloat CDouble # 
Instance details

Defined in Foreign.C.Types

RealFloat CFloat # 
Instance details

Defined in Foreign.C.Types

RealFloat Double # 
Instance details

Defined in NumHierarchy

RealFloat Float # 
Instance details

Defined in NumHierarchy

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

Minimal complete definition: >>= and return.

Instances of Monad should satisfy the following laws:

  return a >>= k == k a
  m >>= return == m
  m >>= (x -> k x >>= h) == (m >>= k) >>= h

Instances of both Monad and Functor should additionally satisfy the law:

  fmap f xs == xs >>= return . f

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

Methods

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

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

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

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

return :: a -> m a #

Inject a value into the monadic type.

fail :: String -> m a #

Fail with a message. This operation is not part of the mathematical definition of a monad, but is invoked on pattern-match failure in a do expression.

Instances

Instances details
Monad Maybe # 
Instance details

Defined in Control.Monad

Methods

(>>=) :: Maybe a -> (a -> Maybe b) -> Maybe b #

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

return :: a -> Maybe a #

fail :: String -> Maybe a #

Monad IO # 
Instance details

Defined in Control.Monad

Methods

(>>=) :: IO a -> (a -> IO b) -> IO b #

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

return :: a -> IO a #

fail :: String -> IO a #

Monad [] # 
Instance details

Defined in Control.Monad

Methods

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

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

return :: a -> [a] #

fail :: String -> [a] #

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

The Functor class is used for types that can be mapped over. Instances of Functor should satisfy the following laws:

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

The instances of Functor for lists, Maybe and IO satisfy these laws.

Methods

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

Instances

Instances details
Functor Maybe # 
Instance details

Defined in Control.Monad

Methods

fmap :: (a -> b) -> Maybe a -> Maybe b #

Functor IO # 
Instance details

Defined in Control.Monad

Methods

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

Functor [] # 
Instance details

Defined in Control.Monad

Methods

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

Ix i => Functor (Array i) # 
Instance details

Defined in Control.Monad

Methods

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

mapM :: Monad m => (a -> m b) -> [a] -> m [b] #

mapM f is equivalent to sequence . map f.

mapM_ :: Monad m => (a -> m b) -> [a] -> m () #

mapM_ f is equivalent to sequence_ . map f.

sequence :: Monad m => [m a] -> m [a] #

Evaluate each action in the sequence from left to right, and collect the results.

sequence_ :: Monad m => [m a] -> m () #

Evaluate each action in the sequence from left to right, and ignore the results.

(=<<) :: Monad m => (a -> m b) -> m a -> m b infixr 1 #

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

maybe :: 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.

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

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

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

not :: Bool -> Bool #

subtract :: Num a => a -> a -> a #

even :: Integral a => a -> Bool #

odd :: Integral a => a -> Bool #

gcd :: Integral a => a -> a -> a #

lcm :: Integral a => a -> a -> a #

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

(^^) :: (Fractional a, Integral b) => a -> b -> a infixr 8 #

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

realToFrac :: (Real a, Fractional b) => a -> b #

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

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

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

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

id :: a -> a #

const :: a -> b -> a #

(.) :: (b -> c) -> (a -> b) -> a -> c infixr 9 #

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

($) :: (a -> b) -> a -> b infixr 0 #

until :: (a -> Bool) -> (a -> a) -> a -> a #

asTypeOf :: a -> a -> a #

error :: String -> a #

seq :: a -> b -> b infixr 0 #

($!) :: (a -> b) -> a -> b infixr 0 #