Safe Haskell | Trustworthy |
---|---|
Language | Haskell2010 |
Distribution.Compat.Prelude
Contents
- Prelude
- Common type-classes
- Some types
- Data.Either
- Data.Maybe
- Data.List
- Data.List.NonEmpty
- Data.Foldable
- Data.Traversable
- Data.Function
- Data.Ord
- Control.Arrow
- Control.Monad
- Control.Exception
- Control.DeepSeq
- Data.Char
- Data.Void
- Data.Word & Data.Int
- Text.PrettyPrint
- System.Exit
- Text.Read
- Debug.Trace (as deprecated functions)
Description
This module does two things:
- Acts as a compatibility layer, like
base-compat
. - Provides commonly used imports.
Synopsis
- data Int
- data Float
- data Char
- data Maybe a
- data IO a
- data Bool
- data Double
- data Ordering
- class a ~# b => (a :: k) ~ (b :: k)
- data Integer
- error :: HasCallStack => [Char] -> a
- data Either a b
- concat :: Foldable t => t [a] -> [a]
- foldl :: Foldable t => (b -> a -> b) -> b -> t a -> b
- sum :: (Foldable t, Num a) => t a -> a
- product :: (Foldable t, Num a) => t a -> a
- maximum :: (Foldable t, Ord a) => t a -> a
- minimum :: (Foldable t, Ord a) => t a -> a
- elem :: (Foldable t, Eq a) => a -> t a -> Bool
- class Show a where
- even :: Integral a => a -> Bool
- (<$>) :: Functor f => (a -> b) -> f a -> f b
- class Enum a where
- 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]
- class (Real a, Enum a) => Integral a where
- type Rational = Ratio Integer
- ($) :: (a -> b) -> a -> b
- type String = [Char]
- unzip :: [(a, b)] -> ([a], [b])
- class Eq a => Ord a where
- fst :: (a, b) -> a
- class Applicative m => Monad (m :: Type -> Type) where
- class Read a where
- uncurry :: (a -> b -> c) -> (a, b) -> c
- id :: a -> a
- type IOError = IOException
- writeFile :: FilePath -> String -> IO ()
- getLine :: IO String
- putStrLn :: String -> IO ()
- sequence_ :: (Foldable t, Monad m) => t (m a) -> m ()
- filter :: (a -> Bool) -> [a] -> [a]
- const :: a -> b -> a
- cycle :: HasCallStack => [a] -> [a]
- (++) :: [a] -> [a] -> [a]
- seq :: a -> b -> b
- zip :: [a] -> [b] -> [(a, b)]
- print :: Show a => a -> IO ()
- otherwise :: Bool
- map :: (a -> b) -> [a] -> [b]
- class Num a where
- class Num a => Fractional a where
- (/) :: a -> a -> a
- recip :: a -> a
- fromRational :: Rational -> a
- class Eq a where
- class Functor (f :: Type -> Type) where
- class Monad m => MonadFail (m :: Type -> Type) where
- fromIntegral :: (Integral a, Num b) => a -> b
- realToFrac :: (Real a, Fractional b) => a -> b
- class (Num a, Ord a) => Real a where
- toRational :: a -> Rational
- class Semigroup a => Monoid a where
- class Functor f => Applicative (f :: Type -> Type) where
- class Bounded a where
- class Fractional a => Floating a where
- class (RealFrac a, Floating a) => RealFloat a where
- 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
- class (Real a, Fractional a) => RealFrac a where
- (^) :: (Num a, Integral b) => a -> b -> a
- (&&) :: Bool -> Bool -> Bool
- (||) :: Bool -> Bool -> Bool
- not :: Bool -> Bool
- errorWithoutStackTrace :: [Char] -> a
- undefined :: HasCallStack => a
- (=<<) :: Monad m => (a -> m b) -> m a -> m b
- (.) :: (b -> c) -> (a -> b) -> a -> c
- flip :: (a -> b -> c) -> b -> a -> c
- ($!) :: (a -> b) -> a -> b
- until :: (a -> Bool) -> (a -> a) -> a -> a
- asTypeOf :: a -> a -> a
- subtract :: Num a => a -> a -> a
- maybe :: b -> (a -> b) -> Maybe a -> b
- scanl :: (b -> a -> b) -> b -> [a] -> [b]
- scanl1 :: (a -> a -> a) -> [a] -> [a]
- scanr :: (a -> b -> b) -> b -> [a] -> [b]
- scanr1 :: (a -> a -> a) -> [a] -> [a]
- iterate :: (a -> a) -> a -> [a]
- repeat :: a -> [a]
- replicate :: Int -> a -> [a]
- takeWhile :: (a -> Bool) -> [a] -> [a]
- dropWhile :: (a -> Bool) -> [a] -> [a]
- take :: Int -> [a] -> [a]
- drop :: Int -> [a] -> [a]
- splitAt :: Int -> [a] -> ([a], [a])
- span :: (a -> Bool) -> [a] -> ([a], [a])
- break :: (a -> Bool) -> [a] -> ([a], [a])
- reverse :: [a] -> [a]
- and :: Foldable t => t Bool -> Bool
- or :: Foldable t => t Bool -> Bool
- notElem :: (Foldable t, Eq a) => a -> t a -> Bool
- lookup :: Eq a => a -> [(a, b)] -> Maybe b
- concatMap :: Foldable t => (a -> [b]) -> t a -> [b]
- (!!) :: HasCallStack => [a] -> Int -> a
- zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
- zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
- zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
- unzip3 :: [(a, b, c)] -> ([a], [b], [c])
- type ShowS = String -> String
- shows :: Show a => a -> ShowS
- showChar :: Char -> ShowS
- showString :: String -> ShowS
- showParen :: Bool -> ShowS -> ShowS
- snd :: (a, b) -> b
- curry :: ((a, b) -> c) -> a -> b -> c
- odd :: Integral a => a -> Bool
- (^^) :: (Fractional a, Integral b) => a -> b -> a
- gcd :: Integral a => a -> a -> a
- lcm :: Integral a => a -> a -> a
- type ReadS a = String -> [(a, String)]
- lex :: ReadS String
- readParen :: Bool -> ReadS a -> ReadS a
- either :: (a -> c) -> (b -> c) -> Either a b -> c
- reads :: Read a => ReadS a
- lines :: String -> [String]
- unlines :: [String] -> String
- words :: String -> [String]
- unwords :: [String] -> String
- userError :: String -> IOError
- type FilePath = String
- ioError :: IOError -> IO a
- putChar :: Char -> IO ()
- putStr :: String -> IO ()
- getChar :: IO Char
- getContents :: IO String
- interact :: (String -> String) -> IO ()
- readFile :: FilePath -> IO String
- appendFile :: FilePath -> String -> IO ()
- readLn :: Read a => IO a
- readIO :: Read a => String -> IO a
- class Semigroup a where
- (<>) :: a -> a -> a
- gmappend :: (Generic a, GSemigroup (Rep a)) => a -> a -> a
- gmempty :: (Generic a, GMonoid (Rep a)) => a
- class Typeable (a :: k)
- type TypeRep = SomeTypeRep
- typeRep :: forall {k} proxy (a :: k). Typeable a => proxy a -> TypeRep
- class Typeable a => Data a
- class Generic a
- class NFData a where
- rnf :: a -> ()
- genericRnf :: (Generic a, GNFData (Rep a)) => a -> ()
- class Binary t where
- class Typeable a => Structured a
- class Applicative f => Alternative (f :: Type -> Type) where
- class (Alternative m, Monad m) => MonadPlus (m :: Type -> Type) where
- class IsString a where
- fromString :: String -> a
- data Map k a
- data Set a
- data NonEmptySet a
- newtype Identity a = Identity {
- runIdentity :: a
- data Proxy (t :: k) = Proxy
- newtype Const a (b :: k) = Const {
- getConst :: a
- data Void
- partitionEithers :: [Either a b] -> ([a], [b])
- catMaybes :: [Maybe a] -> [a]
- mapMaybe :: (a -> Maybe b) -> [a] -> [b]
- fromMaybe :: a -> Maybe a -> a
- maybeToList :: Maybe a -> [a]
- listToMaybe :: [a] -> Maybe a
- isNothing :: Maybe a -> Bool
- isJust :: Maybe a -> Bool
- unfoldr :: (b -> Maybe (a, b)) -> b -> [a]
- isPrefixOf :: Eq a => [a] -> [a] -> Bool
- isSuffixOf :: Eq a => [a] -> [a] -> Bool
- intercalate :: [a] -> [[a]] -> [a]
- intersperse :: a -> [a] -> [a]
- sort :: Ord a => [a] -> [a]
- sortBy :: (a -> a -> Ordering) -> [a] -> [a]
- nub :: Eq a => [a] -> [a]
- nubBy :: (a -> a -> Bool) -> [a] -> [a]
- partition :: (a -> Bool) -> [a] -> ([a], [a])
- dropWhileEnd :: (a -> Bool) -> [a] -> [a]
- data NonEmpty a = a :| [a]
- nonEmpty :: [a] -> Maybe (NonEmpty a)
- foldl1 :: (a -> a -> a) -> NonEmpty a -> a
- foldr1 :: (a -> a -> a) -> NonEmpty a -> a
- head :: NonEmpty a -> a
- tail :: NonEmpty a -> [a]
- last :: NonEmpty a -> a
- init :: NonEmpty a -> [a]
- class Foldable (t :: Type -> Type)
- foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m
- foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b
- null :: Foldable t => t a -> Bool
- length :: Foldable t => t a -> Int
- find :: Foldable t => (a -> Bool) -> t a -> Maybe a
- foldl' :: Foldable t => (b -> a -> b) -> b -> t a -> b
- traverse_ :: (Foldable t, Applicative f) => (a -> f b) -> t a -> f ()
- for_ :: (Foldable t, Applicative f) => t a -> (a -> f b) -> f ()
- any :: Foldable t => (a -> Bool) -> t a -> Bool
- all :: Foldable t => (a -> Bool) -> t a -> Bool
- toList :: Foldable t => t a -> [a]
- class (Functor t, Foldable t) => Traversable (t :: Type -> Type)
- traverse :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
- sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a)
- for :: (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b)
- on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
- comparing :: Ord a => (b -> a) -> b -> b -> Ordering
- first :: Arrow a => a b c -> a (b, d) (c, d)
- liftM :: Monad m => (a1 -> r) -> m a1 -> m r
- liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r
- unless :: Applicative f => Bool -> f () -> f ()
- when :: Applicative f => Bool -> f () -> f ()
- ap :: Monad m => m (a -> b) -> m a -> m b
- void :: Functor f => f a -> f ()
- foldM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
- filterM :: Applicative m => (a -> m Bool) -> [a] -> m [a]
- join :: Monad m => m (m a) -> m a
- guard :: Alternative f => Bool -> f ()
- catch :: Exception e => IO a -> (e -> IO a) -> IO a
- throwIO :: Exception e => e -> IO a
- evaluate :: a -> IO a
- class (Typeable e, Show e) => Exception e where
- toException :: e -> SomeException
- fromException :: SomeException -> Maybe e
- displayException :: e -> String
- data IOException
- data SomeException = Exception e => SomeException e
- tryIO :: IO a -> IO (Either IOException a)
- catchIO :: IO a -> (IOException -> IO a) -> IO a
- catchExit :: IO a -> (ExitCode -> IO a) -> IO a
- deepseq :: NFData a => a -> b -> b
- force :: NFData a => a -> a
- isSpace :: Char -> Bool
- isDigit :: Char -> Bool
- isUpper :: Char -> Bool
- isAlpha :: Char -> Bool
- isAlphaNum :: Char -> Bool
- chr :: Int -> Char
- ord :: Char -> Int
- toLower :: Char -> Char
- toUpper :: Char -> Char
- absurd :: Void -> a
- vacuous :: Functor f => f Void -> f a
- data Word
- data Word8
- data Word16
- data Word32
- data Word64
- data Int8
- data Int16
- data Int32
- data Int64
- (<<>>) :: Doc -> Doc -> Doc
- (<+>) :: Doc -> Doc -> Doc
- data ExitCode
- exitWith :: ExitCode -> IO a
- exitSuccess :: IO a
- exitFailure :: IO a
- readMaybe :: Read a => String -> Maybe a
- trace :: String -> a -> a
- traceShow :: Show a => a -> b -> b
- traceShowId :: Show a => a -> a
- traceM :: Applicative f => String -> f ()
- traceShowM :: (Show a, Applicative f) => a -> f ()
Prelude
Instances
Pretty Int Source # | |||||
Defined in Distribution.Pretty | |||||
Structured Int Source # | |||||
Defined in Distribution.Utils.Structured | |||||
Data Int | Since: base-4.0.0.0 | ||||
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int -> c Int Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int Source # toConstr :: Int -> Constr Source # dataTypeOf :: Int -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int) Source # gmapT :: (forall b. Data b => b -> b) -> Int -> Int Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Int -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Int -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int -> m Int Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int -> m Int Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int -> m Int Source # | |||||
Storable Int | Since: base-2.1 | ||||
Defined in Foreign.Storable | |||||
Bits Int | Since: base-2.1 | ||||
Defined in GHC.Bits Methods (.&.) :: Int -> Int -> Int Source # (.|.) :: Int -> Int -> Int Source # xor :: Int -> Int -> Int Source # complement :: Int -> Int Source # shift :: Int -> Int -> Int Source # rotate :: Int -> Int -> Int Source # setBit :: Int -> Int -> Int Source # clearBit :: Int -> Int -> Int Source # complementBit :: Int -> Int -> Int Source # testBit :: Int -> Int -> Bool Source # bitSizeMaybe :: Int -> Maybe Int Source # bitSize :: Int -> Int Source # isSigned :: Int -> Bool Source # shiftL :: Int -> Int -> Int Source # unsafeShiftL :: Int -> Int -> Int Source # shiftR :: Int -> Int -> Int Source # unsafeShiftR :: Int -> Int -> Int Source # rotateL :: Int -> Int -> Int Source # | |||||
FiniteBits Int | Since: base-4.6.0.0 | ||||
Bounded Int | Since: base-2.1 | ||||
Enum Int | Since: base-2.1 | ||||
Defined in GHC.Enum | |||||
Ix Int | Since: base-2.1 | ||||
Num Int | Since: base-2.1 | ||||
Read Int | Since: base-2.1 | ||||
Integral Int | Since: base-2.0.1 | ||||
Real Int | Since: base-2.0.1 | ||||
Show Int | Since: base-2.1 | ||||
PrintfArg Int | Since: base-2.1 | ||||
Defined in Text.Printf | |||||
Binary Int | |||||
NFData Int | |||||
Defined in Control.DeepSeq | |||||
Eq Int | |||||
Ord Int | |||||
Pretty Int | |||||
Defined in Text.PrettyPrint.Annotated.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Int -> Doc ann Source # pPrint :: Int -> Doc ann Source # pPrintList :: PrettyLevel -> [Int] -> Doc ann Source # | |||||
Pretty Int | |||||
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Int -> Doc Source # pPrintList :: PrettyLevel -> [Int] -> Doc Source # | |||||
IArray UArray Int | |||||
Defined in Data.Array.Base Methods bounds :: Ix i => UArray i Int -> (i, i) Source # numElements :: Ix i => UArray i Int -> Int Source # unsafeArray :: Ix i => (i, i) -> [(Int, Int)] -> UArray i Int Source # unsafeAt :: Ix i => UArray i Int -> Int -> Int Source # unsafeReplace :: Ix i => UArray i Int -> [(Int, Int)] -> UArray i Int Source # unsafeAccum :: Ix i => (Int -> e' -> Int) -> UArray i Int -> [(Int, e')] -> UArray i Int Source # unsafeAccumArray :: Ix i => (Int -> e' -> Int) -> Int -> (i, i) -> [(Int, e')] -> UArray i Int Source # | |||||
Lift Int | |||||
MArray IOUArray Int IO | |||||
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Int -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Int -> IO Int Source # newArray :: Ix i => (i, i) -> Int -> IO (IOUArray i Int) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Int) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Int) Source # unsafeRead :: Ix i => IOUArray i Int -> Int -> IO Int Source # unsafeWrite :: Ix i => IOUArray i Int -> Int -> Int -> IO () Source # | |||||
Generic1 (URec Int :: k -> Type) | |||||
Defined in GHC.Generics Associated Types
| |||||
Foldable (UInt :: Type -> Type) | Since: base-4.9.0.0 | ||||
Defined in Data.Foldable Methods fold :: Monoid m => UInt m -> m Source # foldMap :: Monoid m => (a -> m) -> UInt a -> m Source # foldMap' :: Monoid m => (a -> m) -> UInt a -> m Source # foldr :: (a -> b -> b) -> b -> UInt a -> b Source # foldr' :: (a -> b -> b) -> b -> UInt a -> b Source # foldl :: (b -> a -> b) -> b -> UInt a -> b Source # foldl' :: (b -> a -> b) -> b -> UInt a -> b Source # foldr1 :: (a -> a -> a) -> UInt a -> a Source # foldl1 :: (a -> a -> a) -> UInt a -> a Source # toList :: UInt a -> [a] Source # null :: UInt a -> Bool Source # length :: UInt a -> Int Source # elem :: Eq a => a -> UInt a -> Bool Source # maximum :: Ord a => UInt a -> a Source # minimum :: Ord a => UInt a -> a Source # | |||||
Traversable (UInt :: Type -> Type) | Since: base-4.9.0.0 | ||||
MArray (STUArray s) Int (ST s) | |||||
Defined in Data.Array.Base Methods getBounds :: Ix i => STUArray s i Int -> ST s (i, i) Source # getNumElements :: Ix i => STUArray s i Int -> ST s Int Source # newArray :: Ix i => (i, i) -> Int -> ST s (STUArray s i Int) Source # newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Int) Source # unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Int) Source # unsafeRead :: Ix i => STUArray s i Int -> Int -> ST s Int Source # unsafeWrite :: Ix i => STUArray s i Int -> Int -> Int -> ST s () Source # | |||||
Functor (URec Int :: Type -> Type) | Since: base-4.9.0.0 | ||||
Generic (URec Int p) | |||||
Defined in GHC.Generics Associated Types
| |||||
Show (URec Int p) | Since: base-4.9.0.0 | ||||
Eq (URec Int p) | Since: base-4.9.0.0 | ||||
Ord (URec Int p) | Since: base-4.9.0.0 | ||||
data URec Int (p :: k) | Used for marking occurrences of Since: base-4.9.0.0 | ||||
type Rep1 (URec Int :: k -> Type) | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics | |||||
type Rep (URec Int p) | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics |
Instances
Instances
Structured Char Source # | |||||
Defined in Distribution.Utils.Structured | |||||
Data Char | Since: base-4.0.0.0 | ||||
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Char -> c Char Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Char Source # toConstr :: Char -> Constr Source # dataTypeOf :: Char -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Char) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Char) Source # gmapT :: (forall b. Data b => b -> b) -> Char -> Char Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Char -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Char -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Char -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Char -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Char -> m Char Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Char -> m Char Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Char -> m Char Source # | |||||
Storable Char | Since: base-2.1 | ||||
Defined in Foreign.Storable Methods sizeOf :: Char -> Int Source # alignment :: Char -> Int Source # peekElemOff :: Ptr Char -> Int -> IO Char Source # pokeElemOff :: Ptr Char -> Int -> Char -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Char Source # pokeByteOff :: Ptr b -> Int -> Char -> IO () Source # | |||||
Bounded Char | Since: base-2.1 | ||||
Enum Char | Since: base-2.1 | ||||
Ix Char | Since: base-2.1 | ||||
Read Char | Since: base-2.1 | ||||
Show Char | Since: base-2.1 | ||||
IsChar Char | Since: base-2.1 | ||||
PrintfArg Char | Since: base-2.1 | ||||
Defined in Text.Printf | |||||
Binary Char | |||||
NFData Char | |||||
Defined in Control.DeepSeq | |||||
Eq Char | |||||
Ord Char | |||||
Pretty Char | |||||
Defined in Text.PrettyPrint.Annotated.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Char -> Doc ann Source # pPrint :: Char -> Doc ann Source # pPrintList :: PrettyLevel -> [Char] -> Doc ann Source # | |||||
Pretty Char | |||||
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Char -> Doc Source # pPrint :: Char -> Doc Source # pPrintList :: PrettyLevel -> [Char] -> Doc Source # | |||||
Newtype String FilePathNT Source # | |||||
Defined in Distribution.FieldGrammar.Newtypes | |||||
Newtype String Token Source # | |||||
Newtype String Token' Source # | |||||
Newtype String CompatFilePath Source # | |||||
Defined in Distribution.PackageDescription.FieldGrammar | |||||
IArray UArray Char | |||||
Defined in Data.Array.Base Methods bounds :: Ix i => UArray i Char -> (i, i) Source # numElements :: Ix i => UArray i Char -> Int Source # unsafeArray :: Ix i => (i, i) -> [(Int, Char)] -> UArray i Char Source # unsafeAt :: Ix i => UArray i Char -> Int -> Char Source # unsafeReplace :: Ix i => UArray i Char -> [(Int, Char)] -> UArray i Char Source # unsafeAccum :: Ix i => (Char -> e' -> Char) -> UArray i Char -> [(Int, e')] -> UArray i Char Source # unsafeAccumArray :: Ix i => (Char -> e' -> Char) -> Char -> (i, i) -> [(Int, e')] -> UArray i Char Source # | |||||
TestCoercion SChar | Since: base-4.18.0.0 | ||||
Defined in GHC.TypeLits | |||||
TestEquality SChar | Since: base-4.18.0.0 | ||||
Defined in GHC.TypeLits | |||||
Lift Char | |||||
MArray IOUArray Char IO | |||||
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Char -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Char -> IO Int Source # newArray :: Ix i => (i, i) -> Char -> IO (IOUArray i Char) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Char) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Char) Source # unsafeRead :: Ix i => IOUArray i Char -> Int -> IO Char Source # unsafeWrite :: Ix i => IOUArray i Char -> Int -> Char -> IO () Source # | |||||
Monad m => Stream FieldLineStream m Char Source # | |||||
Defined in Distribution.Parsec.FieldLineStream Methods uncons :: FieldLineStream -> m (Maybe (Char, FieldLineStream)) Source # | |||||
Monad m => Stream ByteString m Char | |||||
Defined in Text.Parsec.Prim Methods uncons :: ByteString -> m (Maybe (Char, ByteString)) Source # | |||||
Monad m => Stream ByteString m Char | |||||
Defined in Text.Parsec.Prim Methods uncons :: ByteString -> m (Maybe (Char, ByteString)) Source # | |||||
Monad m => Stream Text m Char | |||||
Monad m => Stream Text m Char | |||||
Generic1 (URec Char :: k -> Type) | |||||
Defined in GHC.Generics Associated Types
| |||||
Foldable (UChar :: Type -> Type) | Since: base-4.9.0.0 | ||||
Defined in Data.Foldable Methods fold :: Monoid m => UChar m -> m Source # foldMap :: Monoid m => (a -> m) -> UChar a -> m Source # foldMap' :: Monoid m => (a -> m) -> UChar a -> m Source # foldr :: (a -> b -> b) -> b -> UChar a -> b Source # foldr' :: (a -> b -> b) -> b -> UChar a -> b Source # foldl :: (b -> a -> b) -> b -> UChar a -> b Source # foldl' :: (b -> a -> b) -> b -> UChar a -> b Source # foldr1 :: (a -> a -> a) -> UChar a -> a Source # foldl1 :: (a -> a -> a) -> UChar a -> a Source # toList :: UChar a -> [a] Source # null :: UChar a -> Bool Source # length :: UChar a -> Int Source # elem :: Eq a => a -> UChar a -> Bool Source # maximum :: Ord a => UChar a -> a Source # minimum :: Ord a => UChar a -> a Source # | |||||
Traversable (UChar :: Type -> Type) | Since: base-4.9.0.0 | ||||
MArray (STUArray s) Char (ST s) | |||||
Defined in Data.Array.Base Methods getBounds :: Ix i => STUArray s i Char -> ST s (i, i) Source # getNumElements :: Ix i => STUArray s i Char -> ST s Int Source # newArray :: Ix i => (i, i) -> Char -> ST s (STUArray s i Char) Source # newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Char) Source # unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Char) Source # unsafeRead :: Ix i => STUArray s i Char -> Int -> ST s Char Source # unsafeWrite :: Ix i => STUArray s i Char -> Int -> Char -> ST s () Source # | |||||
Functor (URec Char :: Type -> Type) | Since: base-4.9.0.0 | ||||
Generic (URec Char p) | |||||
Defined in GHC.Generics Associated Types
| |||||
Show (URec Char p) | Since: base-4.9.0.0 | ||||
Eq (URec Char p) | Since: base-4.9.0.0 | ||||
Ord (URec Char p) | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics | |||||
data URec Char (p :: k) | Used for marking occurrences of Since: base-4.9.0.0 | ||||
type Compare (a :: Char) (b :: Char) | |||||
Defined in Data.Type.Ord | |||||
type Rep1 (URec Char :: k -> Type) | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics | |||||
type Rep (URec Char p) | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics |
The Maybe
type encapsulates an optional value. A value of type
either contains a value of type Maybe
aa
(represented as
),
or it is empty (represented as Just
aNothing
). Using Maybe
is a good way to
deal with errors or exceptional cases without resorting to drastic
measures such as error
.
The Maybe
type is also a monad. It is a simple kind of error
monad, where all errors are represented by Nothing
. A richer
error monad can be built using the Either
type.
Instances
MonadFail Maybe | Since: base-4.9.0.0 | ||||
MonadFix Maybe | Since: base-2.1 | ||||
MonadZip Maybe | Since: base-4.8.0.0 | ||||
Foldable Maybe | Since: base-2.1 | ||||
Defined in Data.Foldable Methods fold :: Monoid m => Maybe m -> m Source # foldMap :: Monoid m => (a -> m) -> Maybe a -> m Source # foldMap' :: Monoid m => (a -> m) -> Maybe a -> m Source # foldr :: (a -> b -> b) -> b -> Maybe a -> b Source # foldr' :: (a -> b -> b) -> b -> Maybe a -> b Source # foldl :: (b -> a -> b) -> b -> Maybe a -> b Source # foldl' :: (b -> a -> b) -> b -> Maybe a -> b Source # foldr1 :: (a -> a -> a) -> Maybe a -> a Source # foldl1 :: (a -> a -> a) -> Maybe a -> a Source # toList :: Maybe a -> [a] Source # null :: Maybe a -> Bool Source # length :: Maybe a -> Int Source # elem :: Eq a => a -> Maybe a -> Bool Source # maximum :: Ord a => Maybe a -> a Source # minimum :: Ord a => Maybe a -> a Source # | |||||
Eq1 Maybe | Since: base-4.9.0.0 | ||||
Ord1 Maybe | Since: base-4.9.0.0 | ||||
Defined in Data.Functor.Classes | |||||
Read1 Maybe | Since: base-4.9.0.0 | ||||
Defined in Data.Functor.Classes Methods liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Maybe a) Source # liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Maybe a] Source # liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Maybe a) Source # liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Maybe a] Source # | |||||
Show1 Maybe | Since: base-4.9.0.0 | ||||
Traversable Maybe | Since: base-2.1 | ||||
Alternative Maybe | Picks the leftmost Since: base-2.1 | ||||
Applicative Maybe | Since: base-2.1 | ||||
Functor Maybe | Since: base-2.1 | ||||
Monad Maybe | Since: base-2.1 | ||||
MonadPlus Maybe | Picks the leftmost Since: base-2.1 | ||||
NFData1 Maybe | Since: deepseq-1.4.3.0 | ||||
Defined in Control.DeepSeq | |||||
Generic1 Maybe | |||||
Defined in GHC.Generics | |||||
MonadError () Maybe | Since: mtl-2.2.2 | ||||
Defined in Control.Monad.Error.Class Methods throwError :: () -> Maybe a Source # catchError :: Maybe a -> (() -> Maybe a) -> Maybe a Source # | |||||
Lift a => Lift (Maybe a :: Type) | |||||
Structured a => Structured (Maybe a) Source # | |||||
Defined in Distribution.Utils.Structured | |||||
Data a => Data (Maybe a) | Since: base-4.0.0.0 | ||||
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Maybe a -> c (Maybe a) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Maybe a) Source # toConstr :: Maybe a -> Constr Source # dataTypeOf :: Maybe a -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Maybe a)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Maybe a)) Source # gmapT :: (forall b. Data b => b -> b) -> Maybe a -> Maybe a Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Maybe a -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Maybe a -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Maybe a -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Maybe a -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) Source # | |||||
Semigroup a => Monoid (Maybe a) | Lift a semigroup into Since 4.11.0: constraint on inner Since: base-2.1 | ||||
Semigroup a => Semigroup (Maybe a) | Since: base-4.9.0.0 | ||||
Generic (Maybe a) | |||||
Defined in GHC.Generics Associated Types
| |||||
SingKind a => SingKind (Maybe a) | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics Associated Types
| |||||
Read a => Read (Maybe a) | Since: base-2.1 | ||||
Show a => Show (Maybe a) | Since: base-2.1 | ||||
Binary a => Binary (Maybe a) | |||||
NFData a => NFData (Maybe a) | |||||
Defined in Control.DeepSeq | |||||
Eq a => Eq (Maybe a) | Since: base-2.1 | ||||
Ord a => Ord (Maybe a) | Since: base-2.1 | ||||
Pretty a => Pretty (Maybe a) | |||||
Defined in Text.PrettyPrint.Annotated.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Maybe a -> Doc ann Source # pPrint :: Maybe a -> Doc ann Source # pPrintList :: PrettyLevel -> [Maybe a] -> Doc ann Source # | |||||
Pretty a => Pretty (Maybe a) | |||||
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Maybe a -> Doc Source # pPrint :: Maybe a -> Doc Source # pPrintList :: PrettyLevel -> [Maybe a] -> Doc Source # | |||||
SingI ('Nothing :: Maybe a) | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics | |||||
SingI a2 => SingI ('Just a2 :: Maybe a1) | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics | |||||
type Rep1 Maybe | Since: base-4.6.0.0 | ||||
type DemoteRep (Maybe a) | |||||
Defined in GHC.Generics | |||||
type Rep (Maybe a) | Since: base-4.6.0.0 | ||||
Defined in GHC.Generics | |||||
data Sing (b :: Maybe a) | |||||
Instances
MonadFail IO | Since: base-4.9.0.0 |
MonadFix IO | Since: base-2.1 |
MonadIO IO | Since: base-4.9.0.0 |
Alternative IO | Takes the first non-throwing Since: base-4.9.0.0 |
Applicative IO | Since: base-2.1 |
Functor IO | Since: base-2.1 |
Monad IO | Since: base-2.1 |
MonadPlus IO | Takes the first non-throwing Since: base-4.9.0.0 |
GHCiSandboxIO IO | Since: base-4.4.0.0 |
Quasi IO | |
Defined in Language.Haskell.TH.Syntax Methods qReport :: Bool -> String -> IO () qRecover :: IO a -> IO a -> IO a qLookupName :: Bool -> String -> IO (Maybe Name) qReifyFixity :: Name -> IO (Maybe Fixity) qReifyType :: Name -> IO Type qReifyInstances :: Name -> [Type] -> IO [Dec] qReifyRoles :: Name -> IO [Role] qReifyAnnotations :: Data a => AnnLookup -> IO [a] qReifyModule :: Module -> IO ModuleInfo qReifyConStrictness :: Name -> IO [DecidedStrictness] qGetPackageRoot :: IO FilePath qAddDependentFile :: FilePath -> IO () qAddTempFile :: String -> IO FilePath qAddTopDecls :: [Dec] -> IO () qAddForeignFilePath :: ForeignSrcLang -> String -> IO () qAddModFinalizer :: Q () -> IO () qAddCorePlugin :: String -> IO () qGetQ :: Typeable a => IO (Maybe a) qPutQ :: Typeable a => a -> IO () qIsExtEnabled :: Extension -> IO Bool qExtsEnabled :: IO [Extension] | |
Quote IO | |
Defined in Language.Haskell.TH.Syntax | |
MonadError IOException IO | |
Defined in Control.Monad.Error.Class Methods throwError :: IOException -> IO a Source # catchError :: IO a -> (IOException -> IO a) -> IO a Source # | |
MArray IOUArray Int16 IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Int16 -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Int16 -> IO Int Source # newArray :: Ix i => (i, i) -> Int16 -> IO (IOUArray i Int16) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Int16) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Int16) Source # unsafeRead :: Ix i => IOUArray i Int16 -> Int -> IO Int16 Source # unsafeWrite :: Ix i => IOUArray i Int16 -> Int -> Int16 -> IO () Source # | |
MArray IOUArray Int32 IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Int32 -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Int32 -> IO Int Source # newArray :: Ix i => (i, i) -> Int32 -> IO (IOUArray i Int32) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Int32) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Int32) Source # unsafeRead :: Ix i => IOUArray i Int32 -> Int -> IO Int32 Source # unsafeWrite :: Ix i => IOUArray i Int32 -> Int -> Int32 -> IO () Source # | |
MArray IOUArray Int64 IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Int64 -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Int64 -> IO Int Source # newArray :: Ix i => (i, i) -> Int64 -> IO (IOUArray i Int64) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Int64) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Int64) Source # unsafeRead :: Ix i => IOUArray i Int64 -> Int -> IO Int64 Source # unsafeWrite :: Ix i => IOUArray i Int64 -> Int -> Int64 -> IO () Source # | |
MArray IOUArray Int8 IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Int8 -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Int8 -> IO Int Source # newArray :: Ix i => (i, i) -> Int8 -> IO (IOUArray i Int8) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Int8) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Int8) Source # unsafeRead :: Ix i => IOUArray i Int8 -> Int -> IO Int8 Source # unsafeWrite :: Ix i => IOUArray i Int8 -> Int -> Int8 -> IO () Source # | |
MArray IOUArray Word16 IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Word16 -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Word16 -> IO Int Source # newArray :: Ix i => (i, i) -> Word16 -> IO (IOUArray i Word16) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word16) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word16) Source # unsafeRead :: Ix i => IOUArray i Word16 -> Int -> IO Word16 Source # unsafeWrite :: Ix i => IOUArray i Word16 -> Int -> Word16 -> IO () Source # | |
MArray IOUArray Word32 IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Word32 -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Word32 -> IO Int Source # newArray :: Ix i => (i, i) -> Word32 -> IO (IOUArray i Word32) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word32) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word32) Source # unsafeRead :: Ix i => IOUArray i Word32 -> Int -> IO Word32 Source # unsafeWrite :: Ix i => IOUArray i Word32 -> Int -> Word32 -> IO () Source # | |
MArray IOUArray Word64 IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Word64 -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Word64 -> IO Int Source # newArray :: Ix i => (i, i) -> Word64 -> IO (IOUArray i Word64) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word64) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word64) Source # unsafeRead :: Ix i => IOUArray i Word64 -> Int -> IO Word64 Source # unsafeWrite :: Ix i => IOUArray i Word64 -> Int -> Word64 -> IO () Source # | |
MArray IOUArray Word8 IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Word8 -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Word8 -> IO Int Source # newArray :: Ix i => (i, i) -> Word8 -> IO (IOUArray i Word8) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word8) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word8) Source # unsafeRead :: Ix i => IOUArray i Word8 -> Int -> IO Word8 Source # unsafeWrite :: Ix i => IOUArray i Word8 -> Int -> Word8 -> IO () Source # | |
MArray IOUArray Bool IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Bool -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Bool -> IO Int Source # newArray :: Ix i => (i, i) -> Bool -> IO (IOUArray i Bool) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Bool) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Bool) Source # unsafeRead :: Ix i => IOUArray i Bool -> Int -> IO Bool Source # unsafeWrite :: Ix i => IOUArray i Bool -> Int -> Bool -> IO () Source # | |
MArray IOUArray Char IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Char -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Char -> IO Int Source # newArray :: Ix i => (i, i) -> Char -> IO (IOUArray i Char) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Char) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Char) Source # unsafeRead :: Ix i => IOUArray i Char -> Int -> IO Char Source # unsafeWrite :: Ix i => IOUArray i Char -> Int -> Char -> IO () Source # | |
MArray IOUArray Double IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Double -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Double -> IO Int Source # newArray :: Ix i => (i, i) -> Double -> IO (IOUArray i Double) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Double) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Double) Source # unsafeRead :: Ix i => IOUArray i Double -> Int -> IO Double Source # unsafeWrite :: Ix i => IOUArray i Double -> Int -> Double -> IO () Source # | |
MArray IOUArray Float IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Float -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Float -> IO Int Source # newArray :: Ix i => (i, i) -> Float -> IO (IOUArray i Float) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Float) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Float) Source # unsafeRead :: Ix i => IOUArray i Float -> Int -> IO Float Source # unsafeWrite :: Ix i => IOUArray i Float -> Int -> Float -> IO () Source # | |
MArray IOUArray Int IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Int -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Int -> IO Int Source # newArray :: Ix i => (i, i) -> Int -> IO (IOUArray i Int) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Int) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Int) Source # unsafeRead :: Ix i => IOUArray i Int -> Int -> IO Int Source # unsafeWrite :: Ix i => IOUArray i Int -> Int -> Int -> IO () Source # | |
MArray IOUArray Word IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Word -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Word -> IO Int Source # newArray :: Ix i => (i, i) -> Word -> IO (IOUArray i Word) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word) Source # unsafeRead :: Ix i => IOUArray i Word -> Int -> IO Word Source # unsafeWrite :: Ix i => IOUArray i Word -> Int -> Word -> IO () Source # | |
Storable e => MArray StorableArray e IO | |
Defined in Data.Array.Storable.Internals Methods getBounds :: Ix i => StorableArray i e -> IO (i, i) Source # getNumElements :: Ix i => StorableArray i e -> IO Int Source # newArray :: Ix i => (i, i) -> e -> IO (StorableArray i e) Source # newArray_ :: Ix i => (i, i) -> IO (StorableArray i e) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (StorableArray i e) Source # unsafeRead :: Ix i => StorableArray i e -> Int -> IO e Source # unsafeWrite :: Ix i => StorableArray i e -> Int -> e -> IO () Source # | |
MArray IOArray e IO | |
Defined in Data.Array.Base Methods getBounds :: Ix i => IOArray i e -> IO (i, i) Source # getNumElements :: Ix i => IOArray i e -> IO Int Source # newArray :: Ix i => (i, i) -> e -> IO (IOArray i e) Source # newArray_ :: Ix i => (i, i) -> IO (IOArray i e) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOArray i e) Source # unsafeRead :: Ix i => IOArray i e -> Int -> IO e Source # unsafeWrite :: Ix i => IOArray i e -> Int -> e -> IO () Source # | |
MArray IOUArray (FunPtr a) IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i (FunPtr a) -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i (FunPtr a) -> IO Int Source # newArray :: Ix i => (i, i) -> FunPtr a -> IO (IOUArray i (FunPtr a)) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i (FunPtr a)) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i (FunPtr a)) Source # unsafeRead :: Ix i => IOUArray i (FunPtr a) -> Int -> IO (FunPtr a) Source # unsafeWrite :: Ix i => IOUArray i (FunPtr a) -> Int -> FunPtr a -> IO () Source # | |
MArray IOUArray (Ptr a) IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i (Ptr a) -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i (Ptr a) -> IO Int Source # newArray :: Ix i => (i, i) -> Ptr a -> IO (IOUArray i (Ptr a)) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i (Ptr a)) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i (Ptr a)) Source # unsafeRead :: Ix i => IOUArray i (Ptr a) -> Int -> IO (Ptr a) Source # unsafeWrite :: Ix i => IOUArray i (Ptr a) -> Int -> Ptr a -> IO () Source # | |
MArray IOUArray (StablePtr a) IO | |
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i (StablePtr a) -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i (StablePtr a) -> IO Int Source # newArray :: Ix i => (i, i) -> StablePtr a -> IO (IOUArray i (StablePtr a)) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i (StablePtr a)) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i (StablePtr a)) Source # unsafeRead :: Ix i => IOUArray i (StablePtr a) -> Int -> IO (StablePtr a) Source # unsafeWrite :: Ix i => IOUArray i (StablePtr a) -> Int -> StablePtr a -> IO () Source # | |
Monoid a => Monoid (IO a) | Since: base-4.9.0.0 |
Semigroup a => Semigroup (IO a) | Since: base-4.10.0.0 |
a ~ () => HPrintfType (IO a) | Since: base-4.7.0.0 |
Defined in Text.Printf | |
a ~ () => PrintfType (IO a) | Since: base-4.7.0.0 |
Defined in Text.Printf |
Instances
Parsec Bool Source # | |||||
Defined in Distribution.Parsec Methods parsec :: CabalParsing m => m Bool Source # | |||||
Pretty Bool Source # | |||||
Defined in Distribution.Pretty | |||||
Structured Bool Source # | |||||
Defined in Distribution.Utils.Structured | |||||
Data Bool | Since: base-4.0.0.0 | ||||
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bool -> c Bool Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bool Source # toConstr :: Bool -> Constr Source # dataTypeOf :: Bool -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bool) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bool) Source # gmapT :: (forall b. Data b => b -> b) -> Bool -> Bool Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bool -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bool -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Bool -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Bool -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bool -> m Bool Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bool -> m Bool Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bool -> m Bool Source # | |||||
Storable Bool | Since: base-2.1 | ||||
Defined in Foreign.Storable Methods sizeOf :: Bool -> Int Source # alignment :: Bool -> Int Source # peekElemOff :: Ptr Bool -> Int -> IO Bool Source # pokeElemOff :: Ptr Bool -> Int -> Bool -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Bool Source # pokeByteOff :: Ptr b -> Int -> Bool -> IO () Source # | |||||
Bits Bool | Interpret Since: base-4.7.0.0 | ||||
Defined in GHC.Bits Methods (.&.) :: Bool -> Bool -> Bool Source # (.|.) :: Bool -> Bool -> Bool Source # xor :: Bool -> Bool -> Bool Source # complement :: Bool -> Bool Source # shift :: Bool -> Int -> Bool Source # rotate :: Bool -> Int -> Bool Source # setBit :: Bool -> Int -> Bool Source # clearBit :: Bool -> Int -> Bool Source # complementBit :: Bool -> Int -> Bool Source # testBit :: Bool -> Int -> Bool Source # bitSizeMaybe :: Bool -> Maybe Int Source # bitSize :: Bool -> Int Source # isSigned :: Bool -> Bool Source # shiftL :: Bool -> Int -> Bool Source # unsafeShiftL :: Bool -> Int -> Bool Source # shiftR :: Bool -> Int -> Bool Source # unsafeShiftR :: Bool -> Int -> Bool Source # rotateL :: Bool -> Int -> Bool Source # | |||||
FiniteBits Bool | Since: base-4.7.0.0 | ||||
Bounded Bool | Since: base-2.1 | ||||
Enum Bool | Since: base-2.1 | ||||
Generic Bool | |||||
Defined in GHC.Generics | |||||
SingKind Bool | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics Associated Types
| |||||
Ix Bool | Since: base-2.1 | ||||
Read Bool | Since: base-2.1 | ||||
Show Bool | Since: base-2.1 | ||||
Binary Bool | |||||
NFData Bool | |||||
Defined in Control.DeepSeq | |||||
Eq Bool | |||||
Ord Bool | |||||
Pretty Bool | |||||
Defined in Text.PrettyPrint.Annotated.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Bool -> Doc ann Source # pPrint :: Bool -> Doc ann Source # pPrintList :: PrettyLevel -> [Bool] -> Doc ann Source # | |||||
Pretty Bool | |||||
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Bool -> Doc Source # pPrint :: Bool -> Doc Source # pPrintList :: PrettyLevel -> [Bool] -> Doc Source # | |||||
IArray UArray Bool | |||||
Defined in Data.Array.Base Methods bounds :: Ix i => UArray i Bool -> (i, i) Source # numElements :: Ix i => UArray i Bool -> Int Source # unsafeArray :: Ix i => (i, i) -> [(Int, Bool)] -> UArray i Bool Source # unsafeAt :: Ix i => UArray i Bool -> Int -> Bool Source # unsafeReplace :: Ix i => UArray i Bool -> [(Int, Bool)] -> UArray i Bool Source # unsafeAccum :: Ix i => (Bool -> e' -> Bool) -> UArray i Bool -> [(Int, e')] -> UArray i Bool Source # unsafeAccumArray :: Ix i => (Bool -> e' -> Bool) -> Bool -> (i, i) -> [(Int, e')] -> UArray i Bool Source # | |||||
SingI 'False | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics | |||||
SingI 'True | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics | |||||
Lift Bool | |||||
MArray IOUArray Bool IO | |||||
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Bool -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Bool -> IO Int Source # newArray :: Ix i => (i, i) -> Bool -> IO (IOUArray i Bool) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Bool) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Bool) Source # unsafeRead :: Ix i => IOUArray i Bool -> Int -> IO Bool Source # unsafeWrite :: Ix i => IOUArray i Bool -> Int -> Bool -> IO () Source # | |||||
MArray (STUArray s) Bool (ST s) | |||||
Defined in Data.Array.Base Methods getBounds :: Ix i => STUArray s i Bool -> ST s (i, i) Source # getNumElements :: Ix i => STUArray s i Bool -> ST s Int Source # newArray :: Ix i => (i, i) -> Bool -> ST s (STUArray s i Bool) Source # newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Bool) Source # unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Bool) Source # unsafeRead :: Ix i => STUArray s i Bool -> Int -> ST s Bool Source # unsafeWrite :: Ix i => STUArray s i Bool -> Int -> Bool -> ST s () Source # | |||||
type DemoteRep Bool | |||||
Defined in GHC.Generics | |||||
type Rep Bool | Since: base-4.6.0.0 | ||||
data Sing (a :: Bool) | |||||
Instances
Structured Double Source # | |||||
Defined in Distribution.Utils.Structured | |||||
Data Double | Since: base-4.0.0.0 | ||||
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Double -> c Double Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Double Source # toConstr :: Double -> Constr Source # dataTypeOf :: Double -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Double) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Double) Source # gmapT :: (forall b. Data b => b -> b) -> Double -> Double Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Double -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Double -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Double -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Double -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Double -> m Double Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Double -> m Double Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Double -> m Double Source # | |||||
Storable Double | Since: base-2.1 | ||||
Defined in Foreign.Storable Methods sizeOf :: Double -> Int Source # alignment :: Double -> Int Source # peekElemOff :: Ptr Double -> Int -> IO Double Source # pokeElemOff :: Ptr Double -> Int -> Double -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Double Source # pokeByteOff :: Ptr b -> Int -> Double -> IO () Source # | |||||
Floating Double | Since: base-2.1 | ||||
Defined in GHC.Float Methods exp :: Double -> Double Source # log :: Double -> Double Source # sqrt :: Double -> Double Source # (**) :: Double -> Double -> Double Source # logBase :: Double -> Double -> Double Source # sin :: Double -> Double Source # cos :: Double -> Double Source # tan :: Double -> Double Source # asin :: Double -> Double Source # acos :: Double -> Double Source # atan :: Double -> Double Source # sinh :: Double -> Double Source # cosh :: Double -> Double Source # tanh :: Double -> Double Source # asinh :: Double -> Double Source # acosh :: Double -> Double Source # atanh :: Double -> Double Source # log1p :: Double -> Double Source # expm1 :: Double -> Double Source # | |||||
RealFloat Double | Since: base-2.1 | ||||
Defined in GHC.Float Methods floatRadix :: Double -> Integer Source # floatDigits :: Double -> Int Source # floatRange :: Double -> (Int, Int) Source # decodeFloat :: Double -> (Integer, Int) Source # encodeFloat :: Integer -> Int -> Double Source # exponent :: Double -> Int Source # significand :: Double -> Double Source # scaleFloat :: Int -> Double -> Double Source # isNaN :: Double -> Bool Source # isInfinite :: Double -> Bool Source # isDenormalized :: Double -> Bool Source # isNegativeZero :: Double -> Bool Source # | |||||
Read Double | Since: base-2.1 | ||||
PrintfArg Double | Since: base-2.1 | ||||
Defined in Text.Printf Methods formatArg :: Double -> FieldFormatter Source # parseFormat :: Double -> ModifierParser Source # | |||||
Binary Double | Uses non-IEEE754 encoding. Does not round-trip NaN. | ||||
NFData Double | |||||
Defined in Control.DeepSeq | |||||
Eq Double | |||||
Ord Double | |||||
Pretty Double | |||||
Defined in Text.PrettyPrint.Annotated.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Double -> Doc ann Source # pPrint :: Double -> Doc ann Source # pPrintList :: PrettyLevel -> [Double] -> Doc ann Source # | |||||
Pretty Double | |||||
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Double -> Doc Source # pPrint :: Double -> Doc Source # pPrintList :: PrettyLevel -> [Double] -> Doc Source # | |||||
IArray UArray Double | |||||
Defined in Data.Array.Base Methods bounds :: Ix i => UArray i Double -> (i, i) Source # numElements :: Ix i => UArray i Double -> Int Source # unsafeArray :: Ix i => (i, i) -> [(Int, Double)] -> UArray i Double Source # unsafeAt :: Ix i => UArray i Double -> Int -> Double Source # unsafeReplace :: Ix i => UArray i Double -> [(Int, Double)] -> UArray i Double Source # unsafeAccum :: Ix i => (Double -> e' -> Double) -> UArray i Double -> [(Int, e')] -> UArray i Double Source # unsafeAccumArray :: Ix i => (Double -> e' -> Double) -> Double -> (i, i) -> [(Int, e')] -> UArray i Double Source # | |||||
Lift Double | |||||
MArray IOUArray Double IO | |||||
Defined in Data.Array.IO.Internals Methods getBounds :: Ix i => IOUArray i Double -> IO (i, i) Source # getNumElements :: Ix i => IOUArray i Double -> IO Int Source # newArray :: Ix i => (i, i) -> Double -> IO (IOUArray i Double) Source # newArray_ :: Ix i => (i, i) -> IO (IOUArray i Double) Source # unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Double) Source # unsafeRead :: Ix i => IOUArray i Double -> Int -> IO Double Source # unsafeWrite :: Ix i => IOUArray i Double -> Int -> Double -> IO () Source # | |||||
Generic1 (URec Double :: k -> Type) | |||||
Defined in GHC.Generics Associated Types
| |||||
Foldable (UDouble :: Type -> Type) | Since: base-4.9.0.0 | ||||
Defined in Data.Foldable Methods fold :: Monoid m => UDouble m -> m Source # foldMap :: Monoid m => (a -> m) -> UDouble a -> m Source # foldMap' :: Monoid m => (a -> m) -> UDouble a -> m Source # foldr :: (a -> b -> b) -> b -> UDouble a -> b Source # foldr' :: (a -> b -> b) -> b -> UDouble a -> b Source # foldl :: (b -> a -> b) -> b -> UDouble a -> b Source # foldl' :: (b -> a -> b) -> b -> UDouble a -> b Source # foldr1 :: (a -> a -> a) -> UDouble a -> a Source # foldl1 :: (a -> a -> a) -> UDouble a -> a Source # toList :: UDouble a -> [a] Source # null :: UDouble a -> Bool Source # length :: UDouble a -> Int Source # elem :: Eq a => a -> UDouble a -> Bool Source # maximum :: Ord a => UDouble a -> a Source # minimum :: Ord a => UDouble a -> a Source # | |||||
Traversable (UDouble :: Type -> Type) | Since: base-4.9.0.0 | ||||
Defined in Data.Traversable | |||||
MArray (STUArray s) Double (ST s) | |||||
Defined in Data.Array.Base Methods getBounds :: Ix i => STUArray s i Double -> ST s (i, i) Source # getNumElements :: Ix i => STUArray s i Double -> ST s Int Source # newArray :: Ix i => (i, i) -> Double -> ST s (STUArray s i Double) Source # newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Double) Source # unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Double) Source # unsafeRead :: Ix i => STUArray s i Double -> Int -> ST s Double Source # unsafeWrite :: Ix i => STUArray s i Double -> Int -> Double -> ST s () Source # | |||||
Functor (URec Double :: Type -> Type) | Since: base-4.9.0.0 | ||||
Generic (URec Double p) | |||||
Defined in GHC.Generics Associated Types
| |||||
Show (URec Double p) | Since: base-4.9.0.0 | ||||
Eq (URec Double p) | Since: base-4.9.0.0 | ||||
Ord (URec Double p) | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics Methods compare :: URec Double p -> URec Double p -> Ordering # (<) :: URec Double p -> URec Double p -> Bool # (<=) :: URec Double p -> URec Double p -> Bool # (>) :: URec Double p -> URec Double p -> Bool # (>=) :: URec Double p -> URec Double p -> Bool # | |||||
data URec Double (p :: k) | Used for marking occurrences of Since: base-4.9.0.0 | ||||
type Rep1 (URec Double :: k -> Type) | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics | |||||
type Rep (URec Double p) | Since: base-4.9.0.0 | ||||
Defined in GHC.Generics |
Instances
Structured Ordering Source # | |
Defined in Distribution.Utils.Structured | |
Data Ordering | Since: base-4.0.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ordering -> c Ordering Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Ordering Source # toConstr :: Ordering -> Constr Source # dataTypeOf :: Ordering -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Ordering) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ordering) Source # gmapT :: (forall b. Data b => b -> b) -> Ordering -> Ordering Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ordering -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ordering -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Ordering -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Ordering -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ordering -> m Ordering Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ordering -> m Ordering Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ordering -> m Ordering Source # | |
Monoid Ordering | Since: base-2.1 |
Semigroup Ordering | Since: base-4.9.0.0 |
Bounded Ordering | Since: base-2.1 |
Enum Ordering | Since: base-2.1 |
Defined in GHC.Enum Methods succ :: Ordering -> Ordering Source # pred :: Ordering -> Ordering Source # toEnum :: Int -> Ordering Source # fromEnum :: Ordering -> Int Source # enumFrom :: Ordering -> [Ordering] Source # enumFromThen :: Ordering -> Ordering -> [Ordering] Source # enumFromTo :: Ordering -> Ordering -> [Ordering] Source # enumFromThenTo :: Ordering -> Ordering -> Ordering -> [Ordering] Source # | |
Generic Ordering | |
Defined in GHC.Generics | |
Ix Ordering | Since: base-2.1 |
Defined in GHC.Ix | |
Read Ordering | Since: base-2.1 |
Show Ordering | Since: base-2.1 |
Binary Ordering | |
NFData Ordering | |
Defined in Control.DeepSeq | |
Eq Ordering | |
Ord Ordering | |
Defined in GHC.Classes | |
Pretty Ordering | |
Defined in Text.PrettyPrint.Annotated.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Ordering -> Doc ann Source # pPrint :: Ordering -> Doc ann Source # pPrintList :: PrettyLevel -> [Ordering] -> Doc ann Source # | |
Pretty Ordering | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Ordering -> Doc Source # pPrint :: Ordering -> Doc Source # pPrintList :: PrettyLevel -> [Ordering] -> Doc Source # | |
type Rep Ordering | Since: base-4.6.0.0 |
Instances
Structured Integer Source # | |
Defined in Distribution.Utils.Structured | |
Data Integer | Since: base-4.0.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Integer -> c Integer Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Integer Source # toConstr :: Integer -> Constr Source # dataTypeOf :: Integer -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Integer) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Integer) Source # gmapT :: (forall b. Data b => b -> b) -> Integer -> Integer Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Integer -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Integer -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Integer -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Integer -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Integer -> m Integer Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Integer -> m Integer Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Integer -> m Integer Source # | |
Bits Integer | Since: base-2.1 |
Defined in GHC.Bits Methods (.&.) :: Integer -> Integer -> Integer Source # (.|.) :: Integer -> Integer -> Integer Source # xor :: Integer -> Integer -> Integer Source # complement :: Integer -> Integer Source # shift :: Integer -> Int -> Integer Source # rotate :: Integer -> Int -> Integer Source # bit :: Int -> Integer Source # setBit :: Integer -> Int -> Integer Source # clearBit :: Integer -> Int -> Integer Source # complementBit :: Integer -> Int -> Integer Source # testBit :: Integer -> Int -> Bool Source # bitSizeMaybe :: Integer -> Maybe Int Source # bitSize :: Integer -> Int Source # isSigned :: Integer -> Bool Source # shiftL :: Integer -> Int -> Integer Source # unsafeShiftL :: Integer -> Int -> Integer Source # shiftR :: Integer -> Int -> Integer Source # unsafeShiftR :: Integer -> Int -> Integer Source # rotateL :: Integer -> Int -> Integer Source # | |
Enum Integer | Since: base-2.1 |
Defined in GHC.Enum Methods succ :: Integer -> Integer Source # pred :: Integer -> Integer Source # toEnum :: Int -> Integer Source # fromEnum :: Integer -> Int Source # enumFrom :: Integer -> [Integer] Source # enumFromThen :: Integer -> Integer -> [Integer] Source # enumFromTo :: Integer -> Integer -> [Integer] Source # enumFromThenTo :: Integer -> Integer -> Integer -> [Integer] Source # | |
Ix Integer | Since: base-2.1 |
Num Integer | Since: base-2.1 |
Defined in GHC.Num | |
Read Integer | Since: base-2.1 |
Integral Integer | Since: base-2.0.1 |
Defined in GHC.Real Methods quot :: Integer -> Integer -> Integer Source # rem :: Integer -> Integer -> Integer Source # div :: Integer -> Integer -> Integer Source # mod :: Integer -> Integer -> Integer Source # quotRem :: Integer -> Integer -> (Integer, Integer) Source # | |
Real Integer | Since: base-2.0.1 |
Show Integer | Since: base-2.1 |
PrintfArg Integer | Since: base-2.1 |
Defined in Text.Printf Methods formatArg :: Integer -> FieldFormatter Source # parseFormat :: Integer -> ModifierParser Source # | |
Binary Integer | |
NFData Integer | |
Defined in Control.DeepSeq | |
Eq Integer | |
Ord Integer | |
Pretty Integer | |
Defined in Text.PrettyPrint.Annotated.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Integer -> Doc ann Source # pPrint :: Integer -> Doc ann Source # pPrintList :: PrettyLevel -> [Integer] -> Doc ann Source # | |
Pretty Integer | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Integer -> Doc Source # pPrint :: Integer -> Doc Source # pPrintList :: PrettyLevel -> [Integer] -> Doc Source # | |
Lift Integer | |
The Either
type represents values with two possibilities: a value of
type
is either Either
a b
or Left
a
.Right
b
The Either
type is sometimes used to represent a value which is
either correct or an error; by convention, the Left
constructor is
used to hold an error value and the Right
constructor is used to
hold a correct value (mnemonic: "right" also means "correct").
Examples
The type
is the type of values which can be either
a Either
String
Int
String
or an Int
. The Left
constructor can be used only on
String
s, and the Right
constructor can be used only on Int
s:
>>>
let s = Left "foo" :: Either String Int
>>>
s
Left "foo">>>
let n = Right 3 :: Either String Int
>>>
n
Right 3>>>
:type s
s :: Either String Int>>>
:type n
n :: Either String Int
The fmap
from our Functor
instance will ignore Left
values, but
will apply the supplied function to values contained in a Right
:
>>>
let s = Left "foo" :: Either String Int
>>>
let n = Right 3 :: Either String Int
>>>
fmap (*2) s
Left "foo">>>
fmap (*2) n
Right 6
The Monad
instance for Either
allows us to chain together multiple
actions which may fail, and fail overall if any of the individual
steps failed. First we'll write a function that can either parse an
Int
from a Char
, or fail.
>>>
import Data.Char ( digitToInt, isDigit )
>>>
:{
let parseEither :: Char -> Either String Int parseEither c | isDigit c = Right (digitToInt c) | otherwise = Left "parse error">>>
:}
The following should work, since both '1'
and '2'
can be
parsed as Int
s.
>>>
:{
let parseMultiple :: Either String Int parseMultiple = do x <- parseEither '1' y <- parseEither '2' return (x + y)>>>
:}
>>>
parseMultiple
Right 3
But the following should fail overall, since the first operation where
we attempt to parse 'm'
as an Int
will fail:
>>>
:{
let parseMultiple :: Either String Int parseMultiple = do x <- parseEither 'm' y <- parseEither '2' return (x + y)>>>
:}
>>>
parseMultiple
Left "parse error"
Instances
Bifoldable Either | Since: base-4.10.0.0 | ||||
Defined in Data.Bifoldable | |||||
Bifoldable1 Either | |||||
Bifunctor Either | Since: base-4.8.0.0 | ||||
Bitraversable Either | Since: base-4.10.0.0 | ||||
Defined in Data.Bitraversable Methods bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Either a b -> f (Either c d) Source # | |||||
Eq2 Either | Since: base-4.9.0.0 | ||||
Ord2 Either | Since: base-4.9.0.0 | ||||
Defined in Data.Functor.Classes | |||||
Read2 Either | Since: base-4.9.0.0 | ||||
Defined in Data.Functor.Classes Methods liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Either a b) Source # liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Either a b] Source # liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Either a b) Source # liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Either a b] Source # | |||||
Show2 Either | Since: base-4.9.0.0 | ||||
Defined in Data.Functor.Classes | |||||
NFData2 Either | Since: deepseq-1.4.3.0 | ||||
Defined in Control.DeepSeq | |||||
Generic1 (Either a :: Type -> Type) | |||||
Defined in GHC.Generics Associated Types
| |||||
MonadError e (Either e) | |||||
Defined in Control.Monad.Error.Class Methods throwError :: e -> Either e a Source # catchError :: Either e a -> (e -> Either e a) -> Either e a Source # | |||||
(Lift a, Lift b) => Lift (Either a b :: Type) | |||||
MonadFix (Either e) | Since: base-4.3.0.0 | ||||
Foldable (Either a) | Since: base-4.7.0.0 | ||||
Defined in Data.Foldable Methods fold :: Monoid m => Either a m -> m Source # foldMap :: Monoid m => (a0 -> m) -> Either a a0 -> m Source # foldMap' :: Monoid m => (a0 -> m) -> Either a a0 -> m Source # foldr :: (a0 -> b -> b) -> b -> Either a a0 -> b Source # foldr' :: (a0 -> b -> b) -> b -> Either a a0 -> b Source # foldl :: (b -> a0 -> b) -> b -> Either a a0 -> b Source # foldl' :: (b -> a0 -> b) -> b -> Either a a0 -> b Source # foldr1 :: (a0 -> a0 -> a0) -> Either a a0 -> a0 Source # foldl1 :: (a0 -> a0 -> a0) -> Either a a0 -> a0 Source # toList :: Either a a0 -> [a0] Source # null :: Either a a0 -> Bool Source # length :: Either a a0 -> Int Source # elem :: Eq a0 => a0 -> Either a a0 -> Bool Source # maximum :: Ord a0 => Either a a0 -> a0 Source # minimum :: Ord a0 => Either a a0 -> a0 Source # | |||||
Eq a => Eq1 (Either a) | Since: base-4.9.0.0 | ||||
Ord a => Ord1 (Either a) | Since: base-4.9.0.0 | ||||
Defined in Data.Functor.Classes | |||||
Read a => Read1 (Either a) | Since: base-4.9.0.0 | ||||
Defined in Data.Functor.Classes Methods liftReadsPrec :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (Either a a0) Source # liftReadList :: (Int -> ReadS a0) -> ReadS [a0] -> ReadS [Either a a0] Source # liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (Either a a0) Source # liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [Either a a0] Source # | |||||
Show a => Show1 (Either a) | Since: base-4.9.0.0 | ||||
Traversable (Either a) | Since: base-4.7.0.0 | ||||
Defined in Data.Traversable Methods traverse :: Applicative f => (a0 -> f b) -> Either a a0 -> f (Either a b) Source # sequenceA :: Applicative f => Either a (f a0) -> f (Either a a0) Source # mapM :: Monad m => (a0 -> m b) -> Either a a0 -> m (Either a b) Source # sequence :: Monad m => Either a (m a0) -> m (Either a a0) Source # | |||||
Applicative (Either e) | Since: base-3.0 | ||||
Defined in Data.Either | |||||
Functor (Either a) | Since: base-3.0 | ||||
Monad (Either e) | Since: base-4.4.0.0 | ||||
NFData a => NFData1 (Either a) | Since: deepseq-1.4.3.0 | ||||
Defined in Control.DeepSeq | |||||
(IsNode a, IsNode b, Key a ~ Key b) => IsNode (Either a b) Source # | |||||
(Structured a, Structured b) => Structured (Either a b) Source # | |||||
Defined in Distribution.Utils.Structured | |||||
(Data a, Data b) => Data (Either a b) | Since: base-4.0.0.0 | ||||
Defined in Data.Data Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Either a b -> c (Either a b) Source # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Either a b) Source # toConstr :: Either a b -> Constr Source # dataTypeOf :: Either a b -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Either a b)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Either a b)) Source # gmapT :: (forall b0. Data b0 => b0 -> b0) -> Either a b -> Either a b Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Either a b -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Either a b -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Either a b -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Either a b -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Either a b -> m (Either a b) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Either a b -> m (Either a b) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Either a b -> m (Either a b) Source # | |||||
Semigroup (Either a b) | Since: base-4.9.0.0 | ||||
Generic (Either a b) | |||||
Defined in GHC.Generics |