-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module GHC.PArr module Unsafe.Coerce unsafeCoerce :: a -> b module Data.Tuple fst :: (a, b) -> a snd :: (a, b) -> b curry :: ((a, b) -> c) -> a -> b -> c uncurry :: (a -> b -> c) -> (a, b) -> c module Data.String class IsString a fromString :: IsString a => String -> a instance IsString [Char] module Data.Ord class Eq a => Ord a compare :: Ord a => a -> a -> Ordering (<) :: Ord a => a -> a -> Bool (<=) :: Ord a => a -> a -> Bool (>) :: Ord a => a -> a -> Bool (>=) :: Ord a => a -> a -> Bool max :: Ord a => a -> a -> a min :: Ord a => a -> a -> a instance Ord All instance Ord Any instance Ord ArithException instance Ord ArrayException instance Ord AsyncException instance Ord Bool instance Ord BufferMode instance Ord CChar instance Ord CClock instance Ord CDouble instance Ord CFloat instance Ord CInt instance Ord CIntMax instance Ord CIntPtr instance Ord CLDouble instance Ord CLLong instance Ord CLong instance Ord CPtrdiff instance Ord CSChar instance Ord CShort instance Ord CSigAtomic instance Ord CSize instance Ord CTime instance Ord CUChar instance Ord CUInt instance Ord CUIntMax instance Ord CUIntPtr instance Ord CULLong instance Ord CULong instance Ord CUShort instance Ord CWchar instance Ord Char instance Ord ConsoleEvent instance Ord Double instance Ord ExitCode instance Ord Fd instance Ord Float instance Ord GeneralCategory instance Ord IOMode instance Ord Int instance Ord Int16 instance Ord Int32 instance Ord Int64 instance Ord Int8 instance Ord IntPtr instance Ord Integer instance Ord Ordering instance Ord SeekMode instance Ord ThreadId instance Ord Unique instance Ord Version instance Ord Word instance Ord Word16 instance Ord Word32 instance Ord Word64 instance Ord Word8 instance Ord WordPtr instance Ord () instance (Ord a, Ord b) => Ord (a, b) instance (Ord a, Ord b, Ord c) => Ord (a, b, c) instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d) instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e) instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord (a, b, c, d, e, f) instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => Ord (a, b, c, d, e, f, g) instance (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 (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 (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 (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 (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 (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 (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 (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 Ord a => Ord (Dual a) instance Ord a => Ord (First a) instance Ord (Fixed a) instance Ord (ForeignPtr a) instance Ord (FunPtr a) instance Ord a => Ord (Last a) instance Ord a => Ord (Maybe a) instance Ord a => Ord (Product a) instance Ord (Ptr a) instance Integral a => Ord (Ratio a) instance Ord a => Ord (Sum a) instance Ord a => Ord [a] instance (Ix i, Ord e) => Ord (Array i e) instance (Ord a, Ord b) => Ord (Either a b) data Ordering LT :: Ordering EQ :: Ordering instance Bounded Ordering instance Data Ordering instance Enum Ordering instance Eq Ordering instance Ix Ordering instance Monoid Ordering instance Ord Ordering instance Read Ordering instance Show Ordering instance Typeable Ordering comparing :: Ord a => (b -> a) -> b -> b -> Ordering module Data.Maybe data Maybe a Nothing :: Maybe a Just :: a -> Maybe a instance Alternative Maybe instance Applicative Maybe instance Foldable Maybe instance Functor Maybe instance Monad Maybe instance MonadFix Maybe instance MonadPlus Maybe instance Traversable Maybe instance Typeable1 Maybe instance Data a => Data (Maybe a) instance Eq a => Eq (Maybe a) instance Monoid a => Monoid (Maybe a) instance Ord a => Ord (Maybe a) instance Read a => Read (Maybe a) instance Show a => Show (Maybe a) maybe :: b -> (a -> b) -> Maybe a -> b isJust :: Maybe a -> Bool isNothing :: Maybe a -> Bool fromJust :: Maybe a -> a fromMaybe :: a -> Maybe a -> a listToMaybe :: [a] -> Maybe a maybeToList :: Maybe a -> [a] catMaybes :: [Maybe a] -> [a] mapMaybe :: (a -> Maybe b) -> [a] -> [b] module Data.Eq class Eq a (==) :: Eq a => a -> a -> Bool (/=) :: Eq a => a -> a -> Bool instance Eq All instance Eq Any instance Eq ArithException instance Eq ArrayException instance Eq AsyncException instance Eq Bool instance Eq BufferMode instance Eq BufferState instance Eq CChar instance Eq CClock instance Eq CDouble instance Eq CFloat instance Eq CInt instance Eq CIntMax instance Eq CIntPtr instance Eq CLDouble instance Eq CLLong instance Eq CLong instance Eq CPtrdiff instance Eq CSChar instance Eq CShort instance Eq CSigAtomic instance Eq CSize instance Eq CTime instance Eq CUChar instance Eq CUInt instance Eq CUIntMax instance Eq CUIntPtr instance Eq CULLong instance Eq CULong instance Eq CUShort instance Eq CWchar instance Eq Char instance Eq ConsoleEvent instance Eq Constr instance Eq ConstrRep instance Eq DataRep instance Eq Double instance Eq Errno instance Eq Exception instance Eq ExitCode instance Eq FDType instance Eq Fd instance Eq Fixity instance Eq Float instance Eq GeneralCategory instance Eq Handle instance Eq HandlePosn instance Eq HashData instance Eq IOErrorType instance Eq IOException instance Eq IOMode instance Eq Inserts instance Eq Int instance Eq Int16 instance Eq Int32 instance Eq Int64 instance Eq Int8 instance Eq IntPtr instance Eq Integer instance Eq Key instance Eq KeyPr instance Eq Lexeme instance Eq Ordering instance Eq SeekMode instance Eq ThreadId instance Eq Timeout instance Eq TyCon instance Eq TypeRep instance Eq Unique instance Eq Version instance Eq Word instance Eq Word16 instance Eq Word32 instance Eq Word64 instance Eq Word8 instance Eq WordPtr instance Eq () instance (Eq a, Eq b) => Eq (a, b) instance (Eq a, Eq b, Eq c) => Eq (a, b, c) instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d) instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e) instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f) => Eq (a, b, c, d, e, f) instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g) => Eq (a, b, c, d, e, f, g) instance (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 (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 (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 (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 (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 (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 (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 (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 (RealFloat a, Eq a) => Eq (Complex a) instance Eq a => Eq (Dual a) instance Eq a => Eq (First a) instance Eq (Fixed a) instance Eq (ForeignPtr a) instance Eq (FunPtr a) instance Eq (IORef a) instance Eq a => Eq (Last a) instance Eq (MVar a) instance Eq a => Eq (Maybe a) instance Eq a => Eq (Product a) instance Eq (Ptr a) instance (Integral a, Eq a) => Eq (Ratio a) instance Eq (StableName a) instance Eq (StablePtr a) instance Eq a => Eq (Sum a) instance Eq (TVar a) instance Eq a => Eq [a] instance (Ix i, Eq e) => Eq (Array i e) instance (Eq a, Eq b) => Eq (Either a b) instance Eq (IOArray i e) instance Eq (STRef s a) instance Eq (STArray s i e) module Data.Either data Either a b Left :: a -> Either a b Right :: b -> Either a b instance Typeable2 Either instance Functor (Either a) instance (Data a, Data b) => Data (Either a b) instance (Eq a, Eq b) => Eq (Either a b) instance (Ord a, Ord b) => Ord (Either a b) instance (Read a, Read b) => Read (Either a b) instance (Show a, Show b) => Show (Either a b) either :: (a -> c) -> (b -> c) -> Either a b -> c module Text.Show type ShowS = String -> String class Show a showsPrec :: Show a => Int -> a -> ShowS show :: Show a => a -> String showList :: Show a => [a] -> ShowS instance Show All instance Show Any instance Show ArithException instance Show ArrayException instance Show AsyncException instance Show Bool instance Show BufferMode instance Show CChar instance Show CClock instance Show CDouble instance Show CFloat instance Show CInt instance Show CIntMax instance Show CIntPtr instance Show CLDouble instance Show CLLong instance Show CLong instance Show CPtrdiff instance Show CSChar instance Show CShort instance Show CSigAtomic instance Show CSize instance Show CTime instance Show CUChar instance Show CUInt instance Show CUIntMax instance Show CUIntPtr instance Show CULLong instance Show CULong instance Show CUShort instance Show CWchar instance Show Char instance Show ConsoleEvent instance Show Constr instance Show ConstrRep instance Show DataRep instance Show DataType instance Show Double instance Show Dynamic instance Show Exception instance Show ExitCode instance Show Fd instance Show Fixity instance Show Float instance Show GeneralCategory instance Show Handle instance Show HandlePosn instance Show HandleType instance Show HashData instance Show IOErrorType instance Show IOException instance Show IOMode instance Show Int instance Show Int16 instance Show Int32 instance Show Int64 instance Show Int8 instance Show IntPtr instance Show Integer instance Show Lexeme instance Show Ordering instance Show SeekMode instance Show ThreadId instance Show TyCon instance Show TypeRep instance Show Version instance Show Word instance Show Word16 instance Show Word32 instance Show Word64 instance Show Word8 instance Show WordPtr instance Show () instance (Show a, Show b) => Show (a, b) instance (Show a, Show b, Show c) => Show (a, b, c) instance (Show a, Show b, Show c, Show d) => Show (a, b, c, d) instance (Show a, Show b, Show c, Show d, Show e) => Show (a, b, c, d, e) instance (Show a, Show b, Show c, Show d, Show e, Show f) => Show (a, b, c, d, e, f) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g) => Show (a, b, c, d, e, f, g) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h) => Show (a, b, c, d, e, f, g, h) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i) => Show (a, b, c, d, e, f, g, h, i) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j) => Show (a, b, c, d, e, f, g, h, i, j) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k) => Show (a, b, c, d, e, f, g, h, i, j, k) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l) => Show (a, b, c, d, e, f, g, h, i, j, k, l) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l, Show m) => Show (a, b, c, d, e, f, g, h, i, j, k, l, m) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l, Show m, Show n) => Show (a, b, c, d, e, f, g, h, i, j, k, l, m, n) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l, Show m, Show n, Show o) => Show (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) instance Show (a -> b) instance (RealFloat a, Show a) => Show (Complex a) instance Show a => Show (Dual a) instance Show a => Show (First a) instance HasResolution a => Show (Fixed a) instance Show (ForeignPtr a) instance Show (FunPtr a) instance Show a => Show (Last a) instance Show a => Show (Maybe a) instance Show a => Show (Product a) instance Show (Ptr a) instance Integral a => Show (Ratio a) instance Show a => Show (Sum a) instance Show a => Show [a] instance (Ix a, Show a, Show b) => Show (Array a b) instance (Show a, Show b) => Show (Either a b) instance Show (ST s a) shows :: Show a => a -> ShowS showChar :: Char -> ShowS showString :: String -> ShowS showParen :: Bool -> ShowS -> ShowS showListWith :: (a -> ShowS) -> [a] -> ShowS module Data.Bool data Bool False :: Bool True :: Bool instance Bounded Bool instance Data Bool instance Enum Bool instance Eq Bool instance Ix Bool instance Ord Bool instance Read Bool instance Show Bool instance Storable Bool instance Typeable Bool (&&) :: Bool -> Bool -> Bool (||) :: Bool -> Bool -> Bool not :: Bool -> Bool otherwise :: Bool module Data.Bits class Num a => Bits a (.&.) :: Bits a => a -> a -> a (.|.) :: Bits a => a -> a -> a xor :: Bits a => a -> a -> a complement :: Bits a => a -> a shift :: Bits a => a -> Int -> a rotate :: Bits a => a -> Int -> a bit :: Bits a => Int -> a setBit :: Bits a => a -> Int -> a clearBit :: Bits a => a -> Int -> a complementBit :: Bits a => a -> Int -> a testBit :: Bits a => a -> Int -> Bool bitSize :: Bits a => a -> Int isSigned :: Bits a => a -> Bool shiftL :: Bits a => a -> Int -> a shiftR :: Bits a => a -> Int -> a rotateL :: Bits a => a -> Int -> a rotateR :: Bits a => a -> Int -> a instance Bits CChar instance Bits CInt instance Bits CIntMax instance Bits CIntPtr instance Bits CLLong instance Bits CLong instance Bits CPtrdiff instance Bits CSChar instance Bits CShort instance Bits CSigAtomic instance Bits CSize instance Bits CUChar instance Bits CUInt instance Bits CUIntMax instance Bits CUIntPtr instance Bits CULLong instance Bits CULong instance Bits CUShort instance Bits CWchar instance Bits Fd instance Bits Int instance Bits Int16 instance Bits Int32 instance Bits Int64 instance Bits Int8 instance Bits IntPtr instance Bits Integer instance Bits Word instance Bits Word16 instance Bits Word32 instance Bits Word64 instance Bits Word8 instance Bits WordPtr module Control.Monad class Functor f fmap :: Functor f => (a -> b) -> f a -> f b instance Functor IO instance Functor Id instance Functor Maybe instance Functor ReadP instance Functor ReadPrec instance Functor STM instance Functor ZipList instance Functor [] instance Ix i => Functor (Array i) instance Functor (Const m) instance Functor (Either a) instance Functor (ST s) instance Functor (ST s) instance Monad m => Functor (WrappedMonad m) instance Functor ((,) a) instance Functor ((->) r) instance Arrow a => Functor (WrappedArrow a b) class Monad m (>>=) :: Monad m => m a -> (a -> m b) -> m b (>>) :: Monad m => m a -> m b -> m b return :: Monad m => a -> m a fail :: Monad m => String -> m a instance Monad IO instance Monad Maybe instance Monad P instance Monad ReadP instance Monad ReadPrec instance Monad STM instance Monad [] instance ArrowApply a => Monad (ArrowMonad a) instance Monad (ST s) instance Monad (ST s) instance Monad ((->) r) class Monad m => MonadPlus m mzero :: MonadPlus m => m a mplus :: MonadPlus m => m a -> m a -> m a instance MonadPlus Maybe instance MonadPlus P instance MonadPlus ReadP instance MonadPlus ReadPrec instance MonadPlus [] mapM :: Monad m => (a -> m b) -> [a] -> m [b] mapM_ :: Monad m => (a -> m b) -> [a] -> m () forM :: Monad m => [a] -> (a -> m b) -> m [b] forM_ :: Monad m => [a] -> (a -> m b) -> m () sequence :: Monad m => [m a] -> m [a] sequence_ :: Monad m => [m a] -> m () (=<<) :: Monad m => (a -> m b) -> m a -> m b (>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c (<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c forever :: Monad m => m a -> m () join :: Monad m => m (m a) -> m a msum :: MonadPlus m => [m a] -> m a filterM :: Monad m => (a -> m Bool) -> [a] -> m [a] mapAndUnzipM :: Monad m => (a -> m (b, c)) -> [a] -> m ([b], [c]) zipWithM :: Monad m => (a -> b -> m c) -> [a] -> [b] -> m [c] zipWithM_ :: Monad m => (a -> b -> m c) -> [a] -> [b] -> m () foldM :: Monad m => (a -> b -> m a) -> a -> [b] -> m a foldM_ :: Monad m => (a -> b -> m a) -> a -> [b] -> m () replicateM :: Monad m => Int -> m a -> m [a] replicateM_ :: Monad m => Int -> m a -> m () guard :: MonadPlus m => Bool -> m () when :: Monad m => Bool -> m () -> m () unless :: Monad m => Bool -> m () -> m () liftM :: Monad m => (a1 -> r) -> m a1 -> m r liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r liftM3 :: Monad m => (a1 -> a2 -> a3 -> r) -> m a1 -> m a2 -> m a3 -> m r liftM4 :: Monad m => (a1 -> a2 -> a3 -> a4 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m r liftM5 :: Monad m => (a1 -> a2 -> a3 -> a4 -> a5 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m a5 -> m r ap :: Monad m => m (a -> b) -> m a -> m b module Text.ParserCombinators.ReadP data ReadP a instance Functor ReadP instance Monad ReadP instance MonadPlus ReadP get :: ReadP Char look :: ReadP String (+++) :: ReadP a -> ReadP a -> ReadP a (<++) :: ReadP a -> ReadP a -> ReadP a gather :: ReadP a -> ReadP (String, a) pfail :: ReadP a satisfy :: (Char -> Bool) -> ReadP Char char :: Char -> ReadP Char string :: String -> ReadP String munch :: (Char -> Bool) -> ReadP String munch1 :: (Char -> Bool) -> ReadP String skipSpaces :: ReadP () choice :: [ReadP a] -> ReadP a count :: Int -> ReadP a -> ReadP [a] between :: ReadP open -> ReadP close -> ReadP a -> ReadP a option :: a -> ReadP a -> ReadP a optional :: ReadP a -> ReadP () many :: ReadP a -> ReadP [a] many1 :: ReadP a -> ReadP [a] skipMany :: ReadP a -> ReadP () skipMany1 :: ReadP a -> ReadP () sepBy :: ReadP a -> ReadP sep -> ReadP [a] sepBy1 :: ReadP a -> ReadP sep -> ReadP [a] endBy :: ReadP a -> ReadP sep -> ReadP [a] endBy1 :: ReadP a -> ReadP sep -> ReadP [a] chainr :: ReadP a -> ReadP (a -> a -> a) -> a -> ReadP a chainl :: ReadP a -> ReadP (a -> a -> a) -> a -> ReadP a chainl1 :: ReadP a -> ReadP (a -> a -> a) -> ReadP a chainr1 :: ReadP a -> ReadP (a -> a -> a) -> ReadP a manyTill :: ReadP a -> ReadP end -> ReadP [a] type ReadS a = String -> [(a, String)] readP_to_S :: ReadP a -> ReadS a readS_to_P :: ReadS a -> ReadP a module Text.ParserCombinators.ReadPrec data ReadPrec a instance Functor ReadPrec instance Monad ReadPrec instance MonadPlus ReadPrec type Prec = Int minPrec :: Prec lift :: ReadP a -> ReadPrec a prec :: Prec -> ReadPrec a -> ReadPrec a step :: ReadPrec a -> ReadPrec a reset :: ReadPrec a -> ReadPrec a get :: ReadPrec Char look :: ReadPrec String (+++) :: ReadPrec a -> ReadPrec a -> ReadPrec a (<++) :: ReadPrec a -> ReadPrec a -> ReadPrec a pfail :: ReadPrec a choice :: [ReadPrec a] -> ReadPrec a readPrec_to_P :: ReadPrec a -> Int -> ReadP a readP_to_Prec :: (Int -> ReadP a) -> ReadPrec a readPrec_to_S :: ReadPrec a -> Int -> ReadS a readS_to_Prec :: (Int -> ReadS a) -> ReadPrec a module Text.Read.Lex data Lexeme Char :: Char -> Lexeme String :: String -> Lexeme Punc :: String -> Lexeme Ident :: String -> Lexeme Symbol :: String -> Lexeme Int :: Integer -> Lexeme Rat :: Rational -> Lexeme EOF :: Lexeme instance Eq Lexeme instance Read Lexeme instance Show Lexeme lex :: ReadP Lexeme hsLex :: ReadP String lexChar :: ReadP Char readIntP :: Num a => a -> (Char -> Bool) -> (Char -> Int) -> ReadP a readOctP :: Num a => ReadP a readDecP :: Num a => ReadP a readHexP :: Num a => ReadP a module Data.Word data Word instance Bits Word instance Bounded Word instance Data Word instance Enum Word instance Eq Word instance Integral Word instance Ix Word instance Num Word instance Ord Word instance PrintfArg Word instance Read Word instance Real Word instance Show Word instance Storable Word instance Typeable Word data Word8 instance Bits Word8 instance Bounded Word8 instance Data Word8 instance Enum Word8 instance Eq Word8 instance Integral Word8 instance Ix Word8 instance Num Word8 instance Ord Word8 instance PrintfArg Word8 instance Read Word8 instance Real Word8 instance Show Word8 instance Storable Word8 instance Typeable Word8 data Word16 instance Bits Word16 instance Bounded Word16 instance Data Word16 instance Enum Word16 instance Eq Word16 instance Integral Word16 instance Ix Word16 instance Num Word16 instance Ord Word16 instance PrintfArg Word16 instance Read Word16 instance Real Word16 instance Show Word16 instance Storable Word16 instance Typeable Word16 data Word32 instance Bits Word32 instance Bounded Word32 instance Data Word32 instance Enum Word32 instance Eq Word32 instance Integral Word32 instance Ix Word32 instance Num Word32 instance Ord Word32 instance PrintfArg Word32 instance Read Word32 instance Real Word32 instance Show Word32 instance Storable Word32 instance Typeable Word32 data Word64 instance Bits Word64 instance Bounded Word64 instance Data Word64 instance Enum Word64 instance Eq Word64 instance Integral Word64 instance Ix Word64 instance Num Word64 instance Ord Word64 instance PrintfArg Word64 instance Read Word64 instance Real Word64 instance Show Word64 instance Storable Word64 instance Typeable Word64 module Data.Int data Int instance Bits Int instance Bounded Int instance Data Int instance Enum Int instance Eq Int instance Integral Int instance Ix Int instance Num Int instance Ord Int instance PrintfArg Int instance Read Int instance Real Int instance Show Int instance Storable Int instance Typeable Int data Int8 instance Bits Int8 instance Bounded Int8 instance Data Int8 instance Enum Int8 instance Eq Int8 instance Integral Int8 instance Ix Int8 instance Num Int8 instance Ord Int8 instance PrintfArg Int8 instance Read Int8 instance Real Int8 instance Show Int8 instance Storable Int8 instance Typeable Int8 data Int16 instance Bits Int16 instance Bounded Int16 instance Data Int16 instance Enum Int16 instance Eq Int16 instance Integral Int16 instance Ix Int16 instance Num Int16 instance Ord Int16 instance PrintfArg Int16 instance Read Int16 instance Real Int16 instance Show Int16 instance Storable Int16 instance Typeable Int16 data Int32 instance Bits Int32 instance Bounded Int32 instance Data Int32 instance Enum Int32 instance Eq Int32 instance Integral Int32 instance Ix Int32 instance Num Int32 instance Ord Int32 instance PrintfArg Int32 instance Read Int32 instance Real Int32 instance Show Int32 instance Storable Int32 instance Typeable Int32 data Int64 instance Bits Int64 instance Bounded Int64 instance Data Int64 instance Enum Int64 instance Eq Int64 instance Integral Int64 instance Ix Int64 instance Num Int64 instance Ord Int64 instance PrintfArg Int64 instance Read Int64 instance Real Int64 instance Show Int64 instance Storable Int64 instance Typeable Int64 module Data.Char data Char instance Bounded Char instance Data Char instance Enum Char instance Eq Char instance IsChar Char instance Ix Char instance Ord Char instance PrintfArg Char instance Read Char instance Show Char instance Storable Char instance Typeable Char instance IsString [Char] type String = [Char] isControl :: Char -> Bool isSpace :: Char -> Bool isLower :: Char -> Bool isUpper :: Char -> Bool isAlpha :: Char -> Bool isAlphaNum :: Char -> Bool isPrint :: Char -> Bool isDigit :: Char -> Bool isOctDigit :: Char -> Bool isHexDigit :: Char -> Bool isLetter :: Char -> Bool isMark :: Char -> Bool isNumber :: Char -> Bool isPunctuation :: Char -> Bool isSymbol :: Char -> Bool isSeparator :: Char -> Bool isAscii :: Char -> Bool isLatin1 :: Char -> Bool isAsciiUpper :: Char -> Bool isAsciiLower :: Char -> Bool data GeneralCategory UppercaseLetter :: GeneralCategory LowercaseLetter :: GeneralCategory TitlecaseLetter :: GeneralCategory ModifierLetter :: GeneralCategory OtherLetter :: GeneralCategory NonSpacingMark :: GeneralCategory SpacingCombiningMark :: GeneralCategory EnclosingMark :: GeneralCategory DecimalNumber :: GeneralCategory LetterNumber :: GeneralCategory OtherNumber :: GeneralCategory ConnectorPunctuation :: GeneralCategory DashPunctuation :: GeneralCategory OpenPunctuation :: GeneralCategory ClosePunctuation :: GeneralCategory InitialQuote :: GeneralCategory FinalQuote :: GeneralCategory OtherPunctuation :: GeneralCategory MathSymbol :: GeneralCategory CurrencySymbol :: GeneralCategory ModifierSymbol :: GeneralCategory OtherSymbol :: GeneralCategory Space :: GeneralCategory LineSeparator :: GeneralCategory ParagraphSeparator :: GeneralCategory Control :: GeneralCategory Format :: GeneralCategory Surrogate :: GeneralCategory PrivateUse :: GeneralCategory NotAssigned :: GeneralCategory instance Bounded GeneralCategory instance Enum GeneralCategory instance Eq GeneralCategory instance Ix GeneralCategory instance Ord GeneralCategory instance Read GeneralCategory instance Show GeneralCategory generalCategory :: Char -> GeneralCategory toUpper :: Char -> Char toLower :: Char -> Char toTitle :: Char -> Char digitToInt :: Char -> Int intToDigit :: Int -> Char ord :: Char -> Int chr :: Int -> Char showLitChar :: Char -> ShowS lexLitChar :: ReadS String readLitChar :: ReadS Char module Data.List (++) :: [a] -> [a] -> [a] head :: [a] -> a last :: [a] -> a tail :: [a] -> [a] init :: [a] -> [a] null :: [a] -> Bool length :: [a] -> Int map :: (a -> b) -> [a] -> [b] reverse :: [a] -> [a] intersperse :: a -> [a] -> [a] intercalate :: [a] -> [[a]] -> [a] transpose :: [[a]] -> [[a]] foldl :: (a -> b -> a) -> a -> [b] -> a foldl' :: (a -> b -> a) -> a -> [b] -> a foldl1 :: (a -> a -> a) -> [a] -> a foldl1' :: (a -> a -> a) -> [a] -> a foldr :: (a -> b -> b) -> b -> [a] -> b foldr1 :: (a -> a -> a) -> [a] -> a concat :: [[a]] -> [a] concatMap :: (a -> [b]) -> [a] -> [b] and :: [Bool] -> Bool or :: [Bool] -> Bool any :: (a -> Bool) -> [a] -> Bool all :: (a -> Bool) -> [a] -> Bool sum :: Num a => [a] -> a product :: Num a => [a] -> a maximum :: Ord a => [a] -> a minimum :: Ord a => [a] -> a scanl :: (a -> b -> a) -> a -> [b] -> [a] scanl1 :: (a -> a -> a) -> [a] -> [a] scanr :: (a -> b -> b) -> b -> [a] -> [b] scanr1 :: (a -> a -> a) -> [a] -> [a] mapAccumL :: (acc -> x -> (acc, y)) -> acc -> [x] -> (acc, [y]) mapAccumR :: (acc -> x -> (acc, y)) -> acc -> [x] -> (acc, [y]) iterate :: (a -> a) -> a -> [a] repeat :: a -> [a] replicate :: Int -> a -> [a] cycle :: [a] -> [a] unfoldr :: (b -> Maybe (a, b)) -> b -> [a] take :: Int -> [a] -> [a] drop :: Int -> [a] -> [a] splitAt :: Int -> [a] -> ([a], [a]) takeWhile :: (a -> Bool) -> [a] -> [a] dropWhile :: (a -> Bool) -> [a] -> [a] span :: (a -> Bool) -> [a] -> ([a], [a]) break :: (a -> Bool) -> [a] -> ([a], [a]) stripPrefix :: Eq a => [a] -> [a] -> Maybe [a] group :: Eq a => [a] -> [[a]] inits :: [a] -> [[a]] tails :: [a] -> [[a]] isPrefixOf :: Eq a => [a] -> [a] -> Bool isSuffixOf :: Eq a => [a] -> [a] -> Bool isInfixOf :: Eq a => [a] -> [a] -> Bool elem :: Eq a => a -> [a] -> Bool notElem :: Eq a => a -> [a] -> Bool lookup :: Eq a => a -> [(a, b)] -> Maybe b find :: (a -> Bool) -> [a] -> Maybe a filter :: (a -> Bool) -> [a] -> [a] partition :: (a -> Bool) -> [a] -> ([a], [a]) (!!) :: [a] -> Int -> a elemIndex :: Eq a => a -> [a] -> Maybe Int elemIndices :: Eq a => a -> [a] -> [Int] findIndex :: (a -> Bool) -> [a] -> Maybe Int findIndices :: (a -> Bool) -> [a] -> [Int] zip :: [a] -> [b] -> [(a, b)] zip3 :: [a] -> [b] -> [c] -> [(a, b, c)] zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)] zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)] zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)] zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)] zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d] zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e] zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h] unzip :: [(a, b)] -> ([a], [b]) unzip3 :: [(a, b, c)] -> ([a], [b], [c]) unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d]) unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e]) unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f]) unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g]) lines :: String -> [String] words :: String -> [String] unlines :: [String] -> String unwords :: [String] -> String nub :: Eq a => [a] -> [a] delete :: Eq a => a -> [a] -> [a] (\\) :: Eq a => [a] -> [a] -> [a] union :: Eq a => [a] -> [a] -> [a] intersect :: Eq a => [a] -> [a] -> [a] sort :: Ord a => [a] -> [a] insert :: Ord a => a -> [a] -> [a] nubBy :: (a -> a -> Bool) -> [a] -> [a] deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a] deleteFirstsBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] intersectBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] groupBy :: (a -> a -> Bool) -> [a] -> [[a]] sortBy :: (a -> a -> Ordering) -> [a] -> [a] insertBy :: (a -> a -> Ordering) -> a -> [a] -> [a] maximumBy :: (a -> a -> Ordering) -> [a] -> a minimumBy :: (a -> a -> Ordering) -> [a] -> a genericLength :: Num i => [b] -> i genericTake :: Integral i => i -> [a] -> [a] genericDrop :: Integral i => i -> [a] -> [a] genericSplitAt :: Integral i => i -> [b] -> ([b], [b]) genericIndex :: Integral a => [b] -> a -> b genericReplicate :: Integral i => i -> a -> [a] module Numeric showSigned :: Real a => (a -> ShowS) -> Int -> a -> ShowS showIntAtBase :: Integral a => a -> (Int -> Char) -> a -> ShowS showInt :: Integral a => a -> ShowS showHex :: Integral a => a -> ShowS showOct :: Integral a => a -> ShowS showEFloat :: RealFloat a => Maybe Int -> a -> ShowS showFFloat :: RealFloat a => Maybe Int -> a -> ShowS showGFloat :: RealFloat a => Maybe Int -> a -> ShowS showFloat :: RealFloat a => a -> ShowS floatToDigits :: RealFloat a => Integer -> a -> ([Int], Int) readSigned :: Real a => ReadS a -> ReadS a readInt :: Num a => a -> (Char -> Bool) -> (Char -> Int) -> ReadS a readDec :: Num a => ReadS a readOct :: Num a => ReadS a readHex :: Num a => ReadS a readFloat :: RealFrac a => ReadS a lexDigits :: ReadS String fromRat :: RealFloat a => Rational -> a module Foreign.C.Types data CChar instance Bits CChar instance Bounded CChar instance Enum CChar instance Eq CChar instance Integral CChar instance Num CChar instance Ord CChar instance Read CChar instance Real CChar instance Show CChar instance Storable CChar instance Typeable CChar data CSChar instance Bits CSChar instance Bounded CSChar instance Enum CSChar instance Eq CSChar instance Integral CSChar instance Num CSChar instance Ord CSChar instance Read CSChar instance Real CSChar instance Show CSChar instance Storable CSChar instance Typeable CSChar data CUChar instance Bits CUChar instance Bounded CUChar instance Enum CUChar instance Eq CUChar instance Integral CUChar instance Num CUChar instance Ord CUChar instance Read CUChar instance Real CUChar instance Show CUChar instance Storable CUChar instance Typeable CUChar data CShort instance Bits CShort instance Bounded CShort instance Enum CShort instance Eq CShort instance Integral CShort instance Num CShort instance Ord CShort instance Read CShort instance Real CShort instance Show CShort instance Storable CShort instance Typeable CShort data CUShort instance Bits CUShort instance Bounded CUShort instance Enum CUShort instance Eq CUShort instance Integral CUShort instance Num CUShort instance Ord CUShort instance Read CUShort instance Real CUShort instance Show CUShort instance Storable CUShort instance Typeable CUShort data CInt instance Bits CInt instance Bounded CInt instance Enum CInt instance Eq CInt instance Integral CInt instance Num CInt instance Ord CInt instance Read CInt instance Real CInt instance Show CInt instance Storable CInt instance Typeable CInt data CUInt instance Bits CUInt instance Bounded CUInt instance Enum CUInt instance Eq CUInt instance Integral CUInt instance Num CUInt instance Ord CUInt instance Read CUInt instance Real CUInt instance Show CUInt instance Storable CUInt instance Typeable CUInt data CLong instance Bits CLong instance Bounded CLong instance Enum CLong instance Eq CLong instance Integral CLong instance Num CLong instance Ord CLong instance Read CLong instance Real CLong instance Show CLong instance Storable CLong instance Typeable CLong data CULong instance Bits CULong instance Bounded CULong instance Enum CULong instance Eq CULong instance Integral CULong instance Num CULong instance Ord CULong instance Read CULong instance Real CULong instance Show CULong instance Storable CULong instance Typeable CULong data CPtrdiff instance Bits CPtrdiff instance Bounded CPtrdiff instance Enum CPtrdiff instance Eq CPtrdiff instance Integral CPtrdiff instance Num CPtrdiff instance Ord CPtrdiff instance Read CPtrdiff instance Real CPtrdiff instance Show CPtrdiff instance Storable CPtrdiff instance Typeable CPtrdiff data CSize instance Bits CSize instance Bounded CSize instance Enum CSize instance Eq CSize instance Integral CSize instance Num CSize instance Ord CSize instance Read CSize instance Real CSize instance Show CSize instance Storable CSize instance Typeable CSize data CWchar instance Bits CWchar instance Bounded CWchar instance Enum CWchar instance Eq CWchar instance Integral CWchar instance Num CWchar instance Ord CWchar instance Read CWchar instance Real CWchar instance Show CWchar instance Storable CWchar instance Typeable CWchar data CSigAtomic instance Bits CSigAtomic instance Bounded CSigAtomic instance Enum CSigAtomic instance Eq CSigAtomic instance Integral CSigAtomic instance Num CSigAtomic instance Ord CSigAtomic instance Read CSigAtomic instance Real CSigAtomic instance Show CSigAtomic instance Storable CSigAtomic instance Typeable CSigAtomic data CLLong instance Bits CLLong instance Bounded CLLong instance Enum CLLong instance Eq CLLong instance Integral CLLong instance Num CLLong instance Ord CLLong instance Read CLLong instance Real CLLong instance Show CLLong instance Storable CLLong instance Typeable CLLong data CULLong instance Bits CULLong instance Bounded CULLong instance Enum CULLong instance Eq CULLong instance Integral CULLong instance Num CULLong instance Ord CULLong instance Read CULLong instance Real CULLong instance Show CULLong instance Storable CULLong instance Typeable CULLong data CIntPtr instance Bits CIntPtr instance Bounded CIntPtr instance Enum CIntPtr instance Eq CIntPtr instance Integral CIntPtr instance Num CIntPtr instance Ord CIntPtr instance Read CIntPtr instance Real CIntPtr instance Show CIntPtr instance Storable CIntPtr instance Typeable CIntPtr data CUIntPtr instance Bits CUIntPtr instance Bounded CUIntPtr instance Enum CUIntPtr instance Eq CUIntPtr instance Integral CUIntPtr instance Num CUIntPtr instance Ord CUIntPtr instance Read CUIntPtr instance Real CUIntPtr instance Show CUIntPtr instance Storable CUIntPtr instance Typeable CUIntPtr data CIntMax instance Bits CIntMax instance Bounded CIntMax instance Enum CIntMax instance Eq CIntMax instance Integral CIntMax instance Num CIntMax instance Ord CIntMax instance Read CIntMax instance Real CIntMax instance Show CIntMax instance Storable CIntMax instance Typeable CIntMax data CUIntMax instance Bits CUIntMax instance Bounded CUIntMax instance Enum CUIntMax instance Eq CUIntMax instance Integral CUIntMax instance Num CUIntMax instance Ord CUIntMax instance Read CUIntMax instance Real CUIntMax instance Show CUIntMax instance Storable CUIntMax instance Typeable CUIntMax data CClock instance Enum CClock instance Eq CClock instance Num CClock instance Ord CClock instance Read CClock instance Real CClock instance Show CClock instance Storable CClock instance Typeable CClock data CTime instance Enum CTime instance Eq CTime instance Num CTime instance Ord CTime instance Read CTime instance Real CTime instance Show CTime instance Storable CTime instance Typeable CTime data CFloat instance Enum CFloat instance Eq CFloat instance Floating CFloat instance Fractional CFloat instance Num CFloat instance Ord CFloat instance Read CFloat instance Real CFloat instance RealFloat CFloat instance RealFrac CFloat instance Show CFloat instance Storable CFloat instance Typeable CFloat data CDouble instance Enum CDouble instance Eq CDouble instance Floating CDouble instance Fractional CDouble instance Num CDouble instance Ord CDouble instance Read CDouble instance Real CDouble instance RealFloat CDouble instance RealFrac CDouble instance Show CDouble instance Storable CDouble instance Typeable CDouble data CLDouble instance Enum CLDouble instance Eq CLDouble instance Floating CLDouble instance Fractional CLDouble instance Num CLDouble instance Ord CLDouble instance Read CLDouble instance Real CLDouble instance RealFloat CLDouble instance RealFrac CLDouble instance Show CLDouble instance Storable CLDouble instance Typeable CLDouble data CFile data CFpos data CJmpBuf module Foreign.Storable class Storable a sizeOf :: Storable a => a -> Int alignment :: Storable a => a -> Int peekElemOff :: Storable a => Ptr a -> Int -> IO a pokeElemOff :: Storable a => Ptr a -> Int -> a -> IO () peekByteOff :: Storable a => Ptr b -> Int -> IO a pokeByteOff :: Storable a => Ptr b -> Int -> a -> IO () peek :: Storable a => Ptr a -> IO a poke :: Storable a => Ptr a -> a -> IO () instance Storable Bool instance Storable Char instance Storable Double instance Storable Fd instance Storable Float instance Storable Int instance Storable Int16 instance Storable Int32 instance Storable Int64 instance Storable Int8 instance Storable IntPtr instance Storable Word instance Storable Word16 instance Storable Word32 instance Storable Word64 instance Storable Word8 instance Storable WordPtr instance Storable (FunPtr a) instance Storable (Ptr a) instance Storable (StablePtr a) module Data.Typeable class Typeable a typeOf :: Typeable a => a -> TypeRep instance Typeable ArithException instance Typeable ArrayException instance Typeable AsyncException instance Typeable Bool instance Typeable Char instance Typeable ConsoleEvent instance Typeable DataType instance Typeable Double instance Typeable Dynamic instance Typeable Exception instance Typeable Fd instance Typeable Float instance Typeable Handle instance Typeable IOException instance Typeable Int instance Typeable Int16 instance Typeable Int32 instance Typeable Int64 instance Typeable Int8 instance Typeable IntPtr instance Typeable Integer instance Typeable Ordering instance Typeable QSem instance Typeable QSemN instance Typeable RealWorld instance Typeable ThreadId instance Typeable Timeout instance Typeable TyCon instance Typeable TypeRep instance Typeable Version instance Typeable Word instance Typeable Word16 instance Typeable Word32 instance Typeable Word64 instance Typeable Word8 instance Typeable WordPtr instance Typeable () instance (Typeable1 s, Typeable a) => Typeable (s a) cast :: (Typeable a, Typeable b) => a -> Maybe b gcast :: (Typeable a, Typeable b) => c a -> Maybe (c b) data TypeRep instance Data TypeRep instance Eq TypeRep instance Show TypeRep instance Typeable TypeRep data TyCon instance Data TyCon instance Eq TyCon instance Show TyCon instance Typeable TyCon showsTypeRep :: TypeRep -> ShowS mkTyCon :: String -> TyCon mkTyConApp :: TyCon -> [TypeRep] -> TypeRep mkAppTy :: TypeRep -> TypeRep -> TypeRep mkFunTy :: TypeRep -> TypeRep -> TypeRep splitTyConApp :: TypeRep -> (TyCon, [TypeRep]) funResultTy :: TypeRep -> TypeRep -> Maybe TypeRep typeRepTyCon :: TypeRep -> TyCon typeRepArgs :: TypeRep -> [TypeRep] tyConString :: TyCon -> String typeRepKey :: TypeRep -> IO Int class Typeable1 t typeOf1 :: Typeable1 t => t a -> TypeRep instance Typeable1 Chan instance Typeable1 Complex instance Typeable1 ForeignPtr instance Typeable1 FunPtr instance Typeable1 IO instance Typeable1 IORef instance Typeable1 MVar instance Typeable1 Maybe instance Typeable1 Ptr instance Typeable1 Ratio instance Typeable1 STM instance Typeable1 StableName instance Typeable1 StablePtr instance Typeable1 TVar instance Typeable1 Weak instance Typeable1 [] instance (Typeable2 s, Typeable a) => Typeable1 (s a) class Typeable2 t typeOf2 :: Typeable2 t => t a b -> TypeRep instance Typeable2 Array instance Typeable2 Either instance Typeable2 ST instance Typeable2 STRef instance Typeable2 (,) instance Typeable2 (->) instance (Typeable3 s, Typeable a) => Typeable2 (s a) class Typeable3 t typeOf3 :: Typeable3 t => t a b c -> TypeRep instance Typeable3 STArray instance Typeable3 (,,) instance (Typeable4 s, Typeable a) => Typeable3 (s a) class Typeable4 t typeOf4 :: Typeable4 t => t a b c d -> TypeRep instance Typeable4 (,,,) instance (Typeable5 s, Typeable a) => Typeable4 (s a) class Typeable5 t typeOf5 :: Typeable5 t => t a b c d e -> TypeRep instance Typeable5 (,,,,) instance (Typeable6 s, Typeable a) => Typeable5 (s a) class Typeable6 t typeOf6 :: Typeable6 t => t a b c d e f -> TypeRep instance Typeable6 (,,,,,) instance (Typeable7 s, Typeable a) => Typeable6 (s a) class Typeable7 t typeOf7 :: Typeable7 t => t a b c d e f g -> TypeRep instance Typeable7 (,,,,,,) gcast1 :: (Typeable1 t, Typeable1 t') => c (t a) -> Maybe (c (t' a)) gcast2 :: (Typeable2 t, Typeable2 t') => c (t a b) -> Maybe (c (t' a b)) typeOfDefault :: (Typeable1 t, Typeable a) => t a -> TypeRep typeOf1Default :: (Typeable2 t, Typeable a) => t a b -> TypeRep typeOf2Default :: (Typeable3 t, Typeable a) => t a b c -> TypeRep typeOf3Default :: (Typeable4 t, Typeable a) => t a b c d -> TypeRep typeOf4Default :: (Typeable5 t, Typeable a) => t a b c d e -> TypeRep typeOf5Default :: (Typeable6 t, Typeable a) => t a b c d e f -> TypeRep typeOf6Default :: (Typeable7 t, Typeable a) => t a b c d e f g -> TypeRep module Data.HashTable data HashTable key val new :: (key -> key -> Bool) -> (key -> Int32) -> IO (HashTable key val) insert :: HashTable key val -> key -> val -> IO () delete :: HashTable key val -> key -> IO () lookup :: HashTable key val -> key -> IO (Maybe val) update :: HashTable key val -> key -> val -> IO Bool fromList :: Eq key => (key -> Int32) -> [(key, val)] -> IO (HashTable key val) toList :: HashTable key val -> IO [(key, val)] hashInt :: Int -> Int32 hashString :: String -> Int32 prime :: Int32 longestChain :: HashTable key val -> IO [(key, val)] module Data.Dynamic data Dynamic instance Show Dynamic instance Typeable Dynamic toDyn :: Typeable a => a -> Dynamic fromDyn :: Typeable a => Dynamic -> a -> a fromDynamic :: Typeable a => Dynamic -> Maybe a dynApply :: Dynamic -> Dynamic -> Maybe Dynamic dynApp :: Dynamic -> Dynamic -> Dynamic dynTypeRep :: Dynamic -> TypeRep module Foreign.StablePtr data StablePtr a instance Typeable1 StablePtr instance Typeable a => Data (StablePtr a) instance Eq (StablePtr a) instance Storable (StablePtr a) newStablePtr :: a -> IO (StablePtr a) deRefStablePtr :: StablePtr a -> IO a freeStablePtr :: StablePtr a -> IO () castStablePtrToPtr :: StablePtr a -> Ptr () castPtrToStablePtr :: Ptr () -> StablePtr a module System.IO.Error type IOError = IOException userError :: String -> IOError mkIOError :: IOErrorType -> String -> Maybe Handle -> Maybe FilePath -> IOError annotateIOError :: IOError -> String -> Maybe Handle -> Maybe FilePath -> IOError isAlreadyExistsError :: IOError -> Bool isDoesNotExistError :: IOError -> Bool isAlreadyInUseError :: IOError -> Bool isFullError :: IOError -> Bool isEOFError :: IOError -> Bool isIllegalOperation :: IOError -> Bool isPermissionError :: IOError -> Bool isUserError :: IOError -> Bool ioeGetErrorType :: IOError -> IOErrorType ioeGetLocation :: IOError -> String ioeGetErrorString :: IOError -> String ioeGetHandle :: IOError -> Maybe Handle ioeGetFileName :: IOError -> Maybe FilePath ioeSetErrorType :: IOError -> IOErrorType -> IOError ioeSetErrorString :: IOError -> String -> IOError ioeSetLocation :: IOError -> String -> IOError ioeSetHandle :: IOError -> Handle -> IOError ioeSetFileName :: IOError -> FilePath -> IOError data IOErrorType instance Eq IOErrorType instance Show IOErrorType alreadyExistsErrorType :: IOErrorType doesNotExistErrorType :: IOErrorType alreadyInUseErrorType :: IOErrorType fullErrorType :: IOErrorType eofErrorType :: IOErrorType illegalOperationErrorType :: IOErrorType permissionErrorType :: IOErrorType userErrorType :: IOErrorType isAlreadyExistsErrorType :: IOErrorType -> Bool isDoesNotExistErrorType :: IOErrorType -> Bool isAlreadyInUseErrorType :: IOErrorType -> Bool isFullErrorType :: IOErrorType -> Bool isEOFErrorType :: IOErrorType -> Bool isIllegalOperationErrorType :: IOErrorType -> Bool isPermissionErrorType :: IOErrorType -> Bool isUserErrorType :: IOErrorType -> Bool ioError :: IOError -> IO a catch :: IO a -> (IOError -> IO a) -> IO a try :: IO a -> IO (Either IOError a) modifyIOError :: (IOError -> IOError) -> IO a -> IO a module System.IO.Unsafe unsafePerformIO :: IO a -> a unsafeInterleaveIO :: IO a -> IO a module Foreign.Ptr data Ptr a instance Typeable1 Ptr instance Typeable a => Data (Ptr a) instance Eq (Ptr a) instance Ord (Ptr a) instance Show (Ptr a) instance Storable (Ptr a) nullPtr :: Ptr a castPtr :: Ptr a -> Ptr b plusPtr :: Ptr a -> Int -> Ptr b alignPtr :: Ptr a -> Int -> Ptr a minusPtr :: Ptr a -> Ptr b -> Int data FunPtr a instance Typeable1 FunPtr instance Eq (FunPtr a) instance Ord (FunPtr a) instance Show (FunPtr a) instance Storable (FunPtr a) nullFunPtr :: FunPtr a castFunPtr :: FunPtr a -> FunPtr b castFunPtrToPtr :: FunPtr a -> Ptr b castPtrToFunPtr :: Ptr a -> FunPtr b freeHaskellFunPtr :: FunPtr a -> IO () data IntPtr instance Bits IntPtr instance Bounded IntPtr instance Enum IntPtr instance Eq IntPtr instance Integral IntPtr instance Num IntPtr instance Ord IntPtr instance Read IntPtr instance Real IntPtr instance Show IntPtr instance Storable IntPtr instance Typeable IntPtr ptrToIntPtr :: Ptr a -> IntPtr intPtrToPtr :: IntPtr -> Ptr a data WordPtr instance Bits WordPtr instance Bounded WordPtr instance Enum WordPtr instance Eq WordPtr instance Integral WordPtr instance Num WordPtr instance Ord WordPtr instance Read WordPtr instance Real WordPtr instance Show WordPtr instance Storable WordPtr instance Typeable WordPtr ptrToWordPtr :: Ptr a -> WordPtr wordPtrToPtr :: WordPtr -> Ptr a module Foreign.Marshal.Error throwIf :: (a -> Bool) -> (a -> String) -> IO a -> IO a throwIf_ :: (a -> Bool) -> (a -> String) -> IO a -> IO () throwIfNeg :: (Ord a, Num a) => (a -> String) -> IO a -> IO a throwIfNeg_ :: (Ord a, Num a) => (a -> String) -> IO a -> IO () throwIfNull :: String -> IO (Ptr a) -> IO (Ptr a) void :: IO a -> IO () module Foreign.Concurrent newForeignPtr :: Ptr a -> IO () -> IO (ForeignPtr a) addForeignPtrFinalizer :: ForeignPtr a -> IO () -> IO () module Foreign.ForeignPtr data ForeignPtr a instance Typeable a => Data (ForeignPtr a) instance Eq (ForeignPtr a) instance Ord (ForeignPtr a) instance Show (ForeignPtr a) type FinalizerPtr a = FunPtr (Ptr a -> IO ()) type FinalizerEnvPtr env a = FunPtr (Ptr env -> Ptr a -> IO ()) newForeignPtr :: FinalizerPtr a -> Ptr a -> IO (ForeignPtr a) newForeignPtr_ :: Ptr a -> IO (ForeignPtr a) addForeignPtrFinalizer :: FinalizerPtr a -> ForeignPtr a -> IO () newForeignPtrEnv :: FinalizerEnvPtr env a -> Ptr env -> Ptr a -> IO (ForeignPtr a) addForeignPtrFinalizerEnv :: FinalizerEnvPtr env a -> Ptr env -> ForeignPtr a -> IO () withForeignPtr :: ForeignPtr a -> (Ptr a -> IO b) -> IO b finalizeForeignPtr :: ForeignPtr a -> IO () unsafeForeignPtrToPtr :: ForeignPtr a -> Ptr a touchForeignPtr :: ForeignPtr a -> IO () castForeignPtr :: ForeignPtr a -> ForeignPtr b mallocForeignPtr :: Storable a => IO (ForeignPtr a) mallocForeignPtrBytes :: Int -> IO (ForeignPtr a) mallocForeignPtrArray :: Storable a => Int -> IO (ForeignPtr a) mallocForeignPtrArray0 :: Storable a => Int -> IO (ForeignPtr a) module Foreign.Marshal.Alloc alloca :: Storable a => (Ptr a -> IO b) -> IO b allocaBytes :: Int -> (Ptr a -> IO b) -> IO b malloc :: Storable a => IO (Ptr a) mallocBytes :: Int -> IO (Ptr a) realloc :: Storable b => Ptr a -> IO (Ptr b) reallocBytes :: Ptr a -> Int -> IO (Ptr a) free :: Ptr a -> IO () finalizerFree :: FinalizerPtr a module Foreign.Marshal.Utils with :: Storable a => a -> (Ptr a -> IO b) -> IO b new :: Storable a => a -> IO (Ptr a) fromBool :: Num a => Bool -> a toBool :: Num a => a -> Bool maybeNew :: (a -> IO (Ptr a)) -> Maybe a -> IO (Ptr a) maybeWith :: (a -> (Ptr b -> IO c) -> IO c) -> Maybe a -> (Ptr b -> IO c) -> IO c maybePeek :: (Ptr a -> IO b) -> Ptr a -> IO (Maybe b) withMany :: (a -> (b -> res) -> res) -> [a] -> ([b] -> res) -> res copyBytes :: Ptr a -> Ptr a -> Int -> IO () moveBytes :: Ptr a -> Ptr a -> Int -> IO () module Foreign.Marshal.Array mallocArray :: Storable a => Int -> IO (Ptr a) mallocArray0 :: Storable a => Int -> IO (Ptr a) allocaArray :: Storable a => Int -> (Ptr a -> IO b) -> IO b allocaArray0 :: Storable a => Int -> (Ptr a -> IO b) -> IO b reallocArray :: Storable a => Ptr a -> Int -> IO (Ptr a) reallocArray0 :: Storable a => Ptr a -> Int -> IO (Ptr a) peekArray :: Storable a => Int -> Ptr a -> IO [a] peekArray0 :: (Storable a, Eq a) => a -> Ptr a -> IO [a] pokeArray :: Storable a => Ptr a -> [a] -> IO () pokeArray0 :: Storable a => a -> Ptr a -> [a] -> IO () newArray :: Storable a => [a] -> IO (Ptr a) newArray0 :: Storable a => a -> [a] -> IO (Ptr a) withArray :: Storable a => [a] -> (Ptr a -> IO b) -> IO b withArray0 :: Storable a => a -> [a] -> (Ptr a -> IO b) -> IO b withArrayLen :: Storable a => [a] -> (Int -> Ptr a -> IO b) -> IO b withArrayLen0 :: Storable a => a -> [a] -> (Int -> Ptr a -> IO b) -> IO b copyArray :: Storable a => Ptr a -> Ptr a -> Int -> IO () moveArray :: Storable a => Ptr a -> Ptr a -> Int -> IO () lengthArray0 :: (Storable a, Eq a) => a -> Ptr a -> IO Int advancePtr :: Storable a => Ptr a -> Int -> Ptr a module Foreign.C.String type CString = Ptr CChar type CStringLen = (Ptr CChar, Int) peekCString :: CString -> IO String peekCStringLen :: CStringLen -> IO String newCString :: String -> IO CString newCStringLen :: String -> IO CStringLen withCString :: String -> (CString -> IO a) -> IO a withCStringLen :: String -> (CStringLen -> IO a) -> IO a charIsRepresentable :: Char -> IO Bool castCharToCChar :: Char -> CChar castCCharToChar :: CChar -> Char peekCAString :: CString -> IO String peekCAStringLen :: CStringLen -> IO String newCAString :: String -> IO CString newCAStringLen :: String -> IO CStringLen withCAString :: String -> (CString -> IO a) -> IO a withCAStringLen :: String -> (CStringLen -> IO a) -> IO a type CWString = Ptr CWchar type CWStringLen = (Ptr CWchar, Int) peekCWString :: CWString -> IO String peekCWStringLen :: CWStringLen -> IO String newCWString :: String -> IO CWString newCWStringLen :: String -> IO CWStringLen withCWString :: String -> (CWString -> IO a) -> IO a withCWStringLen :: String -> (CWStringLen -> IO a) -> IO a module Foreign.C.Error newtype Errno Errno :: CInt -> Errno instance Eq Errno eOK :: Errno e2BIG :: Errno eACCES :: Errno eADDRINUSE :: Errno eADDRNOTAVAIL :: Errno eADV :: Errno eAFNOSUPPORT :: Errno eAGAIN :: Errno eALREADY :: Errno eBADF :: Errno eBADMSG :: Errno eBADRPC :: Errno eBUSY :: Errno eCHILD :: Errno eCOMM :: Errno eCONNABORTED :: Errno eCONNREFUSED :: Errno eCONNRESET :: Errno eDEADLK :: Errno eDESTADDRREQ :: Errno eDIRTY :: Errno eDOM :: Errno eDQUOT :: Errno eEXIST :: Errno eFAULT :: Errno eFBIG :: Errno eFTYPE :: Errno eHOSTDOWN :: Errno eHOSTUNREACH :: Errno eIDRM :: Errno eILSEQ :: Errno eINPROGRESS :: Errno eINTR :: Errno eINVAL :: Errno eIO :: Errno eISCONN :: Errno eISDIR :: Errno eLOOP :: Errno eMFILE :: Errno eMLINK :: Errno eMSGSIZE :: Errno eMULTIHOP :: Errno eNAMETOOLONG :: Errno eNETDOWN :: Errno eNETRESET :: Errno eNETUNREACH :: Errno eNFILE :: Errno eNOBUFS :: Errno eNODATA :: Errno eNODEV :: Errno eNOENT :: Errno eNOEXEC :: Errno eNOLCK :: Errno eNOLINK :: Errno eNOMEM :: Errno eNOMSG :: Errno eNONET :: Errno eNOPROTOOPT :: Errno eNOSPC :: Errno eNOSR :: Errno eNOSTR :: Errno eNOSYS :: Errno eNOTBLK :: Errno eNOTCONN :: Errno eNOTDIR :: Errno eNOTEMPTY :: Errno eNOTSOCK :: Errno eNOTTY :: Errno eNXIO :: Errno eOPNOTSUPP :: Errno ePERM :: Errno ePFNOSUPPORT :: Errno ePIPE :: Errno ePROCLIM :: Errno ePROCUNAVAIL :: Errno ePROGMISMATCH :: Errno ePROGUNAVAIL :: Errno ePROTO :: Errno ePROTONOSUPPORT :: Errno ePROTOTYPE :: Errno eRANGE :: Errno eREMCHG :: Errno eREMOTE :: Errno eROFS :: Errno eRPCMISMATCH :: Errno eRREMOTE :: Errno eSHUTDOWN :: Errno eSOCKTNOSUPPORT :: Errno eSPIPE :: Errno eSRCH :: Errno eSRMNT :: Errno eSTALE :: Errno eTIME :: Errno eTIMEDOUT :: Errno eTOOMANYREFS :: Errno eTXTBSY :: Errno eUSERS :: Errno eWOULDBLOCK :: Errno eXDEV :: Errno isValidErrno :: Errno -> Bool getErrno :: IO Errno resetErrno :: IO () errnoToIOError :: String -> Errno -> Maybe Handle -> Maybe String -> IOError throwErrno :: String -> IO a throwErrnoIf :: (a -> Bool) -> String -> IO a -> IO a throwErrnoIf_ :: (a -> Bool) -> String -> IO a -> IO () throwErrnoIfRetry :: (a -> Bool) -> String -> IO a -> IO a throwErrnoIfRetry_ :: (a -> Bool) -> String -> IO a -> IO () throwErrnoIfMinus1 :: Num a => String -> IO a -> IO a throwErrnoIfMinus1_ :: Num a => String -> IO a -> IO () throwErrnoIfMinus1Retry :: Num a => String -> IO a -> IO a throwErrnoIfMinus1Retry_ :: Num a => String -> IO a -> IO () throwErrnoIfNull :: String -> IO (Ptr a) -> IO (Ptr a) throwErrnoIfNullRetry :: String -> IO (Ptr a) -> IO (Ptr a) throwErrnoIfRetryMayBlock :: (a -> Bool) -> String -> IO a -> IO b -> IO a throwErrnoIfRetryMayBlock_ :: (a -> Bool) -> String -> IO a -> IO b -> IO () throwErrnoIfMinus1RetryMayBlock :: Num a => String -> IO a -> IO b -> IO a throwErrnoIfMinus1RetryMayBlock_ :: Num a => String -> IO a -> IO b -> IO () throwErrnoIfNullRetryMayBlock :: String -> IO (Ptr a) -> IO b -> IO (Ptr a) throwErrnoPath :: String -> FilePath -> IO a throwErrnoPathIf :: (a -> Bool) -> String -> FilePath -> IO a -> IO a throwErrnoPathIf_ :: (a -> Bool) -> String -> FilePath -> IO a -> IO () throwErrnoPathIfNull :: String -> FilePath -> IO (Ptr a) -> IO (Ptr a) throwErrnoPathIfMinus1 :: Num a => String -> FilePath -> IO a -> IO a throwErrnoPathIfMinus1_ :: Num a => String -> FilePath -> IO a -> IO () module Foreign.C module Foreign.Marshal.Pool data Pool newPool :: IO Pool freePool :: Pool -> IO () withPool :: (Pool -> IO b) -> IO b pooledMalloc :: Storable a => Pool -> IO (Ptr a) pooledMallocBytes :: Pool -> Int -> IO (Ptr a) pooledRealloc :: Storable a => Pool -> Ptr a -> IO (Ptr a) pooledReallocBytes :: Pool -> Ptr a -> Int -> IO (Ptr a) pooledMallocArray :: Storable a => Pool -> Int -> IO (Ptr a) pooledMallocArray0 :: Storable a => Pool -> Int -> IO (Ptr a) pooledReallocArray :: Storable a => Pool -> Ptr a -> Int -> IO (Ptr a) pooledReallocArray0 :: Storable a => Pool -> Ptr a -> Int -> IO (Ptr a) pooledNew :: Storable a => Pool -> a -> IO (Ptr a) pooledNewArray :: Storable a => Pool -> [a] -> IO (Ptr a) pooledNewArray0 :: Storable a => Pool -> a -> [a] -> IO (Ptr a) module Foreign.Marshal module Foreign unsafePerformIO :: IO a -> a module System.Posix.Types newtype Fd Fd :: CInt -> Fd instance Bits Fd instance Bounded Fd instance Enum Fd instance Eq Fd instance Integral Fd instance Num Fd instance Ord Fd instance Read Fd instance Real Fd instance Show Fd instance Storable Fd instance Typeable Fd type ByteCount = CSize type ClockTick = CClock type EpochTime = CTime type FileOffset = COff type ProcessID = CPid type ProcessGroupID = CPid type DeviceID = CDev type FileID = CIno type FileMode = CMode type Limit = CLong module GHC.Conc data ThreadId ThreadId :: ThreadId# -> ThreadId instance Data ThreadId instance Eq ThreadId instance Ord ThreadId instance Show ThreadId instance Typeable ThreadId forkIO :: IO () -> IO ThreadId forkOnIO :: Int -> IO () -> IO ThreadId numCapabilities :: Int childHandler :: Exception -> IO () myThreadId :: IO ThreadId killThread :: ThreadId -> IO () throwTo :: ThreadId -> Exception -> IO () par :: a -> b -> b pseq :: a -> b -> b yield :: IO () labelThread :: ThreadId -> String -> IO () threadDelay :: Int -> IO () registerDelay :: Int -> IO (TVar Bool) threadWaitRead :: Fd -> IO () threadWaitWrite :: Fd -> IO () data MVar a instance Typeable1 MVar instance Typeable a => Data (MVar a) instance Eq (MVar a) newMVar :: a -> IO (MVar a) newEmptyMVar :: IO (MVar a) takeMVar :: MVar a -> IO a putMVar :: MVar a -> a -> IO () tryTakeMVar :: MVar a -> IO (Maybe a) tryPutMVar :: MVar a -> a -> IO Bool isEmptyMVar :: MVar a -> IO Bool addMVarFinalizer :: MVar a -> IO () -> IO () data STM a instance Functor STM instance Monad STM instance Typeable1 STM instance Typeable a => Data (STM a) atomically :: STM a -> IO a retry :: STM a orElse :: STM a -> STM a -> STM a catchSTM :: STM a -> (Exception -> STM a) -> STM a alwaysSucceeds :: STM a -> STM () always :: STM Bool -> STM () data TVar a instance Typeable1 TVar instance Typeable a => Data (TVar a) instance Eq (TVar a) newTVar :: a -> STM (TVar a) newTVarIO :: a -> IO (TVar a) readTVar :: TVar a -> STM a writeTVar :: TVar a -> a -> STM () unsafeIOToSTM :: IO a -> STM a asyncRead :: Int -> Int -> Int -> Ptr a -> IO (Int, Int) asyncWrite :: Int -> Int -> Int -> Ptr a -> IO (Int, Int) asyncDoProc :: FunPtr (Ptr a -> IO Int) -> Ptr a -> IO Int asyncReadBA :: Int -> Int -> Int -> Int -> MutableByteArray# RealWorld -> IO (Int, Int) asyncWriteBA :: Int -> Int -> Int -> Int -> MutableByteArray# RealWorld -> IO (Int, Int) ensureIOManagerIsRunning :: IO () data ConsoleEvent ControlC :: ConsoleEvent Break :: ConsoleEvent Close :: ConsoleEvent Logoff :: ConsoleEvent Shutdown :: ConsoleEvent instance Enum ConsoleEvent instance Eq ConsoleEvent instance Ord ConsoleEvent instance Read ConsoleEvent instance Show ConsoleEvent instance Typeable ConsoleEvent win32ConsoleHandler :: MVar (ConsoleEvent -> IO ()) module System.IO data IO a instance Applicative IO instance Functor IO instance Monad IO instance MonadFix IO instance Typeable1 IO instance Typeable a => Data (IO a) instance HPrintfType (IO a) instance PrintfType (IO a) fixIO :: (a -> IO a) -> IO a type FilePath = String data Handle instance Data Handle instance Eq Handle instance Show Handle instance Typeable Handle stdin :: Handle stdout :: Handle stderr :: Handle withFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r openFile :: FilePath -> IOMode -> IO Handle data IOMode ReadMode :: IOMode WriteMode :: IOMode AppendMode :: IOMode ReadWriteMode :: IOMode instance Enum IOMode instance Eq IOMode instance Ix IOMode instance Ord IOMode instance Read IOMode instance Show IOMode hClose :: Handle -> IO () readFile :: FilePath -> IO String writeFile :: FilePath -> String -> IO () appendFile :: FilePath -> String -> IO () hFileSize :: Handle -> IO Integer hSetFileSize :: Handle -> Integer -> IO () hIsEOF :: Handle -> IO Bool isEOF :: IO Bool data BufferMode NoBuffering :: BufferMode LineBuffering :: BufferMode BlockBuffering :: Maybe Int -> BufferMode instance Eq BufferMode instance Ord BufferMode instance Read BufferMode instance Show BufferMode hSetBuffering :: Handle -> BufferMode -> IO () hGetBuffering :: Handle -> IO BufferMode hFlush :: Handle -> IO () hGetPosn :: Handle -> IO HandlePosn hSetPosn :: HandlePosn -> IO () data HandlePosn instance Eq HandlePosn instance Show HandlePosn hSeek :: Handle -> SeekMode -> Integer -> IO () data SeekMode AbsoluteSeek :: SeekMode RelativeSeek :: SeekMode SeekFromEnd :: SeekMode instance Enum SeekMode instance Eq SeekMode instance Ix SeekMode instance Ord SeekMode instance Read SeekMode instance Show SeekMode hTell :: Handle -> IO Integer hIsOpen :: Handle -> IO Bool hIsClosed :: Handle -> IO Bool hIsReadable :: Handle -> IO Bool hIsWritable :: Handle -> IO Bool hIsSeekable :: Handle -> IO Bool hIsTerminalDevice :: Handle -> IO Bool hSetEcho :: Handle -> Bool -> IO () hGetEcho :: Handle -> IO Bool hShow :: Handle -> IO String hWaitForInput :: Handle -> Int -> IO Bool hReady :: Handle -> IO Bool hGetChar :: Handle -> IO Char hGetLine :: Handle -> IO String hLookAhead :: Handle -> IO Char hGetContents :: Handle -> IO String hPutChar :: Handle -> Char -> IO () hPutStr :: Handle -> String -> IO () hPutStrLn :: Handle -> String -> IO () hPrint :: Show a => Handle -> a -> IO () interact :: (String -> String) -> IO () putChar :: Char -> IO () putStr :: String -> IO () putStrLn :: String -> IO () print :: Show a => a -> IO () getChar :: IO Char getLine :: IO String getContents :: IO String readIO :: Read a => String -> IO a readLn :: Read a => IO a withBinaryFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r openBinaryFile :: FilePath -> IOMode -> IO Handle hSetBinaryMode :: Handle -> Bool -> IO () hPutBuf :: Handle -> Ptr a -> Int -> IO () hGetBuf :: Handle -> Ptr a -> Int -> IO Int hPutBufNonBlocking :: Handle -> Ptr a -> Int -> IO Int hGetBufNonBlocking :: Handle -> Ptr a -> Int -> IO Int openTempFile :: FilePath -> String -> IO (FilePath, Handle) openBinaryTempFile :: FilePath -> String -> IO (FilePath, Handle) module GHC.Dotnet data Object a unmarshalObject :: Addr# -> Object a marshalObject :: Object a -> (Addr# -> IO b) -> IO b unmarshalString :: Addr# -> String marshalString :: String -> (Addr# -> IO a) -> IO a checkResult :: (State# RealWorld -> (State# RealWorld, a, Addr#)) -> IO a module Text.Read class Read a readsPrec :: Read a => Int -> ReadS a readList :: Read a => ReadS [a] readPrec :: Read a => ReadPrec a readListPrec :: Read a => ReadPrec [a] instance Read All instance Read Any instance Read Bool instance Read BufferMode instance Read CChar instance Read CClock instance Read CDouble instance Read CFloat instance Read CInt instance Read CIntMax instance Read CIntPtr instance Read CLDouble instance Read CLLong instance Read CLong instance Read CPtrdiff instance Read CSChar instance Read CShort instance Read CSigAtomic instance Read CSize instance Read CTime instance Read CUChar instance Read CUInt instance Read CUIntMax instance Read CUIntPtr instance Read CULLong instance Read CULong instance Read CUShort instance Read CWchar instance Read Char instance Read ConsoleEvent instance Read Double instance Read ExitCode instance Read Fd instance Read Float instance Read GeneralCategory instance Read IOMode instance Read Int instance Read Int16 instance Read Int32 instance Read Int64 instance Read Int8 instance Read IntPtr instance Read Integer instance Read Lexeme instance Read Ordering instance Read SeekMode instance Read Version instance Read Word instance Read Word16 instance Read Word32 instance Read Word64 instance Read Word8 instance Read WordPtr instance Read () instance (Read a, Read b) => Read (a, b) instance (Read a, Read b, Read c) => Read (a, b, c) instance (Read a, Read b, Read c, Read d) => Read (a, b, c, d) instance (Read a, Read b, Read c, Read d, Read e) => Read (a, b, c, d, e) instance (Read a, Read b, Read c, Read d, Read e, Read f) => Read (a, b, c, d, e, f) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g) => Read (a, b, c, d, e, f, g) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h) => Read (a, b, c, d, e, f, g, h) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i) => Read (a, b, c, d, e, f, g, h, i) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j) => Read (a, b, c, d, e, f, g, h, i, j) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k) => Read (a, b, c, d, e, f, g, h, i, j, k) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k, Read l) => Read (a, b, c, d, e, f, g, h, i, j, k, l) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k, Read l, Read m) => Read (a, b, c, d, e, f, g, h, i, j, k, l, m) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k, Read l, Read m, Read n) => Read (a, b, c, d, e, f, g, h, i, j, k, l, m, n) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k, Read l, Read m, Read n, Read o) => Read (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) instance (RealFloat a, Read a) => Read (Complex a) instance Read a => Read (Dual a) instance Read a => Read (First a) instance Read a => Read (Last a) instance Read a => Read (Maybe a) instance Read a => Read (Product a) instance (Integral a, Read a) => Read (Ratio a) instance Read a => Read (Sum a) instance Read a => Read [a] instance (Ix a, Read a, Read b) => Read (Array a b) instance (Read a, Read b) => Read (Either a b) type ReadS a = String -> [(a, String)] reads :: Read a => ReadS a read :: Read a => String -> a readParen :: Bool -> ReadS a -> ReadS a lex :: ReadS String data Lexeme Char :: Char -> Lexeme String :: String -> Lexeme Punc :: String -> Lexeme Ident :: String -> Lexeme Symbol :: String -> Lexeme Int :: Integer -> Lexeme Rat :: Rational -> Lexeme EOF :: Lexeme instance Eq Lexeme instance Read Lexeme instance Show Lexeme lexP :: ReadPrec Lexeme parens :: ReadPrec a -> ReadPrec a readListDefault :: Read a => ReadS [a] readListPrecDefault :: Read a => ReadPrec [a] module Prelude data Bool False :: Bool True :: Bool instance Bounded Bool instance Data Bool instance Enum Bool instance Eq Bool instance Ix Bool instance Ord Bool instance Read Bool instance Show Bool instance Storable Bool instance Typeable Bool (&&) :: Bool -> Bool -> Bool (||) :: Bool -> Bool -> Bool not :: Bool -> Bool otherwise :: Bool data Maybe a Nothing :: Maybe a Just :: a -> Maybe a instance Alternative Maybe instance Applicative Maybe instance Foldable Maybe instance Functor Maybe instance Monad Maybe instance MonadFix Maybe instance MonadPlus Maybe instance Traversable Maybe instance Typeable1 Maybe instance Data a => Data (Maybe a) instance Eq a => Eq (Maybe a) instance Monoid a => Monoid (Maybe a) instance Ord a => Ord (Maybe a) instance Read a => Read (Maybe a) instance Show a => Show (Maybe a) maybe :: b -> (a -> b) -> Maybe a -> b data Either a b Left :: a -> Either a b Right :: b -> Either a b instance Typeable2 Either instance Functor (Either a) instance (Data a, Data b) => Data (Either a b) instance (Eq a, Eq b) => Eq (Either a b) instance (Ord a, Ord b) => Ord (Either a b) instance (Read a, Read b) => Read (Either a b) instance (Show a, Show b) => Show (Either a b) either :: (a -> c) -> (b -> c) -> Either a b -> c data Ordering LT :: Ordering EQ :: Ordering instance Bounded Ordering instance Data Ordering instance Enum Ordering instance Eq Ordering instance Ix Ordering instance Monoid Ordering instance Ord Ordering instance Read Ordering instance Show Ordering instance Typeable Ordering data Char instance Bounded Char instance Data Char instance Enum Char instance Eq Char instance IsChar Char instance Ix Char instance Ord Char instance PrintfArg Char instance Read Char instance Show Char instance Storable Char instance Typeable Char instance IsString [Char] type String = [Char] fst :: (a, b) -> a snd :: (a, b) -> b curry :: ((a, b) -> c) -> a -> b -> c uncurry :: (a -> b -> c) -> (a, b) -> c class Eq a (==) :: Eq a => a -> a -> Bool (/=) :: Eq a => a -> a -> Bool instance Eq All instance Eq Any instance Eq ArithException instance Eq ArrayException instance Eq AsyncException instance Eq Bool instance Eq BufferMode instance Eq BufferState instance Eq CChar instance Eq CClock instance Eq CDouble instance Eq CFloat instance Eq CInt instance Eq CIntMax instance Eq CIntPtr instance Eq CLDouble instance Eq CLLong instance Eq CLong instance Eq CPtrdiff instance Eq CSChar instance Eq CShort instance Eq CSigAtomic instance Eq CSize instance Eq CTime instance Eq CUChar instance Eq CUInt instance Eq CUIntMax instance Eq CUIntPtr instance Eq CULLong instance Eq CULong instance Eq CUShort instance Eq CWchar instance Eq Char instance Eq ConsoleEvent instance Eq Constr instance Eq ConstrRep instance Eq DataRep instance Eq Double instance Eq Errno instance Eq Exception instance Eq ExitCode instance Eq FDType instance Eq Fd instance Eq Fixity instance Eq Float instance Eq GeneralCategory instance Eq Handle instance Eq HandlePosn instance Eq HashData instance Eq IOErrorType instance Eq IOException instance Eq IOMode instance Eq Inserts instance Eq Int instance Eq Int16 instance Eq Int32 instance Eq Int64 instance Eq Int8 instance Eq IntPtr instance Eq Integer instance Eq Key instance Eq KeyPr instance Eq Lexeme instance Eq Ordering instance Eq SeekMode instance Eq ThreadId instance Eq Timeout instance Eq TyCon instance Eq TypeRep instance Eq Unique instance Eq Version instance Eq Word instance Eq Word16 instance Eq Word32 instance Eq Word64 instance Eq Word8 instance Eq WordPtr instance Eq () instance (Eq a, Eq b) => Eq (a, b) instance (Eq a, Eq b, Eq c) => Eq (a, b, c) instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d) instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e) instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f) => Eq (a, b, c, d, e, f) instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g) => Eq (a, b, c, d, e, f, g) instance (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 (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 (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 (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 (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 (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 (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 (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 (RealFloat a, Eq a) => Eq (Complex a) instance Eq a => Eq (Dual a) instance Eq a => Eq (First a) instance Eq (Fixed a) instance Eq (ForeignPtr a) instance Eq (FunPtr a) instance Eq (IORef a) instance Eq a => Eq (Last a) instance Eq (MVar a) instance Eq a => Eq (Maybe a) instance Eq a => Eq (Product a) instance Eq (Ptr a) instance (Integral a, Eq a) => Eq (Ratio a) instance Eq (StableName a) instance Eq (StablePtr a) instance Eq a => Eq (Sum a) instance Eq (TVar a) instance Eq a => Eq [a] instance (Ix i, Eq e) => Eq (Array i e) instance (Eq a, Eq b) => Eq (Either a b) instance Eq (IOArray i e) instance Eq (STRef s a) instance Eq (STArray s i e) class Eq a => Ord a compare :: Ord a => a -> a -> Ordering (<) :: Ord a => a -> a -> Bool (<=) :: Ord a => a -> a -> Bool (>) :: Ord a => a -> a -> Bool (>=) :: Ord a => a -> a -> Bool max :: Ord a => a -> a -> a min :: Ord a => a -> a -> a instance Ord All instance Ord Any instance Ord ArithException instance Ord ArrayException instance Ord AsyncException instance Ord Bool instance Ord BufferMode instance Ord CChar instance Ord CClock instance Ord CDouble instance Ord CFloat instance Ord CInt instance Ord CIntMax instance Ord CIntPtr instance Ord CLDouble instance Ord CLLong instance Ord CLong instance Ord CPtrdiff instance Ord CSChar instance Ord CShort instance Ord CSigAtomic instance Ord CSize instance Ord CTime instance Ord CUChar instance Ord CUInt instance Ord CUIntMax instance Ord CUIntPtr instance Ord CULLong instance Ord CULong instance Ord CUShort instance Ord CWchar instance Ord Char instance Ord ConsoleEvent instance Ord Double instance Ord ExitCode instance Ord Fd instance Ord Float instance Ord GeneralCategory instance Ord IOMode instance Ord Int instance Ord Int16 instance Ord Int32 instance Ord Int64 instance Ord Int8 instance Ord IntPtr instance Ord Integer instance Ord Ordering instance Ord SeekMode instance Ord ThreadId instance Ord Unique instance Ord Version instance Ord Word instance Ord Word16 instance Ord Word32 instance Ord Word64 instance Ord Word8 instance Ord WordPtr instance Ord () instance (Ord a, Ord b) => Ord (a, b) instance (Ord a, Ord b, Ord c) => Ord (a, b, c) instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d) instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e) instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord (a, b, c, d, e, f) instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => Ord (a, b, c, d, e, f, g) instance (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 (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 (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 (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 (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 (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 (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 (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 Ord a => Ord (Dual a) instance Ord a => Ord (First a) instance Ord (Fixed a) instance Ord (ForeignPtr a) instance Ord (FunPtr a) instance Ord a => Ord (Last a) instance Ord a => Ord (Maybe a) instance Ord a => Ord (Product a) instance Ord (Ptr a) instance Integral a => Ord (Ratio a) instance Ord a => Ord (Sum a) instance Ord a => Ord [a] instance (Ix i, Ord e) => Ord (Array i e) instance (Ord a, Ord b) => Ord (Either a b) class Enum a succ :: Enum a => a -> a pred :: Enum a => a -> a toEnum :: Enum a => Int -> a fromEnum :: Enum a => a -> Int enumFrom :: Enum a => a -> [a] enumFromThen :: Enum a => a -> a -> [a] enumFromTo :: Enum a => a -> a -> [a] enumFromThenTo :: Enum a => a -> a -> a -> [a] instance Enum Bool instance Enum CChar instance Enum CClock instance Enum CDouble instance Enum CFloat instance Enum CInt instance Enum CIntMax instance Enum CIntPtr instance Enum CLDouble instance Enum CLLong instance Enum CLong instance Enum CPtrdiff instance Enum CSChar instance Enum CShort instance Enum CSigAtomic instance Enum CSize instance Enum CTime instance Enum CUChar instance Enum CUInt instance Enum CUIntMax instance Enum CUIntPtr instance Enum CULLong instance Enum CULong instance Enum CUShort instance Enum CWchar instance Enum Char instance Enum ConsoleEvent instance Enum Double instance Enum Fd instance Enum Float instance Enum GeneralCategory instance Enum IOMode instance Enum Int instance Enum Int16 instance Enum Int32 instance Enum Int64 instance Enum Int8 instance Enum IntPtr instance Enum Integer instance Enum Ordering instance Enum SeekMode instance Enum Word instance Enum Word16 instance Enum Word32 instance Enum Word64 instance Enum Word8 instance Enum WordPtr instance Enum () instance Enum (Fixed a) instance Integral a => Enum (Ratio a) class Bounded a minBound :: Bounded a => a maxBound :: Bounded a => a instance Bounded All instance Bounded Any instance Bounded Bool instance Bounded CChar instance Bounded CInt instance Bounded CIntMax instance Bounded CIntPtr instance Bounded CLLong instance Bounded CLong instance Bounded CPtrdiff instance Bounded CSChar instance Bounded CShort instance Bounded CSigAtomic instance Bounded CSize instance Bounded CUChar instance Bounded CUInt instance Bounded CUIntMax instance Bounded CUIntPtr instance Bounded CULLong instance Bounded CULong instance Bounded CUShort instance Bounded CWchar instance Bounded Char instance Bounded Fd instance Bounded GeneralCategory instance Bounded Int instance Bounded Int16 instance Bounded Int32 instance Bounded Int64 instance Bounded Int8 instance Bounded IntPtr instance Bounded Ordering instance Bounded Word instance Bounded Word16 instance Bounded Word32 instance Bounded Word64 instance Bounded Word8 instance Bounded WordPtr instance Bounded () instance (Bounded a, Bounded b) => Bounded (a, b) instance (Bounded a, Bounded b, Bounded c) => Bounded (a, b, c) instance (Bounded a, Bounded b, Bounded c, Bounded d) => Bounded (a, b, c, d) instance (Bounded a, Bounded b, Bounded c, Bounded d, Bounded e) => Bounded (a, b, c, d, e) instance (Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f) => Bounded (a, b, c, d, e, f) instance (Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g) => Bounded (a, b, c, d, e, f, g) instance (Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h) => Bounded (a, b, c, d, e, f, g, h) instance (Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i) => Bounded (a, b, c, d, e, f, g, h, i) instance (Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j) => Bounded (a, b, c, d, e, f, g, h, i, j) instance (Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k) => Bounded (a, b, c, d, e, f, g, h, i, j, k) instance (Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l) => Bounded (a, b, c, d, e, f, g, h, i, j, k, l) instance (Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l, Bounded m) => Bounded (a, b, c, d, e, f, g, h, i, j, k, l, m) instance (Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l, Bounded m, Bounded n) => Bounded (a, b, c, d, e, f, g, h, i, j, k, l, m, n) instance (Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l, Bounded m, Bounded n, Bounded o) => Bounded (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) instance Bounded a => Bounded (Dual a) instance Bounded a => Bounded (Product a) instance Bounded a => Bounded (Sum a) data Int instance Bits Int instance Bounded Int instance Data Int instance Enum Int instance Eq Int instance Integral Int instance Ix Int instance Num Int instance Ord Int instance PrintfArg Int instance Read Int instance Real Int instance Show Int instance Storable Int instance Typeable Int data Integer instance Bits Integer instance Data Integer instance Enum Integer instance Eq Integer instance Integral Integer instance Ix Integer instance Num Integer instance Ord Integer instance PrintfArg Integer instance Read Integer instance Real Integer instance Show Integer instance Typeable Integer data Float instance Data Float instance Enum Float instance Eq Float instance Floating Float instance Fractional Float instance Num Float instance Ord Float instance PrintfArg Float instance Read Float instance Real Float instance RealFloat Float instance RealFrac Float instance Show Float instance Storable Float instance Typeable Float data Double instance Data Double instance Enum Double instance Eq Double instance Floating Double instance Fractional Double instance Num Double instance Ord Double instance PrintfArg Double instance Read Double instance Real Double instance RealFloat Double instance RealFrac Double instance Show Double instance Storable Double instance Typeable Double type Rational = Ratio Integer class (Eq a, Show a) => Num a (+) :: Num a => a -> a -> a (-) :: Num a => a -> a -> a (*) :: Num a => a -> a -> a negate :: Num a => a -> a abs :: Num a => a -> a signum :: Num a => a -> a fromInteger :: Num a => Integer -> a instance Num CChar instance Num CClock instance Num CDouble instance Num CFloat instance Num CInt instance Num CIntMax instance Num CIntPtr instance Num CLDouble instance Num CLLong instance Num CLong instance Num CPtrdiff instance Num CSChar instance Num CShort instance Num CSigAtomic instance Num CSize instance Num CTime instance Num CUChar instance Num CUInt instance Num CUIntMax instance Num CUIntPtr instance Num CULLong instance Num CULong instance Num CUShort instance Num CWchar instance Num Double instance Num Fd instance Num Float instance Num Int instance Num Int16 instance Num Int32 instance Num Int64 instance Num Int8 instance Num IntPtr instance Num Integer instance Num Word instance Num Word16 instance Num Word32 instance Num Word64 instance Num Word8 instance Num WordPtr instance RealFloat a => Num (Complex a) instance HasResolution a => Num (Fixed a) instance Integral a => Num (Ratio a) class (Num a, Ord a) => Real a toRational :: Real a => a -> Rational instance Real CChar instance Real CClock instance Real CDouble instance Real CFloat instance Real CInt instance Real CIntMax instance Real CIntPtr instance Real CLDouble instance Real CLLong instance Real CLong instance Real CPtrdiff instance Real CSChar instance Real CShort instance Real CSigAtomic instance Real CSize instance Real CTime instance Real CUChar instance Real CUInt instance Real CUIntMax instance Real CUIntPtr instance Real CULLong instance Real CULong instance Real CUShort instance Real CWchar instance Real Double instance Real Fd instance Real Float instance Real Int instance Real Int16 instance Real Int32 instance Real Int64 instance Real Int8 instance Real IntPtr instance Real Integer instance Real Word instance Real Word16 instance Real Word32 instance Real Word64 instance Real Word8 instance Real WordPtr instance HasResolution a => Real (Fixed a) instance Integral a => Real (Ratio a) class (Real a, Enum a) => Integral a quot :: Integral a => a -> a -> a rem :: Integral a => a -> a -> a div :: Integral a => a -> a -> a mod :: Integral a => a -> a -> a quotRem :: Integral a => a -> a -> (a, a) divMod :: Integral a => a -> a -> (a, a) toInteger :: Integral a => a -> Integer instance Integral CChar instance Integral CInt instance Integral CIntMax instance Integral CIntPtr instance Integral CLLong instance Integral CLong instance Integral CPtrdiff instance Integral CSChar instance Integral CShort instance Integral CSigAtomic instance Integral CSize instance Integral CUChar instance Integral CUInt instance Integral CUIntMax instance Integral CUIntPtr instance Integral CULLong instance Integral CULong instance Integral CUShort instance Integral CWchar instance Integral Fd instance Integral Int instance Integral Int16 instance Integral Int32 instance Integral Int64 instance Integral Int8 instance Integral IntPtr instance Integral Integer instance Integral Word instance Integral Word16 instance Integral Word32 instance Integral Word64 instance Integral Word8 instance Integral WordPtr class Num a => Fractional a (/) :: Fractional a => a -> a -> a recip :: Fractional a => a -> a fromRational :: Fractional a => Rational -> a instance Fractional CDouble instance Fractional CFloat instance Fractional CLDouble instance Fractional Double instance Fractional Float instance RealFloat a => Fractional (Complex a) instance HasResolution a => Fractional (Fixed a) instance Integral a => Fractional (Ratio a) class Fractional a => Floating a pi :: Floating a => a exp :: Floating a => a -> a log :: Floating a => a -> a sqrt :: Floating a => a -> a (**) :: Floating a => a -> a -> a logBase :: Floating a => a -> a -> a sin :: Floating a => a -> a cos :: Floating a => a -> a tan :: Floating a => a -> a asin :: Floating a => a -> a acos :: Floating a => a -> a atan :: Floating a => a -> a sinh :: Floating a => a -> a cosh :: Floating a => a -> a tanh :: Floating a => a -> a asinh :: Floating a => a -> a acosh :: Floating a => a -> a atanh :: Floating a => a -> a instance Floating CDouble instance Floating CFloat instance Floating CLDouble instance Floating Double instance Floating Float instance RealFloat a => Floating (Complex a) class (Real a, Fractional a) => RealFrac a properFraction :: (RealFrac a, Integral b) => a -> (b, a) truncate :: (RealFrac a, Integral b) => a -> b round :: (RealFrac a, Integral b) => a -> b ceiling :: (RealFrac a, Integral b) => a -> b floor :: (RealFrac a, Integral b) => a -> b instance RealFrac CDouble instance RealFrac CFloat instance RealFrac CLDouble instance RealFrac Double instance RealFrac Float instance HasResolution a => RealFrac (Fixed a) instance Integral a => RealFrac (Ratio a) class (RealFrac a, Floating a) => RealFloat a floatRadix :: RealFloat a => a -> Integer floatDigits :: RealFloat a => a -> Int floatRange :: RealFloat a => a -> (Int, Int) decodeFloat :: RealFloat a => a -> (Integer, Int) encodeFloat :: RealFloat a => Integer -> Int -> a exponent :: RealFloat a => a -> Int significand :: RealFloat a => a -> a scaleFloat :: RealFloat a => Int -> a -> a isNaN :: RealFloat a => a -> Bool isInfinite :: RealFloat a => a -> Bool isDenormalized :: RealFloat a => a -> Bool isNegativeZero :: RealFloat a => a -> Bool isIEEE :: RealFloat a => a -> Bool atan2 :: RealFloat a => a -> a -> a instance RealFloat CDouble instance RealFloat CFloat instance RealFloat CLDouble instance RealFloat Double instance RealFloat Float 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 (^^) :: (Fractional a, Integral b) => a -> b -> a fromIntegral :: (Integral a, Num b) => a -> b realToFrac :: (Real a, Fractional b) => a -> b class Monad m (>>=) :: Monad m => m a -> (a -> m b) -> m b (>>) :: Monad m => m a -> m b -> m b return :: Monad m => a -> m a fail :: Monad m => String -> m a instance Monad IO instance Monad Maybe instance Monad P instance Monad ReadP instance Monad ReadPrec instance Monad STM instance Monad [] instance ArrowApply a => Monad (ArrowMonad a) instance Monad (ST s) instance Monad (ST s) instance Monad ((->) r) class Functor f fmap :: Functor f => (a -> b) -> f a -> f b instance Functor IO instance Functor Id instance Functor Maybe instance Functor ReadP instance Functor ReadPrec instance Functor STM instance Functor ZipList instance Functor [] instance Ix i => Functor (Array i) instance Functor (Const m) instance Functor (Either a) instance Functor (ST s) instance Functor (ST s) instance Monad m => Functor (WrappedMonad m) instance Functor ((,) a) instance Functor ((->) r) instance Arrow a => Functor (WrappedArrow a b) mapM :: Monad m => (a -> m b) -> [a] -> m [b] mapM_ :: Monad m => (a -> m b) -> [a] -> m () sequence :: Monad m => [m a] -> m [a] sequence_ :: Monad m => [m a] -> m () (=<<) :: Monad m => (a -> m b) -> m a -> m b id :: a -> a const :: a -> b -> a (.) :: (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 error :: String -> a undefined :: a seq :: a -> b -> b ($!) :: (a -> b) -> a -> b map :: (a -> b) -> [a] -> [b] (++) :: [a] -> [a] -> [a] filter :: (a -> Bool) -> [a] -> [a] head :: [a] -> a last :: [a] -> a tail :: [a] -> [a] init :: [a] -> [a] null :: [a] -> Bool length :: [a] -> Int (!!) :: [a] -> Int -> a reverse :: [a] -> [a] foldl :: (a -> b -> a) -> a -> [b] -> a foldl1 :: (a -> a -> a) -> [a] -> a foldr :: (a -> b -> b) -> b -> [a] -> b foldr1 :: (a -> a -> a) -> [a] -> a and :: [Bool] -> Bool or :: [Bool] -> Bool any :: (a -> Bool) -> [a] -> Bool all :: (a -> Bool) -> [a] -> Bool sum :: Num a => [a] -> a product :: Num a => [a] -> a concat :: [[a]] -> [a] concatMap :: (a -> [b]) -> [a] -> [b] maximum :: Ord a => [a] -> a minimum :: Ord a => [a] -> a scanl :: (a -> b -> a) -> a -> [b] -> [a] 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] cycle :: [a] -> [a] take :: Int -> [a] -> [a] drop :: Int -> [a] -> [a] splitAt :: Int -> [a] -> ([a], [a]) takeWhile :: (a -> Bool) -> [a] -> [a] dropWhile :: (a -> Bool) -> [a] -> [a] span :: (a -> Bool) -> [a] -> ([a], [a]) break :: (a -> Bool) -> [a] -> ([a], [a]) elem :: Eq a => a -> [a] -> Bool notElem :: Eq a => a -> [a] -> Bool lookup :: Eq a => a -> [(a, b)] -> Maybe b zip :: [a] -> [b] -> [(a, b)] zip3 :: [a] -> [b] -> [c] -> [(a, b, c)] zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d] unzip :: [(a, b)] -> ([a], [b]) unzip3 :: [(a, b, c)] -> ([a], [b], [c]) lines :: String -> [String] words :: String -> [String] unlines :: [String] -> String unwords :: [String] -> String type ShowS = String -> String class Show a showsPrec :: Show a => Int -> a -> ShowS show :: Show a => a -> String showList :: Show a => [a] -> ShowS instance Show All instance Show Any instance Show ArithException instance Show ArrayException instance Show AsyncException instance Show Bool instance Show BufferMode instance Show CChar instance Show CClock instance Show CDouble instance Show CFloat instance Show CInt instance Show CIntMax instance Show CIntPtr instance Show CLDouble instance Show CLLong instance Show CLong instance Show CPtrdiff instance Show CSChar instance Show CShort instance Show CSigAtomic instance Show CSize instance Show CTime instance Show CUChar instance Show CUInt instance Show CUIntMax instance Show CUIntPtr instance Show CULLong instance Show CULong instance Show CUShort instance Show CWchar instance Show Char instance Show ConsoleEvent instance Show Constr instance Show ConstrRep instance Show DataRep instance Show DataType instance Show Double instance Show Dynamic instance Show Exception instance Show ExitCode instance Show Fd instance Show Fixity instance Show Float instance Show GeneralCategory instance Show Handle instance Show HandlePosn instance Show HandleType instance Show HashData instance Show IOErrorType instance Show IOException instance Show IOMode instance Show Int instance Show Int16 instance Show Int32 instance Show Int64 instance Show Int8 instance Show IntPtr instance Show Integer instance Show Lexeme instance Show Ordering instance Show SeekMode instance Show ThreadId instance Show TyCon instance Show TypeRep instance Show Version instance Show Word instance Show Word16 instance Show Word32 instance Show Word64 instance Show Word8 instance Show WordPtr instance Show () instance (Show a, Show b) => Show (a, b) instance (Show a, Show b, Show c) => Show (a, b, c) instance (Show a, Show b, Show c, Show d) => Show (a, b, c, d) instance (Show a, Show b, Show c, Show d, Show e) => Show (a, b, c, d, e) instance (Show a, Show b, Show c, Show d, Show e, Show f) => Show (a, b, c, d, e, f) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g) => Show (a, b, c, d, e, f, g) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h) => Show (a, b, c, d, e, f, g, h) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i) => Show (a, b, c, d, e, f, g, h, i) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j) => Show (a, b, c, d, e, f, g, h, i, j) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k) => Show (a, b, c, d, e, f, g, h, i, j, k) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l) => Show (a, b, c, d, e, f, g, h, i, j, k, l) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l, Show m) => Show (a, b, c, d, e, f, g, h, i, j, k, l, m) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l, Show m, Show n) => Show (a, b, c, d, e, f, g, h, i, j, k, l, m, n) instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l, Show m, Show n, Show o) => Show (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) instance Show (a -> b) instance (RealFloat a, Show a) => Show (Complex a) instance Show a => Show (Dual a) instance Show a => Show (First a) instance HasResolution a => Show (Fixed a) instance Show (ForeignPtr a) instance Show (FunPtr a) instance Show a => Show (Last a) instance Show a => Show (Maybe a) instance Show a => Show (Product a) instance Show (Ptr a) instance Integral a => Show (Ratio a) instance Show a => Show (Sum a) instance Show a => Show [a] instance (Ix a, Show a, Show b) => Show (Array a b) instance (Show a, Show b) => Show (Either a b) instance Show (ST s a) shows :: Show a => a -> ShowS showChar :: Char -> ShowS showString :: String -> ShowS showParen :: Bool -> ShowS -> ShowS type ReadS a = String -> [(a, String)] class Read a readsPrec :: Read a => Int -> ReadS a readList :: Read a => ReadS [a] instance Read All instance Read Any instance Read Bool instance Read BufferMode instance Read CChar instance Read CClock instance Read CDouble instance Read CFloat instance Read CInt instance Read CIntMax instance Read CIntPtr instance Read CLDouble instance Read CLLong instance Read CLong instance Read CPtrdiff instance Read CSChar instance Read CShort instance Read CSigAtomic instance Read CSize instance Read CTime instance Read CUChar instance Read CUInt instance Read CUIntMax instance Read CUIntPtr instance Read CULLong instance Read CULong instance Read CUShort instance Read CWchar instance Read Char instance Read ConsoleEvent instance Read Double instance Read ExitCode instance Read Fd instance Read Float instance Read GeneralCategory instance Read IOMode instance Read Int instance Read Int16 instance Read Int32 instance Read Int64 instance Read Int8 instance Read IntPtr instance Read Integer instance Read Lexeme instance Read Ordering instance Read SeekMode instance Read Version instance Read Word instance Read Word16 instance Read Word32 instance Read Word64 instance Read Word8 instance Read WordPtr instance Read () instance (Read a, Read b) => Read (a, b) instance (Read a, Read b, Read c) => Read (a, b, c) instance (Read a, Read b, Read c, Read d) => Read (a, b, c, d) instance (Read a, Read b, Read c, Read d, Read e) => Read (a, b, c, d, e) instance (Read a, Read b, Read c, Read d, Read e, Read f) => Read (a, b, c, d, e, f) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g) => Read (a, b, c, d, e, f, g) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h) => Read (a, b, c, d, e, f, g, h) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i) => Read (a, b, c, d, e, f, g, h, i) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j) => Read (a, b, c, d, e, f, g, h, i, j) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k) => Read (a, b, c, d, e, f, g, h, i, j, k) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k, Read l) => Read (a, b, c, d, e, f, g, h, i, j, k, l) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k, Read l, Read m) => Read (a, b, c, d, e, f, g, h, i, j, k, l, m) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k, Read l, Read m, Read n) => Read (a, b, c, d, e, f, g, h, i, j, k, l, m, n) instance (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Read k, Read l, Read m, Read n, Read o) => Read (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) instance (RealFloat a, Read a) => Read (Complex a) instance Read a => Read (Dual a) instance Read a => Read (First a) instance Read a => Read (Last a) instance Read a => Read (Maybe a) instance Read a => Read (Product a) instance (Integral a, Read a) => Read (Ratio a) instance Read a => Read (Sum a) instance Read a => Read [a] instance (Ix a, Read a, Read b) => Read (Array a b) instance (Read a, Read b) => Read (Either a b) reads :: Read a => ReadS a readParen :: Bool -> ReadS a -> ReadS a read :: Read a => String -> a lex :: ReadS String data IO a instance Applicative IO instance Functor IO instance Monad IO instance MonadFix IO instance Typeable1 IO instance Typeable a => Data (IO a) instance HPrintfType (IO a) instance PrintfType (IO a) putChar :: Char -> IO () putStr :: String -> IO () putStrLn :: String -> IO () print :: Show a => a -> IO () getChar :: IO Char getLine :: IO String getContents :: IO String interact :: (String -> String) -> IO () type FilePath = String readFile :: FilePath -> IO String writeFile :: FilePath -> String -> IO () appendFile :: FilePath -> String -> IO () readIO :: Read a => String -> IO a readLn :: Read a => IO a type IOError = IOException ioError :: IOError -> IO a userError :: String -> IOError catch :: IO a -> (IOError -> IO a) -> IO a module Control.Monad.Instances class Functor f fmap :: Functor f => (a -> b) -> f a -> f b instance Functor IO instance Functor Id instance Functor Maybe instance Functor ReadP instance Functor ReadPrec instance Functor STM instance Functor ZipList instance Functor [] instance Ix i => Functor (Array i) instance Functor (Const m) instance Functor (Either a) instance Functor (ST s) instance Functor (ST s) instance Monad m => Functor (WrappedMonad m) instance Functor ((,) a) instance Functor ((->) r) instance Arrow a => Functor (WrappedArrow a b) class Monad m (>>=) :: Monad m => m a -> (a -> m b) -> m b (>>) :: Monad m => m a -> m b -> m b return :: Monad m => a -> m a fail :: Monad m => String -> m a instance Monad IO instance Monad Maybe instance Monad P instance Monad ReadP instance Monad ReadPrec instance Monad STM instance Monad [] instance ArrowApply a => Monad (ArrowMonad a) instance Monad (ST s) instance Monad (ST s) instance Monad ((->) r) module Data.Fixed div' :: (Real a, Integral b) => a -> a -> b mod' :: Real a => a -> a -> a divMod' :: (Real a, Integral b) => a -> a -> (b, a) data Fixed a instance Enum (Fixed a) instance Eq (Fixed a) instance HasResolution a => Fractional (Fixed a) instance HasResolution a => Num (Fixed a) instance Ord (Fixed a) instance HasResolution a => Real (Fixed a) instance HasResolution a => RealFrac (Fixed a) instance HasResolution a => Show (Fixed a) class HasResolution a resolution :: HasResolution a => a -> Integer instance HasResolution E12 instance HasResolution E6 showFixed :: HasResolution a => Bool -> Fixed a -> String data E6 instance HasResolution E6 type Micro = Fixed E6 data E12 instance HasResolution E12 type Pico = Fixed E12 module Data.Function id :: a -> a const :: a -> b -> a (.) :: (b -> c) -> (a -> b) -> a -> c flip :: (a -> b -> c) -> b -> a -> c ($) :: (a -> b) -> a -> b fix :: (a -> a) -> a on :: (b -> b -> c) -> (a -> b) -> a -> a -> c module Control.Monad.Fix class Monad m => MonadFix m mfix :: MonadFix m => (a -> m a) -> m a instance MonadFix IO instance MonadFix Maybe instance MonadFix [] instance MonadFix (ST s) instance MonadFix (ST s) instance MonadFix ((->) r) fix :: (a -> a) -> a module Control.Monad.ST data ST s a instance Typeable2 ST instance Functor (ST s) instance Monad (ST s) instance MonadFix (ST s) instance (Typeable s, Typeable a) => Data (ST s a) instance Show (ST s a) runST :: ST s a -> a fixST :: (a -> ST s a) -> ST s a data RealWorld instance Typeable RealWorld stToIO :: ST RealWorld a -> IO a unsafeInterleaveST :: ST s a -> ST s a unsafeIOToST :: IO a -> ST s a unsafeSTToIO :: ST s a -> IO a module Control.Monad.ST.Strict module Control.Monad.ST.Lazy data ST s a instance Functor (ST s) instance Monad (ST s) instance MonadFix (ST s) runST :: ST s a -> a fixST :: (a -> ST s a) -> ST s a strictToLazyST :: ST s a -> ST s a lazyToStrictST :: ST s a -> ST s a data RealWorld instance Typeable RealWorld stToIO :: ST RealWorld a -> IO a unsafeInterleaveST :: ST s a -> ST s a unsafeIOToST :: IO a -> ST s a module Data.Generics.Basics class Typeable a => Data a gfoldl :: Data a => (c (a -> b) -> a -> c b) -> (g -> c g) -> a -> c a gunfold :: Data a => (c (b -> r) -> c r) -> (r -> c r) -> Constr -> c a toConstr :: Data a => a -> Constr dataTypeOf :: Data a => a -> DataType dataCast1 :: (Data a, Typeable1 t) => c (t a) -> Maybe (c a) dataCast2 :: (Data a, Typeable2 t) => c (t a b) -> Maybe (c a) gmapT :: Data a => (b -> b) -> a -> a gmapQl :: Data a => (r -> r' -> r) -> r -> (a -> r') -> a -> r gmapQr :: Data a => (r' -> r -> r) -> r -> (a -> r') -> a -> r gmapQ :: Data a => (a -> u) -> a -> [u] gmapQi :: Data a => Int -> (a -> u) -> a -> u gmapM :: (Data a, Monad m) => (a -> m a) -> a -> m a gmapMp :: (Data a, MonadPlus m) => (a -> m a) -> a -> m a gmapMo :: (Data a, MonadPlus m) => (a -> m a) -> a -> m a instance Data Bool instance Data Char instance Data DataType instance Data Double instance Data Float instance Data Handle instance Data Int instance Data Int16 instance Data Int32 instance Data Int64 instance Data Int8 instance Data Integer instance Data Ordering instance Data ThreadId instance Data TyCon instance Data TypeRep instance Data Word instance Data Word16 instance Data Word32 instance Data Word64 instance Data Word8 instance Data () instance (Data a, Data b) => Data (a, b) instance (Data a, Data b, Data c) => Data (a, b, c) instance (Data a, Data b, Data c, Data d) => Data (a, b, c, d) instance (Data a, Data b, Data c, Data d, Data e) => Data (a, b, c, d, e) instance (Data a, Data b, Data c, Data d, Data e, Data f) => Data (a, b, c, d, e, f) instance (Data a, Data b, Data c, Data d, Data e, Data f, Data g) => Data (a, b, c, d, e, f, g) instance (Data a, Data b) => Data (a -> b) instance (RealFloat a, Data a) => Data (Complex a) instance Typeable a => Data (ForeignPtr a) instance Typeable a => Data (IO a) instance Typeable a => Data (IORef a) instance Typeable a => Data (MVar a) instance Data a => Data (Maybe a) instance Typeable a => Data (Ptr a) instance (Data a, Integral a) => Data (Ratio a) instance Typeable a => Data (STM a) instance Typeable a => Data (StablePtr a) instance Typeable a => Data (TVar a) instance Data a => Data [a] instance (Typeable a, Data b, Ix a) => Data (Array a b) instance (Data a, Data b) => Data (Either a b) instance (Typeable s, Typeable a) => Data (ST s a) data DataType instance Data DataType instance Show DataType instance Typeable DataType mkDataType :: String -> [Constr] -> DataType mkIntType :: String -> DataType mkFloatType :: String -> DataType mkStringType :: String -> DataType mkNorepType :: String -> DataType dataTypeName :: DataType -> String data DataRep AlgRep :: [Constr] -> DataRep IntRep :: DataRep FloatRep :: DataRep StringRep :: DataRep NoRep :: DataRep instance Eq DataRep instance Show DataRep dataTypeRep :: DataType -> DataRep repConstr :: DataType -> ConstrRep -> Constr isAlgType :: DataType -> Bool dataTypeConstrs :: DataType -> [Constr] indexConstr :: DataType -> ConIndex -> Constr maxConstrIndex :: DataType -> ConIndex isNorepType :: DataType -> Bool data Constr instance Eq Constr instance Show Constr type ConIndex = Int data Fixity Prefix :: Fixity Infix :: Fixity instance Eq Fixity instance Show Fixity mkConstr :: DataType -> String -> [String] -> Fixity -> Constr mkIntConstr :: DataType -> Integer -> Constr mkFloatConstr :: DataType -> Double -> Constr mkStringConstr :: DataType -> String -> Constr constrType :: Constr -> DataType data ConstrRep AlgConstr :: ConIndex -> ConstrRep IntConstr :: Integer -> ConstrRep FloatConstr :: Double -> ConstrRep StringConstr :: String -> ConstrRep instance Eq ConstrRep instance Show ConstrRep constrRep :: Constr -> ConstrRep constrFields :: Constr -> [String] constrFixity :: Constr -> Fixity constrIndex :: Constr -> ConIndex showConstr :: Constr -> String readConstr :: DataType -> String -> Maybe Constr tyconUQname :: String -> String tyconModule :: String -> String fromConstr :: Data a => Constr -> a fromConstrB :: Data a => a -> Constr -> a fromConstrM :: (Monad m, Data a) => m a -> Constr -> m a module Data.Complex data Complex a (:+) :: a -> a -> Complex a instance Typeable1 Complex instance (RealFloat a, Data a) => Data (Complex a) instance (RealFloat a, Eq a) => Eq (Complex a) instance RealFloat a => Floating (Complex a) instance RealFloat a => Fractional (Complex a) instance RealFloat a => Num (Complex a) instance (RealFloat a, Read a) => Read (Complex a) instance (RealFloat a, Show a) => Show (Complex a) realPart :: RealFloat a => Complex a -> a imagPart :: RealFloat a => Complex a -> a mkPolar :: RealFloat a => a -> a -> Complex a cis :: RealFloat a => a -> Complex a polar :: RealFloat a => Complex a -> (a, a) magnitude :: RealFloat a => Complex a -> a phase :: RealFloat a => Complex a -> a conjugate :: RealFloat a => Complex a -> Complex a module Data.Generics.Aliases mkT :: (Typeable a, Typeable b) => (b -> b) -> a -> a mkQ :: (Typeable a, Typeable b) => r -> (b -> r) -> a -> r mkM :: (Monad m, Typeable a, Typeable b) => (b -> m b) -> a -> m a mkMp :: (MonadPlus m, Typeable a, Typeable b) => (b -> m b) -> a -> m a mkR :: (MonadPlus m, Typeable a, Typeable b) => m b -> m a ext0 :: (Typeable a, Typeable b) => c a -> c b -> c a extT :: (Typeable a, Typeable b) => (a -> a) -> (b -> b) -> a -> a extQ :: (Typeable a, Typeable b) => (a -> q) -> (b -> q) -> a -> q extM :: (Monad m, Typeable a, Typeable b) => (a -> m a) -> (b -> m b) -> a -> m a extMp :: (MonadPlus m, Typeable a, Typeable b) => (a -> m a) -> (b -> m b) -> a -> m a extB :: (Typeable a, Typeable b) => a -> b -> a extR :: (Monad m, Typeable a, Typeable b) => m a -> m b -> m a type GenericT = a -> a type GenericQ r = a -> r type GenericM m = a -> m a type GenericB = a type GenericR m = m a type Generic c = a -> c a data Generic' c Generic' :: Generic c -> Generic' c unGeneric' :: Generic' c -> Generic c newtype GenericT' unGT :: GenericT' -> (Data a => a -> a) newtype GenericQ' r GQ :: GenericQ r -> GenericQ' r unGQ :: GenericQ' r -> GenericQ r newtype GenericM' m unGM :: GenericM' m -> (Data a => a -> m a) orElse :: Maybe a -> Maybe a -> Maybe a recoverMp :: MonadPlus m => GenericM m -> GenericM m recoverQ :: MonadPlus m => r -> GenericQ (m r) -> GenericQ (m r) choiceMp :: MonadPlus m => GenericM m -> GenericM m -> GenericM m choiceQ :: MonadPlus m => GenericQ (m r) -> GenericQ (m r) -> GenericQ (m r) ext1T :: (Data d, Typeable1 t) => (d -> d) -> (t d -> t d) -> d -> d ext1M :: (Monad m, Data d, Typeable1 t) => (d -> m d) -> (t d -> m (t d)) -> d -> m d ext1Q :: (Data d, Typeable1 t) => (d -> q) -> (t d -> q) -> d -> q ext1R :: (Monad m, Data d, Typeable1 t) => m d -> m (t d) -> m d module Data.Generics.Instances module Data.Generics.Schemes everywhere :: (a -> a) -> a -> a everywhere' :: (a -> a) -> a -> a everywhereBut :: GenericQ Bool -> GenericT -> GenericT everywhereM :: Monad m => GenericM m -> GenericM m somewhere :: MonadPlus m => GenericM m -> GenericM m everything :: (r -> r -> r) -> GenericQ r -> GenericQ r listify :: Typeable r => (r -> Bool) -> GenericQ [r] something :: GenericQ (Maybe u) -> GenericQ (Maybe u) synthesize :: s -> (t -> s -> s) -> GenericQ (s -> t) -> GenericQ t gsize :: Data a => a -> Int glength :: GenericQ Int gdepth :: GenericQ Int gcount :: GenericQ Bool -> GenericQ Int gnodecount :: GenericQ Int gtypecount :: Typeable a => a -> GenericQ Int gfindtype :: (Data x, Typeable y) => x -> Maybe y module Data.Generics.Text gshow :: Data a => a -> String gread :: Data a => ReadS a module Data.Generics.Twins gfoldlAccum :: Data d => (a -> c (d -> r) -> d -> (a, c r)) -> (a -> g -> (a, c g)) -> a -> d -> (a, c d) gmapAccumT :: Data d => (a -> d -> (a, d)) -> a -> d -> (a, d) gmapAccumM :: (Data d, Monad m) => (a -> d -> (a, m d)) -> a -> d -> (a, m d) gmapAccumQl :: Data d => (r -> r' -> r) -> r -> (a -> d -> (a, r')) -> a -> d -> (a, r) gmapAccumQr :: Data d => (r' -> r -> r) -> r -> (a -> d -> (a, r')) -> a -> d -> (a, r) gmapAccumQ :: Data d => (a -> d -> (a, q)) -> a -> d -> (a, [q]) gzipWithT :: GenericQ GenericT -> GenericQ GenericT gzipWithM :: Monad m => GenericQ (GenericM m) -> GenericQ (GenericM m) gzipWithQ :: GenericQ (GenericQ r) -> GenericQ (GenericQ [r]) geq :: Data a => a -> a -> Bool gzip :: GenericQ (GenericM Maybe) -> GenericQ (GenericM Maybe) module Data.Generics module Data.IORef data IORef a instance Typeable1 IORef instance Typeable a => Data (IORef a) instance Eq (IORef a) newIORef :: a -> IO (IORef a) readIORef :: IORef a -> IO a writeIORef :: IORef a -> a -> IO () modifyIORef :: IORef a -> (a -> a) -> IO () atomicModifyIORef :: IORef a -> (a -> (a, b)) -> IO b mkWeakIORef :: IORef a -> IO () -> IO (Weak (IORef a)) module Data.Ix class Ord a => Ix a range :: Ix a => (a, a) -> [a] index :: Ix a => (a, a) -> a -> Int inRange :: Ix a => (a, a) -> a -> Bool rangeSize :: Ix a => (a, a) -> Int instance Ix Bool instance Ix Char instance Ix GeneralCategory instance Ix IOMode instance Ix Int instance Ix Int16 instance Ix Int32 instance Ix Int64 instance Ix Int8 instance Ix Integer instance Ix Ordering instance Ix SeekMode instance Ix Word instance Ix Word16 instance Ix Word32 instance Ix Word64 instance Ix Word8 instance Ix () instance (Ix a, Ix b) => Ix (a, b) instance (Ix a1, Ix a2, Ix a3) => Ix (a1, a2, a3) instance (Ix a1, Ix a2, Ix a3, Ix a4) => Ix (a1, a2, a3, a4) instance (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5) => Ix (a1, a2, a3, a4, a5) module Data.Monoid class Monoid a mempty :: Monoid a => a mappend :: Monoid a => a -> a -> a mconcat :: Monoid a => [a] -> a instance Monoid All instance Monoid Any instance Monoid Ordering instance Monoid () instance (Monoid a, Monoid b) => Monoid (a, b) instance (Monoid a, Monoid b, Monoid c) => Monoid (a, b, c) instance (Monoid a, Monoid b, Monoid c, Monoid d) => Monoid (a, b, c, d) instance (Monoid a, Monoid b, Monoid c, Monoid d, Monoid e) => Monoid (a, b, c, d, e) instance Monoid b => Monoid (a -> b) instance Monoid a => Monoid (Dual a) instance Monoid (Endo a) instance Monoid (First a) instance Monoid (Last a) instance Monoid a => Monoid (Maybe a) instance Num a => Monoid (Product a) instance Num a => Monoid (Sum a) instance Monoid [a] newtype Dual a Dual :: a -> Dual a getDual :: Dual a -> a instance Bounded a => Bounded (Dual a) instance Eq a => Eq (Dual a) instance Monoid a => Monoid (Dual a) instance Ord a => Ord (Dual a) instance Read a => Read (Dual a) instance Show a => Show (Dual a) newtype Endo a Endo :: (a -> a) -> Endo a appEndo :: Endo a -> a -> a instance Monoid (Endo a) newtype All All :: Bool -> All getAll :: All -> Bool instance Bounded All instance Eq All instance Monoid All instance Ord All instance Read All instance Show All newtype Any Any :: Bool -> Any getAny :: Any -> Bool instance Bounded Any instance Eq Any instance Monoid Any instance Ord Any instance Read Any instance Show Any newtype Sum a Sum :: a -> Sum a getSum :: Sum a -> a instance Bounded a => Bounded (Sum a) instance Eq a => Eq (Sum a) instance Num a => Monoid (Sum a) instance Ord a => Ord (Sum a) instance Read a => Read (Sum a) instance Show a => Show (Sum a) newtype Product a Product :: a -> Product a getProduct :: Product a -> a instance Bounded a => Bounded (Product a) instance Eq a => Eq (Product a) instance Num a => Monoid (Product a) instance Ord a => Ord (Product a) instance Read a => Read (Product a) instance Show a => Show (Product a) newtype First a First :: Maybe a -> First a getFirst :: First a -> Maybe a instance Eq a => Eq (First a) instance Monoid (First a) instance Ord a => Ord (First a) instance Read a => Read (First a) instance Show a => Show (First a) newtype Last a Last :: Maybe a -> Last a getLast :: Last a -> Maybe a instance Eq a => Eq (Last a) instance Monoid (Last a) instance Ord a => Ord (Last a) instance Read a => Read (Last a) instance Show a => Show (Last a) module Data.Ratio data Ratio a instance Typeable1 Ratio instance (Data a, Integral a) => Data (Ratio a) instance Integral a => Enum (Ratio a) instance (Integral a, Eq a) => Eq (Ratio a) instance Integral a => Fractional (Ratio a) instance Integral a => Num (Ratio a) instance Integral a => Ord (Ratio a) instance (Integral a, Read a) => Read (Ratio a) instance Integral a => Real (Ratio a) instance Integral a => RealFrac (Ratio a) instance Integral a => Show (Ratio a) type Rational = Ratio Integer (%) :: Integral a => a -> a -> Ratio a numerator :: Integral a => Ratio a -> a denominator :: Integral a => Ratio a -> a approxRational :: RealFrac a => a -> a -> Rational module Data.STRef data STRef s a instance Typeable2 STRef instance Eq (STRef s a) newSTRef :: a -> ST s (STRef s a) readSTRef :: STRef s a -> ST s a writeSTRef :: STRef s a -> a -> ST s () modifySTRef :: STRef s a -> (a -> a) -> ST s () module Data.STRef.Lazy data STRef s a instance Typeable2 STRef instance Eq (STRef s a) newSTRef :: a -> ST s (STRef s a) readSTRef :: STRef s a -> ST s a writeSTRef :: STRef s a -> a -> ST s () modifySTRef :: STRef s a -> (a -> a) -> ST s () module Data.STRef.Strict module Data.Version data Version Version :: [Int] -> [String] -> Version versionBranch :: Version -> [Int] versionTags :: Version -> [String] instance Eq Version instance Ord Version instance Read Version instance Show Version instance Typeable Version showVersion :: Version -> String parseVersion :: ReadP Version module Debug.Trace putTraceMsg :: String -> IO () trace :: String -> a -> a traceShow :: Show a => a -> b -> b module GHC.Environment getFullArgs :: IO [String] module GHC.Exts data Int I# :: Int# -> Int instance Bits Int instance Bounded Int instance Data Int instance Enum Int instance Eq Int instance Integral Int instance Ix Int instance Num Int instance Ord Int instance PrintfArg Int instance Read Int instance Real Int instance Show Int instance Storable Int instance Typeable Int data Word W# :: Word# -> Word instance Bits Word instance Bounded Word instance Data Word instance Enum Word instance Eq Word instance Integral Word instance Ix Word instance Num Word instance Ord Word instance PrintfArg Word instance Read Word instance Real Word instance Show Word instance Storable Word instance Typeable Word data Float F# :: Float# -> Float instance Data Float instance Enum Float instance Eq Float instance Floating Float instance Fractional Float instance Num Float instance Ord Float instance PrintfArg Float instance Read Float instance Real Float instance RealFloat Float instance RealFrac Float instance Show Float instance Storable Float instance Typeable Float data Double D# :: Double# -> Double instance Data Double instance Enum Double instance Eq Double instance Floating Double instance Fractional Double instance Num Double instance Ord Double instance PrintfArg Double instance Read Double instance Real Double instance RealFloat Double instance RealFrac Double instance Show Double instance Storable Double instance Typeable Double data Integer S# :: Int# -> Integer J# :: Int# -> ByteArray# -> Integer instance Bits Integer instance Data Integer instance Enum Integer instance Eq Integer instance Integral Integer instance Ix Integer instance Num Integer instance Ord Integer instance PrintfArg Integer instance Read Integer instance Real Integer instance Show Integer instance Typeable Integer data Char C# :: Char# -> Char instance Bounded Char instance Data Char instance Enum Char instance Eq Char instance IsChar Char instance Ix Char instance Ord Char instance PrintfArg Char instance Read Char instance Show Char instance Storable Char instance Typeable Char instance IsString [Char] data Ptr a Ptr :: Addr# -> Ptr a instance Typeable1 Ptr instance Typeable a => Data (Ptr a) instance Eq (Ptr a) instance Ord (Ptr a) instance Show (Ptr a) instance Storable (Ptr a) data FunPtr a FunPtr :: Addr# -> FunPtr a instance Typeable1 FunPtr instance Eq (FunPtr a) instance Ord (FunPtr a) instance Show (FunPtr a) instance Storable (FunPtr a) shiftL# :: Word# -> Int# -> Word# shiftRL# :: Word# -> Int# -> Word# iShiftL# :: Int# -> Int# -> Int# iShiftRA# :: Int# -> Int# -> Int# iShiftRL# :: Int# -> Int# -> Int# uncheckedShiftL64# :: Word64# -> Int# -> Word64# uncheckedShiftRL64# :: Word64# -> Int# -> Word64# uncheckedIShiftL64# :: Int64# -> Int# -> Int64# uncheckedIShiftRA64# :: Int64# -> Int# -> Int64# build :: (a -> b -> b -> b -> b) -> [a] augment :: (a -> b -> b -> b -> b) -> [a] -> [a] class IsString a fromString :: IsString a => String -> a instance IsString [Char] breakpoint :: a -> a breakpointCond :: Bool -> a -> a lazy :: a -> a inline :: a -> a module System.CPUTime getCPUTime :: IO Integer cpuTimePrecision :: Integer module System.Console.GetOpt getOpt :: ArgOrder a -> [OptDescr a] -> [String] -> ([a], [String], [String]) getOpt' :: ArgOrder a -> [OptDescr a] -> [String] -> ([a], [String], [String], [String]) usageInfo :: String -> [OptDescr a] -> String data ArgOrder a RequireOrder :: ArgOrder a Permute :: ArgOrder a ReturnInOrder :: (String -> a) -> ArgOrder a data OptDescr a Option :: [Char] -> [String] -> ArgDescr a -> String -> OptDescr a data ArgDescr a NoArg :: a -> ArgDescr a ReqArg :: (String -> a) -> String -> ArgDescr a OptArg :: (Maybe String -> a) -> String -> ArgDescr a module System.Exit data ExitCode ExitSuccess :: ExitCode ExitFailure :: Int -> ExitCode instance Eq ExitCode instance Ord ExitCode instance Read ExitCode instance Show ExitCode exitWith :: ExitCode -> IO a exitFailure :: IO a module System.Info os :: String arch :: String compilerName :: String compilerVersion :: Version module System.Mem performGC :: IO () module System.Mem.StableName data StableName a instance Typeable1 StableName instance Eq (StableName a) makeStableName :: a -> IO (StableName a) hashStableName :: StableName a -> Int module System.Mem.Weak data Weak v instance Typeable1 Weak mkWeak :: k -> v -> Maybe (IO ()) -> IO (Weak v) deRefWeak :: Weak v -> IO (Maybe v) finalize :: Weak v -> IO () mkWeakPtr :: k -> Maybe (IO ()) -> IO (Weak k) addFinalizer :: key -> IO () -> IO () mkWeakPair :: k -> v -> Maybe (IO ()) -> IO (Weak (k, v)) module Text.Printf printf :: PrintfType r => String -> r hPrintf :: HPrintfType r => Handle -> String -> r class PrintfType t instance (PrintfArg a, PrintfType r) => PrintfType (a -> r) instance PrintfType (IO a) instance IsChar c => PrintfType [c] class HPrintfType t instance (PrintfArg a, HPrintfType r) => HPrintfType (a -> r) instance HPrintfType (IO a) class PrintfArg a instance PrintfArg Char instance PrintfArg Double instance PrintfArg Float instance PrintfArg Int instance PrintfArg Int16 instance PrintfArg Int32 instance PrintfArg Int64 instance PrintfArg Int8 instance PrintfArg Integer instance PrintfArg Word instance PrintfArg Word16 instance PrintfArg Word32 instance PrintfArg Word64 instance PrintfArg Word8 instance IsChar c => PrintfArg [c] class IsChar c instance IsChar Char module Text.Show.Functions module Control.Exception data Exception ArithException :: ArithException -> Exception ArrayException :: ArrayException -> Exception AssertionFailed :: String -> Exception AsyncException :: AsyncException -> Exception BlockedOnDeadMVar :: Exception BlockedIndefinitely :: Exception NestedAtomically :: Exception Deadlock :: Exception DynException :: Dynamic -> Exception ErrorCall :: String -> Exception ExitException :: ExitCode -> Exception IOException :: IOException -> Exception NoMethodError :: String -> Exception NonTermination :: Exception PatternMatchFail :: String -> Exception RecConError :: String -> Exception RecSelError :: String -> Exception RecUpdError :: String -> Exception instance Eq Exception instance Show Exception instance Typeable Exception data IOException instance Eq IOException instance Show IOException instance Typeable IOException data ArithException Overflow :: ArithException Underflow :: ArithException LossOfPrecision :: ArithException DivideByZero :: ArithException Denormal :: ArithException instance Eq ArithException instance Ord ArithException instance Show ArithException instance Typeable ArithException data ArrayException IndexOutOfBounds :: String -> ArrayException UndefinedElement :: String -> ArrayException instance Eq ArrayException instance Ord ArrayException instance Show ArrayException instance Typeable ArrayException data AsyncException StackOverflow :: AsyncException HeapOverflow :: AsyncException ThreadKilled :: AsyncException instance Eq AsyncException instance Ord AsyncException instance Show AsyncException instance Typeable AsyncException throwIO :: Exception -> IO a throw :: Exception -> a ioError :: IOError -> IO a throwTo :: ThreadId -> Exception -> IO () catch :: IO a -> (Exception -> IO a) -> IO a catchJust :: (Exception -> Maybe b) -> IO a -> (b -> IO a) -> IO a handle :: (Exception -> IO a) -> IO a -> IO a handleJust :: (Exception -> Maybe b) -> (b -> IO a) -> IO a -> IO a try :: IO a -> IO (Either Exception a) tryJust :: (Exception -> Maybe b) -> IO a -> IO (Either b a) evaluate :: a -> IO a mapException :: (Exception -> Exception) -> a -> a ioErrors :: Exception -> Maybe IOError arithExceptions :: Exception -> Maybe ArithException errorCalls :: Exception -> Maybe String dynExceptions :: Exception -> Maybe Dynamic assertions :: Exception -> Maybe String asyncExceptions :: Exception -> Maybe AsyncException userErrors :: Exception -> Maybe String throwDyn :: Typeable exception => exception -> b throwDynTo :: Typeable exception => ThreadId -> exception -> IO () catchDyn :: Typeable exception => IO a -> (exception -> IO a) -> IO a block :: IO a -> IO a unblock :: IO a -> IO a assert :: Bool -> a -> a bracket :: IO a -> (a -> IO b) -> (a -> IO c) -> IO c bracket_ :: IO a -> IO b -> IO c -> IO c bracketOnError :: IO a -> (a -> IO b) -> (a -> IO c) -> IO c finally :: IO a -> IO b -> IO a setUncaughtExceptionHandler :: (Exception -> IO ()) -> IO () getUncaughtExceptionHandler :: IO (Exception -> IO ()) module System.Environment getArgs :: IO [String] getProgName :: IO String getEnv :: String -> IO String withArgs :: [String] -> IO a -> IO a withProgName :: String -> IO a -> IO a getEnvironment :: IO [(String, String)] module Control.Concurrent.MVar data MVar a instance Typeable1 MVar instance Typeable a => Data (MVar a) instance Eq (MVar a) newEmptyMVar :: IO (MVar a) newMVar :: a -> IO (MVar a) takeMVar :: MVar a -> IO a putMVar :: MVar a -> a -> IO () readMVar :: MVar a -> IO a swapMVar :: MVar a -> a -> IO a tryTakeMVar :: MVar a -> IO (Maybe a) tryPutMVar :: MVar a -> a -> IO Bool isEmptyMVar :: MVar a -> IO Bool withMVar :: MVar a -> (a -> IO b) -> IO b modifyMVar_ :: MVar a -> (a -> IO a) -> IO () modifyMVar :: MVar a -> (a -> IO (a, b)) -> IO b addMVarFinalizer :: MVar a -> IO () -> IO () module Control.Concurrent.QSem data QSem instance Typeable QSem newQSem :: Int -> IO QSem waitQSem :: QSem -> IO () signalQSem :: QSem -> IO () module Control.Concurrent.QSemN data QSemN instance Typeable QSemN newQSemN :: Int -> IO QSemN waitQSemN :: QSemN -> Int -> IO () signalQSemN :: QSemN -> Int -> IO () module Control.Concurrent.SampleVar type SampleVar a = MVar (Int, MVar a) newEmptySampleVar :: IO (SampleVar a) newSampleVar :: a -> IO (SampleVar a) emptySampleVar :: SampleVar a -> IO () readSampleVar :: SampleVar a -> IO a writeSampleVar :: SampleVar a -> a -> IO () isEmptySampleVar :: SampleVar a -> IO Bool module Data.Unique data Unique instance Eq Unique instance Ord Unique newUnique :: IO Unique hashUnique :: Unique -> Int module Control.Concurrent.Chan data Chan a instance Typeable1 Chan newChan :: IO (Chan a) writeChan :: Chan a -> a -> IO () readChan :: Chan a -> IO a dupChan :: Chan a -> IO (Chan a) unGetChan :: Chan a -> a -> IO () isEmptyChan :: Chan a -> IO Bool getChanContents :: Chan a -> IO [a] writeList2Chan :: Chan a -> [a] -> IO () module Control.Concurrent data ThreadId instance Data ThreadId instance Eq ThreadId instance Ord ThreadId instance Show ThreadId instance Typeable ThreadId myThreadId :: IO ThreadId forkIO :: IO () -> IO ThreadId killThread :: ThreadId -> IO () throwTo :: ThreadId -> Exception -> IO () yield :: IO () threadDelay :: Int -> IO () threadWaitRead :: Fd -> IO () threadWaitWrite :: Fd -> IO () mergeIO :: [a] -> [a] -> IO [a] nmergeIO :: [[a]] -> IO [a] rtsSupportsBoundThreads :: Bool forkOS :: IO () -> IO ThreadId isCurrentThreadBound :: IO Bool runInBoundThread :: IO a -> IO a runInUnboundThread :: IO a -> IO a module GHC.ConsoleHandler data Handler Default :: Handler Ignore :: Handler Catch :: (ConsoleEvent -> IO ()) -> Handler installHandler :: Handler -> IO Handler data ConsoleEvent ControlC :: ConsoleEvent Break :: ConsoleEvent Close :: ConsoleEvent Logoff :: ConsoleEvent Shutdown :: ConsoleEvent instance Enum ConsoleEvent instance Eq ConsoleEvent instance Ord ConsoleEvent instance Read ConsoleEvent instance Show ConsoleEvent instance Typeable ConsoleEvent flushConsole :: Handle -> IO () module System.Timeout timeout :: Int -> IO a -> IO (Maybe a) module Control.Category class Category cat id :: Category cat => cat a a (.) :: Category cat => cat b c -> cat a b -> cat a c instance Category (->) instance Monad m => Category (Kleisli m) (<<<) :: Category cat => cat b c -> cat a b -> cat a c (>>>) :: Category cat => cat a b -> cat b c -> cat a c module Control.Arrow class Category a => Arrow a arr :: Arrow a => (b -> c) -> a b c pure :: Arrow a => (b -> c) -> a b c first :: Arrow a => a b c -> a (b, d) (c, d) second :: Arrow a => a b c -> a (d, b) (d, c) (***) :: Arrow a => a b c -> a b' c' -> a (b, b') (c, c') (&&&) :: Arrow a => a b c -> a b c' -> a b (c, c') instance Arrow (->) instance Monad m => Arrow (Kleisli m) newtype Kleisli m a b Kleisli :: (a -> m b) -> Kleisli m a b runKleisli :: Kleisli m a b -> a -> m b instance Monad m => Arrow (Kleisli m) instance Monad m => ArrowApply (Kleisli m) instance Monad m => ArrowChoice (Kleisli m) instance MonadFix m => ArrowLoop (Kleisli m) instance MonadPlus m => ArrowPlus (Kleisli m) instance MonadPlus m => ArrowZero (Kleisli m) instance Monad m => Category (Kleisli m) returnA :: Arrow a => a b b (^>>) :: Arrow a => (b -> c) -> a c d -> a b d (>>^) :: Arrow a => a b c -> (c -> d) -> a b d (<<^) :: Arrow a => a c d -> (b -> c) -> a b d (^<<) :: Arrow a => (c -> d) -> a b c -> a b d class Arrow a => ArrowZero a zeroArrow :: ArrowZero a => a b c instance MonadPlus m => ArrowZero (Kleisli m) class ArrowZero a => ArrowPlus a (<+>) :: ArrowPlus a => a b c -> a b c -> a b c instance MonadPlus m => ArrowPlus (Kleisli m) class Arrow a => ArrowChoice a left :: ArrowChoice a => a b c -> a (Either b d) (Either c d) right :: ArrowChoice a => a b c -> a (Either d b) (Either d c) (+++) :: ArrowChoice a => a b c -> a b' c' -> a (Either b b') (Either c c') (|||) :: ArrowChoice a => a b d -> a c d -> a (Either b c) d instance ArrowChoice (->) instance Monad m => ArrowChoice (Kleisli m) class Arrow a => ArrowApply a app :: ArrowApply a => a (a b c, b) c instance ArrowApply (->) instance Monad m => ArrowApply (Kleisli m) newtype ArrowMonad a b ArrowMonad :: a () b -> ArrowMonad a b instance ArrowApply a => Monad (ArrowMonad a) leftApp :: ArrowApply a => a b c -> a (Either b d) (Either c d) class Arrow a => ArrowLoop a loop :: ArrowLoop a => a (b, d) (c, d) -> a b c instance ArrowLoop (->) instance MonadFix m => ArrowLoop (Kleisli m) module Control.Applicative class Functor f => Applicative f pure :: Applicative f => a -> f a (<*>) :: Applicative f => f (a -> b) -> f a -> f b instance Applicative IO instance Applicative Id instance Applicative Maybe instance Applicative ZipList instance Applicative [] instance Monoid m => Applicative (Const m) instance Monad m => Applicative (WrappedMonad m) instance Monoid a => Applicative ((,) a) instance Applicative ((->) a) instance Arrow a => Applicative (WrappedArrow a b) class Applicative f => Alternative f empty :: Alternative f => f a (<|>) :: Alternative f => f a -> f a -> f a instance Alternative Maybe instance Alternative [] instance MonadPlus m => Alternative (WrappedMonad m) instance (ArrowZero a, ArrowPlus a) => Alternative (WrappedArrow a b) newtype Const a b Const :: a -> Const a b getConst :: Const a b -> a instance Monoid m => Applicative (Const m) instance Functor (Const m) newtype WrappedMonad m a WrapMonad :: m a -> WrappedMonad m a unwrapMonad :: WrappedMonad m a -> m a instance MonadPlus m => Alternative (WrappedMonad m) instance Monad m => Applicative (WrappedMonad m) instance Monad m => Functor (WrappedMonad m) newtype WrappedArrow a b c WrapArrow :: a b c -> WrappedArrow a b c unwrapArrow :: WrappedArrow a b c -> a b c instance (ArrowZero a, ArrowPlus a) => Alternative (WrappedArrow a b) instance Arrow a => Applicative (WrappedArrow a b) instance Arrow a => Functor (WrappedArrow a b) newtype ZipList a ZipList :: [a] -> ZipList a getZipList :: ZipList a -> [a] instance Applicative ZipList instance Functor ZipList (<$>) :: Functor f => (a -> b) -> f a -> f b (<$) :: Functor f => a -> f b -> f a (*>) :: Applicative f => f a -> f b -> f b (<*) :: Applicative f => f a -> f b -> f a (<**>) :: Applicative f => f a -> f (a -> b) -> f b liftA :: Applicative f => (a -> b) -> f a -> f b liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f c liftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d optional :: Alternative f => f a -> f (Maybe a) some :: Alternative f => f a -> f [a] many :: Alternative f => f a -> f [a] module Data.Foldable class Foldable t fold :: (Foldable t, Monoid m) => t m -> m foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b foldl :: Foldable t => (a -> b -> a) -> a -> t b -> a foldr1 :: Foldable t => (a -> a -> a) -> t a -> a foldl1 :: Foldable t => (a -> a -> a) -> t a -> a instance Foldable Maybe instance Foldable [] foldr' :: Foldable t => (a -> b -> b) -> b -> t a -> b foldl' :: Foldable t => (a -> b -> a) -> a -> t b -> a foldrM :: (Foldable t, Monad m) => (a -> b -> m b) -> b -> t a -> m b foldlM :: (Foldable t, Monad m) => (a -> b -> m a) -> a -> t b -> m a traverse_ :: (Foldable t, Applicative f) => (a -> f b) -> t a -> f () for_ :: (Foldable t, Applicative f) => t a -> (a -> f b) -> f () sequenceA_ :: (Foldable t, Applicative f) => t (f a) -> f () asum :: (Foldable t, Alternative f) => t (f a) -> f a mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m () forM_ :: (Foldable t, Monad m) => t a -> (a -> m b) -> m () sequence_ :: (Foldable t, Monad m) => t (m a) -> m () msum :: (Foldable t, MonadPlus m) => t (m a) -> m a toList :: Foldable t => t a -> [a] concat :: Foldable t => t [a] -> [a] concatMap :: Foldable t => (a -> [b]) -> t a -> [b] and :: Foldable t => t Bool -> Bool or :: Foldable t => t Bool -> Bool any :: Foldable t => (a -> Bool) -> t a -> Bool all :: Foldable t => (a -> Bool) -> t a -> Bool sum :: (Foldable t, Num a) => t a -> a product :: (Foldable t, Num a) => t a -> a maximum :: (Foldable t, Ord a) => t a -> a maximumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a minimum :: (Foldable t, Ord a) => t a -> a minimumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a elem :: (Foldable t, Eq a) => a -> t a -> Bool notElem :: (Foldable t, Eq a) => a -> t a -> Bool find :: Foldable t => (a -> Bool) -> t a -> Maybe a module Data.Traversable class (Functor t, Foldable t) => Traversable t traverse :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a) mapM :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b) sequence :: (Traversable t, Monad m) => t (m a) -> m (t a) instance Traversable Maybe instance Traversable [] for :: (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b) forM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b) fmapDefault :: Traversable t => (a -> b) -> t a -> t b foldMapDefault :: (Traversable t, Monoid m) => (a -> m) -> t a -> m -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module Data.Array module Data.Array.IArray class IArray a e bounds :: (IArray a e, Ix i) => a i e -> (i, i) instance IArray Array e instance IArray UArray Bool instance IArray UArray Char instance IArray UArray Double instance IArray UArray Float instance IArray UArray Int instance IArray UArray Int16 instance IArray UArray Int32 instance IArray UArray Int64 instance IArray UArray Int8 instance IArray UArray Word instance IArray UArray Word16 instance IArray UArray Word32 instance IArray UArray Word64 instance IArray UArray Word8 instance IArray UArray (FunPtr a) instance IArray UArray (Ptr a) instance IArray UArray (StablePtr a) instance IArray (IOToDiffArray IOArray) e instance IArray (IOToDiffArray IOUArray) Char instance IArray (IOToDiffArray IOUArray) Double instance IArray (IOToDiffArray IOUArray) Float instance IArray (IOToDiffArray IOUArray) Int instance IArray (IOToDiffArray IOUArray) Int16 instance IArray (IOToDiffArray IOUArray) Int32 instance IArray (IOToDiffArray IOUArray) Int64 instance IArray (IOToDiffArray IOUArray) Int8 instance IArray (IOToDiffArray IOUArray) Word instance IArray (IOToDiffArray IOUArray) Word16 instance IArray (IOToDiffArray IOUArray) Word32 instance IArray (IOToDiffArray IOUArray) Word64 instance IArray (IOToDiffArray IOUArray) Word8 instance IArray (IOToDiffArray IOUArray) (FunPtr a) instance IArray (IOToDiffArray IOUArray) (Ptr a) instance IArray (IOToDiffArray IOUArray) (StablePtr a) array :: (IArray a e, Ix i) => (i, i) -> [(i, e)] -> a i e listArray :: (IArray a e, Ix i) => (i, i) -> [e] -> a i e accumArray :: (IArray a e, Ix i) => (e -> e' -> e) -> e -> (i, i) -> [(i, e')] -> a i e (!) :: (IArray a e, Ix i) => a i e -> i -> e bounds :: (IArray a e, Ix i) => a i e -> (i, i) indices :: (IArray a e, Ix i) => a i e -> [i] elems :: (IArray a e, Ix i) => a i e -> [e] assocs :: (IArray a e, Ix i) => a i e -> [(i, e)] (//) :: (IArray a e, Ix i) => a i e -> [(i, e)] -> a i e accum :: (IArray a e, Ix i) => (e -> e' -> e) -> a i e -> [(i, e')] -> a i e amap :: (IArray a e', IArray a e, Ix i) => (e' -> e) -> a i e' -> a i e ixmap :: (IArray a e, Ix i, Ix j) => (i, i) -> (i -> j) -> a j e -> a i e module Data.Array.MArray class Monad m => MArray a e m getBounds :: (MArray a e m, Ix i) => a i e -> m (i, i) newArray :: (MArray a e m, Ix i) => (i, i) -> e -> m (a i e) newArray_ :: (MArray a e m, Ix i) => (i, i) -> m (a i e) instance MArray IOArray e IO instance MArray IOUArray Bool IO instance MArray IOUArray Char IO instance MArray IOUArray Double IO instance MArray IOUArray Float IO instance MArray IOUArray Int IO instance MArray IOUArray Int16 IO instance MArray IOUArray Int32 IO instance MArray IOUArray Int64 IO instance MArray IOUArray Int8 IO instance MArray IOUArray Word IO instance MArray IOUArray Word16 IO instance MArray IOUArray Word32 IO instance MArray IOUArray Word64 IO instance MArray IOUArray Word8 IO instance Storable e => MArray StorableArray e IO instance MArray IOUArray (FunPtr a) IO instance MArray IOUArray (Ptr a) IO instance MArray IOUArray (StablePtr a) IO instance MArray (STArray s) e (ST s) instance MArray (STArray s) e (ST s) instance MArray (STUArray s) Bool (ST s) instance MArray (STUArray s) Char (ST s) instance MArray (STUArray s) Double (ST s) instance MArray (STUArray s) Float (ST s) instance MArray (STUArray s) Int (ST s) instance MArray (STUArray s) Int16 (ST s) instance MArray (STUArray s) Int32 (ST s) instance MArray (STUArray s) Int64 (ST s) instance MArray (STUArray s) Int8 (ST s) instance MArray (STUArray s) Word (ST s) instance MArray (STUArray s) Word16 (ST s) instance MArray (STUArray s) Word32 (ST s) instance MArray (STUArray s) Word64 (ST s) instance MArray (STUArray s) Word8 (ST s) instance MArray (STUArray s) (FunPtr a) (ST s) instance MArray (STUArray s) (Ptr a) (ST s) instance MArray (STUArray s) (StablePtr a) (ST s) newArray :: (MArray a e m, Ix i) => (i, i) -> e -> m (a i e) newArray_ :: (MArray a e m, Ix i) => (i, i) -> m (a i e) newListArray :: (MArray a e m, Ix i) => (i, i) -> [e] -> m (a i e) readArray :: (MArray a e m, Ix i) => a i e -> i -> m e writeArray :: (MArray a e m, Ix i) => a i e -> i -> e -> m () mapArray :: (MArray a e' m, MArray a e m, Ix i) => (e' -> e) -> a i e' -> m (a i e) mapIndices :: (MArray a e m, Ix i, Ix j) => (i, i) -> (i -> j) -> a j e -> m (a i e) getBounds :: (MArray a e m, Ix i) => a i e -> m (i, i) getElems :: (MArray a e m, Ix i) => a i e -> m [e] getAssocs :: (MArray a e m, Ix i) => a i e -> m [(i, e)] freeze :: (Ix i, MArray a e m, IArray b e) => a i e -> m (b i e) unsafeFreeze :: (Ix i, MArray a e m, IArray b e) => a i e -> m (b i e) thaw :: (Ix i, IArray a e, MArray b e m) => a i e -> m (b i e) unsafeThaw :: (Ix i, IArray a e, MArray b e m) => a i e -> m (b i e) module Data.Array.ST runSTArray :: Ix i => ST s (STArray s i e) -> Array i e data STUArray s i a instance Typeable3 STUArray instance MArray (STUArray s) Bool (ST s) instance MArray (STUArray s) Char (ST s) instance MArray (STUArray s) Double (ST s) instance MArray (STUArray s) Float (ST s) instance MArray (STUArray s) Int (ST s) instance MArray (STUArray s) Int16 (ST s) instance MArray (STUArray s) Int32 (ST s) instance MArray (STUArray s) Int64 (ST s) instance MArray (STUArray s) Int8 (ST s) instance MArray (STUArray s) Word (ST s) instance MArray (STUArray s) Word16 (ST s) instance MArray (STUArray s) Word32 (ST s) instance MArray (STUArray s) Word64 (ST s) instance MArray (STUArray s) Word8 (ST s) instance MArray (STUArray s) (FunPtr a) (ST s) instance MArray (STUArray s) (Ptr a) (ST s) instance MArray (STUArray s) (StablePtr a) (ST s) instance Eq (STUArray s i e) runSTUArray :: Ix i => ST s (STUArray s i e) -> UArray i e castSTUArray :: STUArray s ix a -> ST s (STUArray s ix b) module Data.Array.Storable data StorableArray i e instance Storable e => MArray StorableArray e IO withStorableArray :: StorableArray i e -> (Ptr e -> IO a) -> IO a touchStorableArray :: StorableArray i e -> IO () unsafeForeignPtrToStorableArray :: Ix i => ForeignPtr e -> (i, i) -> IO (StorableArray i e) module Data.Array.Unboxed data UArray i e instance Typeable2 UArray instance IArray UArray Bool instance IArray UArray Char instance IArray UArray Double instance IArray UArray Float instance IArray UArray Int instance IArray UArray Int16 instance IArray UArray Int32 instance IArray UArray Int64 instance IArray UArray Int8 instance IArray UArray Word instance IArray UArray Word16 instance IArray UArray Word32 instance IArray UArray Word64 instance IArray UArray Word8 instance IArray UArray (FunPtr a) instance IArray UArray (Ptr a) instance IArray UArray (StablePtr a) instance (Ix ix, Eq e, IArray UArray e) => Eq (UArray ix e) instance (Ix ix, Ord e, IArray UArray e) => Ord (UArray ix e) instance (Ix ix, Show ix, Show e, IArray UArray e) => Show (UArray ix e) module Data.Array.IO data IOUArray i e instance Typeable2 IOUArray instance MArray IOUArray Bool IO instance MArray IOUArray Char IO instance MArray IOUArray Double IO instance MArray IOUArray Float IO instance MArray IOUArray Int IO instance MArray IOUArray Int16 IO instance MArray IOUArray Int32 IO instance MArray IOUArray Int64 IO instance MArray IOUArray Int8 IO instance MArray IOUArray Word IO instance MArray IOUArray Word16 IO instance MArray IOUArray Word32 IO instance MArray IOUArray Word64 IO instance MArray IOUArray Word8 IO instance MArray IOUArray (FunPtr a) IO instance MArray IOUArray (Ptr a) IO instance MArray IOUArray (StablePtr a) IO instance IArray (IOToDiffArray IOUArray) Char instance IArray (IOToDiffArray IOUArray) Double instance IArray (IOToDiffArray IOUArray) Float instance IArray (IOToDiffArray IOUArray) Int instance IArray (IOToDiffArray IOUArray) Int16 instance IArray (IOToDiffArray IOUArray) Int32 instance IArray (IOToDiffArray IOUArray) Int64 instance IArray (IOToDiffArray IOUArray) Int8 instance IArray (IOToDiffArray IOUArray) Word instance IArray (IOToDiffArray IOUArray) Word16 instance IArray (IOToDiffArray IOUArray) Word32 instance IArray (IOToDiffArray IOUArray) Word64 instance IArray (IOToDiffArray IOUArray) Word8 instance IArray (IOToDiffArray IOUArray) (FunPtr a) instance IArray (IOToDiffArray IOUArray) (Ptr a) instance IArray (IOToDiffArray IOUArray) (StablePtr a) instance Eq (IOUArray i e) castIOUArray :: IOUArray ix a -> IO (IOUArray ix b) hGetArray :: Handle -> IOUArray Int Word8 -> Int -> IO Int hPutArray :: Handle -> IOUArray Int Word8 -> Int -> IO () module Data.Array.Diff data IOToDiffArray a i e instance IArray (IOToDiffArray IOArray) e instance IArray (IOToDiffArray IOUArray) Char instance IArray (IOToDiffArray IOUArray) Double instance IArray (IOToDiffArray IOUArray) Float instance IArray (IOToDiffArray IOUArray) Int instance IArray (IOToDiffArray IOUArray) Int16 instance IArray (IOToDiffArray IOUArray) Int32 instance IArray (IOToDiffArray IOUArray) Int64 instance IArray (IOToDiffArray IOUArray) Int8 instance IArray (IOToDiffArray IOUArray) Word instance IArray (IOToDiffArray IOUArray) Word16 instance IArray (IOToDiffArray IOUArray) Word32 instance IArray (IOToDiffArray IOUArray) Word64 instance IArray (IOToDiffArray IOUArray) Word8 instance IArray (IOToDiffArray IOUArray) (FunPtr a) instance IArray (IOToDiffArray IOUArray) (Ptr a) instance IArray (IOToDiffArray IOUArray) (StablePtr a) type DiffArray = IOToDiffArray IOArray instance (Ix ix, Show ix, Show e) => Show (DiffArray ix e) type DiffUArray = IOToDiffArray IOUArray instance (Ix ix, Show ix) => Show (DiffUArray ix Char) instance (Ix ix, Show ix) => Show (DiffUArray ix Double) instance (Ix ix, Show ix) => Show (DiffUArray ix Float) instance (Ix ix, Show ix) => Show (DiffUArray ix Int) instance (Ix ix, Show ix) => Show (DiffUArray ix Int16) instance (Ix ix, Show ix) => Show (DiffUArray ix Int32) instance (Ix ix, Show ix) => Show (DiffUArray ix Int64) instance (Ix ix, Show ix) => Show (DiffUArray ix Int8) instance (Ix ix, Show ix) => Show (DiffUArray ix Word) instance (Ix ix, Show ix) => Show (DiffUArray ix Word16) instance (Ix ix, Show ix) => Show (DiffUArray ix Word32) instance (Ix ix, Show ix) => Show (DiffUArray ix Word64) instance (Ix ix, Show ix) => Show (DiffUArray ix Word8) newDiffArray :: (MArray a e IO, Ix i) => (i, i) -> [(Int, e)] -> IO (IOToDiffArray a i e) readDiffArray :: (MArray a e IO, Ix i) => IOToDiffArray a i e -> Int -> IO e replaceDiffArray :: (MArray a e IO, Ix i) => IOToDiffArray a i e -> [(Int, e)] -> IO (IOToDiffArray a i e) -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module Data.ByteString.Internal data ByteString PS :: ForeignPtr Word8 -> Int -> Int -> ByteString instance Data ByteString instance Eq ByteString instance Monoid ByteString instance Ord ByteString instance Read ByteString instance Show ByteString instance Typeable ByteString create :: Int -> (Ptr Word8 -> IO ()) -> IO ByteString createAndTrim :: Int -> (Ptr Word8 -> IO Int) -> IO ByteString createAndTrim' :: Int -> (Ptr Word8 -> IO (Int, Int, a)) -> IO (ByteString, a) unsafeCreate :: Int -> (Ptr Word8 -> IO ()) -> ByteString mallocByteString :: Int -> IO (ForeignPtr a) fromForeignPtr :: ForeignPtr Word8 -> Int -> Int -> ByteString toForeignPtr :: ByteString -> (ForeignPtr Word8, Int, Int) inlinePerformIO :: IO a -> a nullForeignPtr :: ForeignPtr Word8 countOccurrences :: (Storable a, Num a) => Ptr a -> Ptr Word8 -> Int -> IO () c_strlen :: CString -> IO CSize c_free_finalizer :: FunPtr (Ptr Word8 -> IO ()) memchr :: Ptr Word8 -> Word8 -> CSize -> IO (Ptr Word8) memcmp :: Ptr Word8 -> Ptr Word8 -> CSize -> IO CInt memcpy :: Ptr Word8 -> Ptr Word8 -> CSize -> IO () memmove :: Ptr Word8 -> Ptr Word8 -> CSize -> IO () memset :: Ptr Word8 -> Word8 -> CSize -> IO (Ptr Word8) c_reverse :: Ptr Word8 -> Ptr Word8 -> CULong -> IO () c_intersperse :: Ptr Word8 -> Ptr Word8 -> CULong -> Word8 -> IO () c_maximum :: Ptr Word8 -> CULong -> IO Word8 c_minimum :: Ptr Word8 -> CULong -> IO Word8 c_count :: Ptr Word8 -> CULong -> Word8 -> IO CULong memcpy_ptr_baoff :: Ptr a -> RawBuffer -> CInt -> CSize -> IO (Ptr ()) w2c :: Word8 -> Char c2w :: Char -> Word8 isSpaceWord8 :: Word8 -> Bool module Data.ByteString.Lazy.Internal data ByteString Empty :: ByteString Chunk :: ByteString -> ByteString -> ByteString instance Data ByteString instance Eq ByteString instance Monoid ByteString instance Ord ByteString instance Read ByteString instance Show ByteString instance Typeable ByteString chunk :: ByteString -> ByteString -> ByteString foldrChunks :: (ByteString -> a -> a) -> a -> ByteString -> a foldlChunks :: (a -> ByteString -> a) -> a -> ByteString -> a invariant :: ByteString -> Bool checkInvariant :: ByteString -> ByteString defaultChunkSize :: Int smallChunkSize :: Int chunkOverhead :: Int module Data.ByteString.Unsafe unsafeHead :: ByteString -> Word8 unsafeTail :: ByteString -> ByteString unsafeIndex :: ByteString -> Int -> Word8 unsafeTake :: Int -> ByteString -> ByteString unsafeDrop :: Int -> ByteString -> ByteString unsafeUseAsCString :: ByteString -> (CString -> IO a) -> IO a unsafeUseAsCStringLen :: ByteString -> (CStringLen -> IO a) -> IO a unsafePackCString :: CString -> IO ByteString unsafePackCStringLen :: CStringLen -> IO ByteString unsafePackMallocCString :: CString -> IO ByteString unsafePackAddress :: Addr# -> IO ByteString unsafePackAddressLen :: Int -> Addr# -> IO ByteString unsafePackCStringFinalizer :: Ptr Word8 -> Int -> IO () -> IO ByteString unsafeFinalize :: ByteString -> IO () module Data.ByteString data ByteString instance Data ByteString instance Eq ByteString instance Monoid ByteString instance Ord ByteString instance Read ByteString instance Show ByteString instance Typeable ByteString empty :: ByteString singleton :: Word8 -> ByteString pack :: [Word8] -> ByteString unpack :: ByteString -> [Word8] cons :: Word8 -> ByteString -> ByteString snoc :: ByteString -> Word8 -> ByteString append :: ByteString -> ByteString -> ByteString head :: ByteString -> Word8 uncons :: ByteString -> Maybe (Word8, ByteString) last :: ByteString -> Word8 tail :: ByteString -> ByteString init :: ByteString -> ByteString null :: ByteString -> Bool length :: ByteString -> Int map :: (Word8 -> Word8) -> ByteString -> ByteString reverse :: ByteString -> ByteString intersperse :: Word8 -> ByteString -> ByteString intercalate :: ByteString -> [ByteString] -> ByteString transpose :: [ByteString] -> [ByteString] foldl :: (a -> Word8 -> a) -> a -> ByteString -> a foldl' :: (a -> Word8 -> a) -> a -> ByteString -> a foldl1 :: (Word8 -> Word8 -> Word8) -> ByteString -> Word8 foldl1' :: (Word8 -> Word8 -> Word8) -> ByteString -> Word8 foldr :: (Word8 -> a -> a) -> a -> ByteString -> a foldr' :: (Word8 -> a -> a) -> a -> ByteString -> a foldr1 :: (Word8 -> Word8 -> Word8) -> ByteString -> Word8 foldr1' :: (Word8 -> Word8 -> Word8) -> ByteString -> Word8 concat :: [ByteString] -> ByteString concatMap :: (Word8 -> ByteString) -> ByteString -> ByteString any :: (Word8 -> Bool) -> ByteString -> Bool all :: (Word8 -> Bool) -> ByteString -> Bool maximum :: ByteString -> Word8 minimum :: ByteString -> Word8 scanl :: (Word8 -> Word8 -> Word8) -> Word8 -> ByteString -> ByteString scanl1 :: (Word8 -> Word8 -> Word8) -> ByteString -> ByteString scanr :: (Word8 -> Word8 -> Word8) -> Word8 -> ByteString -> ByteString scanr1 :: (Word8 -> Word8 -> Word8) -> ByteString -> ByteString mapAccumL :: (acc -> Word8 -> (acc, Word8)) -> acc -> ByteString -> (acc, ByteString) mapAccumR :: (acc -> Word8 -> (acc, Word8)) -> acc -> ByteString -> (acc, ByteString) mapIndexed :: (Int -> Word8 -> Word8) -> ByteString -> ByteString replicate :: Int -> Word8 -> ByteString unfoldr :: (a -> Maybe (Word8, a)) -> a -> ByteString unfoldrN :: Int -> (a -> Maybe (Word8, a)) -> a -> (ByteString, Maybe a) take :: Int -> ByteString -> ByteString drop :: Int -> ByteString -> ByteString splitAt :: Int -> ByteString -> (ByteString, ByteString) takeWhile :: (Word8 -> Bool) -> ByteString -> ByteString dropWhile :: (Word8 -> Bool) -> ByteString -> ByteString span :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) spanEnd :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) break :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) breakEnd :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) group :: ByteString -> [ByteString] groupBy :: (Word8 -> Word8 -> Bool) -> ByteString -> [ByteString] inits :: ByteString -> [ByteString] tails :: ByteString -> [ByteString] split :: Word8 -> ByteString -> [ByteString] splitWith :: (Word8 -> Bool) -> ByteString -> [ByteString] isPrefixOf :: ByteString -> ByteString -> Bool isSuffixOf :: ByteString -> ByteString -> Bool isInfixOf :: ByteString -> ByteString -> Bool isSubstringOf :: ByteString -> ByteString -> Bool findSubstring :: ByteString -> ByteString -> Maybe Int findSubstrings :: ByteString -> ByteString -> [Int] elem :: Word8 -> ByteString -> Bool notElem :: Word8 -> ByteString -> Bool find :: (Word8 -> Bool) -> ByteString -> Maybe Word8 filter :: (Word8 -> Bool) -> ByteString -> ByteString partition :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) index :: ByteString -> Int -> Word8 elemIndex :: Word8 -> ByteString -> Maybe Int elemIndices :: Word8 -> ByteString -> [Int] elemIndexEnd :: Word8 -> ByteString -> Maybe Int findIndex :: (Word8 -> Bool) -> ByteString -> Maybe Int findIndices :: (Word8 -> Bool) -> ByteString -> [Int] count :: Word8 -> ByteString -> Int zip :: ByteString -> ByteString -> [(Word8, Word8)] zipWith :: (Word8 -> Word8 -> a) -> ByteString -> ByteString -> [a] unzip :: [(Word8, Word8)] -> (ByteString, ByteString) sort :: ByteString -> ByteString copy :: ByteString -> ByteString packCString :: CString -> IO ByteString packCStringLen :: CStringLen -> IO ByteString useAsCString :: ByteString -> (CString -> IO a) -> IO a useAsCStringLen :: ByteString -> (CStringLen -> IO a) -> IO a getLine :: IO ByteString getContents :: IO ByteString putStr :: ByteString -> IO () putStrLn :: ByteString -> IO () interact :: (ByteString -> ByteString) -> IO () readFile :: FilePath -> IO ByteString writeFile :: FilePath -> ByteString -> IO () appendFile :: FilePath -> ByteString -> IO () hGetLine :: Handle -> IO ByteString hGetContents :: Handle -> IO ByteString hGet :: Handle -> Int -> IO ByteString hGetNonBlocking :: Handle -> Int -> IO ByteString hPut :: Handle -> ByteString -> IO () hPutStr :: Handle -> ByteString -> IO () hPutStrLn :: Handle -> ByteString -> IO () module Data.ByteString.Char8 data ByteString instance Data ByteString instance Eq ByteString instance Monoid ByteString instance Ord ByteString instance Read ByteString instance Show ByteString instance Typeable ByteString empty :: ByteString singleton :: Char -> ByteString pack :: String -> ByteString unpack :: ByteString -> [Char] cons :: Char -> ByteString -> ByteString snoc :: ByteString -> Char -> ByteString append :: ByteString -> ByteString -> ByteString head :: ByteString -> Char uncons :: ByteString -> Maybe (Char, ByteString) last :: ByteString -> Char tail :: ByteString -> ByteString init :: ByteString -> ByteString null :: ByteString -> Bool length :: ByteString -> Int map :: (Char -> Char) -> ByteString -> ByteString reverse :: ByteString -> ByteString intersperse :: Char -> ByteString -> ByteString intercalate :: ByteString -> [ByteString] -> ByteString transpose :: [ByteString] -> [ByteString] foldl :: (a -> Char -> a) -> a -> ByteString -> a foldl' :: (a -> Char -> a) -> a -> ByteString -> a foldl1 :: (Char -> Char -> Char) -> ByteString -> Char foldl1' :: (Char -> Char -> Char) -> ByteString -> Char foldr :: (Char -> a -> a) -> a -> ByteString -> a foldr' :: (Char -> a -> a) -> a -> ByteString -> a foldr1 :: (Char -> Char -> Char) -> ByteString -> Char foldr1' :: (Char -> Char -> Char) -> ByteString -> Char concat :: [ByteString] -> ByteString concatMap :: (Char -> ByteString) -> ByteString -> ByteString any :: (Char -> Bool) -> ByteString -> Bool all :: (Char -> Bool) -> ByteString -> Bool maximum :: ByteString -> Char minimum :: ByteString -> Char scanl :: (Char -> Char -> Char) -> Char -> ByteString -> ByteString scanl1 :: (Char -> Char -> Char) -> ByteString -> ByteString scanr :: (Char -> Char -> Char) -> Char -> ByteString -> ByteString scanr1 :: (Char -> Char -> Char) -> ByteString -> ByteString mapAccumL :: (acc -> Char -> (acc, Char)) -> acc -> ByteString -> (acc, ByteString) mapAccumR :: (acc -> Char -> (acc, Char)) -> acc -> ByteString -> (acc, ByteString) mapIndexed :: (Int -> Char -> Char) -> ByteString -> ByteString replicate :: Int -> Char -> ByteString unfoldr :: (a -> Maybe (Char, a)) -> a -> ByteString unfoldrN :: Int -> (a -> Maybe (Char, a)) -> a -> (ByteString, Maybe a) take :: Int -> ByteString -> ByteString drop :: Int -> ByteString -> ByteString splitAt :: Int -> ByteString -> (ByteString, ByteString) takeWhile :: (Char -> Bool) -> ByteString -> ByteString dropWhile :: (Char -> Bool) -> ByteString -> ByteString span :: (Char -> Bool) -> ByteString -> (ByteString, ByteString) spanEnd :: (Char -> Bool) -> ByteString -> (ByteString, ByteString) break :: (Char -> Bool) -> ByteString -> (ByteString, ByteString) breakEnd :: (Char -> Bool) -> ByteString -> (ByteString, ByteString) group :: ByteString -> [ByteString] groupBy :: (Char -> Char -> Bool) -> ByteString -> [ByteString] inits :: ByteString -> [ByteString] tails :: ByteString -> [ByteString] split :: Char -> ByteString -> [ByteString] splitWith :: (Char -> Bool) -> ByteString -> [ByteString] lines :: ByteString -> [ByteString] words :: ByteString -> [ByteString] unlines :: [ByteString] -> ByteString unwords :: [ByteString] -> ByteString isPrefixOf :: ByteString -> ByteString -> Bool isSuffixOf :: ByteString -> ByteString -> Bool isInfixOf :: ByteString -> ByteString -> Bool isSubstringOf :: ByteString -> ByteString -> Bool findSubstring :: ByteString -> ByteString -> Maybe Int findSubstrings :: ByteString -> ByteString -> [Int] elem :: Char -> ByteString -> Bool notElem :: Char -> ByteString -> Bool find :: (Char -> Bool) -> ByteString -> Maybe Char filter :: (Char -> Bool) -> ByteString -> ByteString index :: ByteString -> Int -> Char elemIndex :: Char -> ByteString -> Maybe Int elemIndices :: Char -> ByteString -> [Int] elemIndexEnd :: Char -> ByteString -> Maybe Int findIndex :: (Char -> Bool) -> ByteString -> Maybe Int findIndices :: (Char -> Bool) -> ByteString -> [Int] count :: Char -> ByteString -> Int zip :: ByteString -> ByteString -> [(Char, Char)] zipWith :: (Char -> Char -> a) -> ByteString -> ByteString -> [a] unzip :: [(Char, Char)] -> (ByteString, ByteString) sort :: ByteString -> ByteString readInt :: ByteString -> Maybe (Int, ByteString) readInteger :: ByteString -> Maybe (Integer, ByteString) copy :: ByteString -> ByteString packCString :: CString -> IO ByteString packCStringLen :: CStringLen -> IO ByteString useAsCString :: ByteString -> (CString -> IO a) -> IO a useAsCStringLen :: ByteString -> (CStringLen -> IO a) -> IO a getLine :: IO ByteString getContents :: IO ByteString putStr :: ByteString -> IO () putStrLn :: ByteString -> IO () interact :: (ByteString -> ByteString) -> IO () readFile :: FilePath -> IO ByteString writeFile :: FilePath -> ByteString -> IO () appendFile :: FilePath -> ByteString -> IO () hGetLine :: Handle -> IO ByteString hGetContents :: Handle -> IO ByteString hGet :: Handle -> Int -> IO ByteString hGetNonBlocking :: Handle -> Int -> IO ByteString hPut :: Handle -> ByteString -> IO () hPutStr :: Handle -> ByteString -> IO () hPutStrLn :: Handle -> ByteString -> IO () module Data.ByteString.Lazy data ByteString instance Data ByteString instance Eq ByteString instance Monoid ByteString instance Ord ByteString instance Read ByteString instance Show ByteString instance Typeable ByteString empty :: ByteString singleton :: Word8 -> ByteString pack :: [Word8] -> ByteString unpack :: ByteString -> [Word8] fromChunks :: [ByteString] -> ByteString toChunks :: ByteString -> [ByteString] cons :: Word8 -> ByteString -> ByteString cons' :: Word8 -> ByteString -> ByteString snoc :: ByteString -> Word8 -> ByteString append :: ByteString -> ByteString -> ByteString head :: ByteString -> Word8 uncons :: ByteString -> Maybe (Word8, ByteString) last :: ByteString -> Word8 tail :: ByteString -> ByteString init :: ByteString -> ByteString null :: ByteString -> Bool length :: ByteString -> Int64 map :: (Word8 -> Word8) -> ByteString -> ByteString reverse :: ByteString -> ByteString intersperse :: Word8 -> ByteString -> ByteString intercalate :: ByteString -> [ByteString] -> ByteString transpose :: [ByteString] -> [ByteString] foldl :: (a -> Word8 -> a) -> a -> ByteString -> a foldl' :: (a -> Word8 -> a) -> a -> ByteString -> a foldl1 :: (Word8 -> Word8 -> Word8) -> ByteString -> Word8 foldl1' :: (Word8 -> Word8 -> Word8) -> ByteString -> Word8 foldr :: (Word8 -> a -> a) -> a -> ByteString -> a foldr1 :: (Word8 -> Word8 -> Word8) -> ByteString -> Word8 concat :: [ByteString] -> ByteString concatMap :: (Word8 -> ByteString) -> ByteString -> ByteString any :: (Word8 -> Bool) -> ByteString -> Bool all :: (Word8 -> Bool) -> ByteString -> Bool maximum :: ByteString -> Word8 minimum :: ByteString -> Word8 scanl :: (Word8 -> Word8 -> Word8) -> Word8 -> ByteString -> ByteString mapAccumL :: (acc -> Word8 -> (acc, Word8)) -> acc -> ByteString -> (acc, ByteString) mapAccumR :: (acc -> Word8 -> (acc, Word8)) -> acc -> ByteString -> (acc, ByteString) mapIndexed :: (Int -> Word8 -> Word8) -> ByteString -> ByteString repeat :: Word8 -> ByteString replicate :: Int64 -> Word8 -> ByteString cycle :: ByteString -> ByteString iterate :: (Word8 -> Word8) -> Word8 -> ByteString unfoldr :: (a -> Maybe (Word8, a)) -> a -> ByteString take :: Int64 -> ByteString -> ByteString drop :: Int64 -> ByteString -> ByteString splitAt :: Int64 -> ByteString -> (ByteString, ByteString) takeWhile :: (Word8 -> Bool) -> ByteString -> ByteString dropWhile :: (Word8 -> Bool) -> ByteString -> ByteString span :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) break :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) group :: ByteString -> [ByteString] groupBy :: (Word8 -> Word8 -> Bool) -> ByteString -> [ByteString] inits :: ByteString -> [ByteString] tails :: ByteString -> [ByteString] split :: Word8 -> ByteString -> [ByteString] splitWith :: (Word8 -> Bool) -> ByteString -> [ByteString] isPrefixOf :: ByteString -> ByteString -> Bool isSuffixOf :: ByteString -> ByteString -> Bool elem :: Word8 -> ByteString -> Bool notElem :: Word8 -> ByteString -> Bool find :: (Word8 -> Bool) -> ByteString -> Maybe Word8 filter :: (Word8 -> Bool) -> ByteString -> ByteString partition :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) index :: ByteString -> Int64 -> Word8 elemIndex :: Word8 -> ByteString -> Maybe Int64 elemIndices :: Word8 -> ByteString -> [Int64] findIndex :: (Word8 -> Bool) -> ByteString -> Maybe Int64 findIndices :: (Word8 -> Bool) -> ByteString -> [Int64] count :: Word8 -> ByteString -> Int64 zip :: ByteString -> ByteString -> [(Word8, Word8)] zipWith :: (Word8 -> Word8 -> a) -> ByteString -> ByteString -> [a] unzip :: [(Word8, Word8)] -> (ByteString, ByteString) copy :: ByteString -> ByteString getContents :: IO ByteString putStr :: ByteString -> IO () putStrLn :: ByteString -> IO () interact :: (ByteString -> ByteString) -> IO () readFile :: FilePath -> IO ByteString writeFile :: FilePath -> ByteString -> IO () appendFile :: FilePath -> ByteString -> IO () hGetContents :: Handle -> IO ByteString hGet :: Handle -> Int -> IO ByteString hGetNonBlocking :: Handle -> Int -> IO ByteString hPut :: Handle -> ByteString -> IO () hPutStr :: Handle -> ByteString -> IO () module Data.ByteString.Lazy.Char8 data ByteString instance Data ByteString instance Eq ByteString instance Monoid ByteString instance Ord ByteString instance Read ByteString instance Show ByteString instance Typeable ByteString empty :: ByteString singleton :: Char -> ByteString pack :: [Char] -> ByteString unpack :: ByteString -> [Char] fromChunks :: [ByteString] -> ByteString toChunks :: ByteString -> [ByteString] cons :: Char -> ByteString -> ByteString cons' :: Char -> ByteString -> ByteString snoc :: ByteString -> Char -> ByteString append :: ByteString -> ByteString -> ByteString head :: ByteString -> Char uncons :: ByteString -> Maybe (Char, ByteString) last :: ByteString -> Char tail :: ByteString -> ByteString init :: ByteString -> ByteString null :: ByteString -> Bool length :: ByteString -> Int64 map :: (Char -> Char) -> ByteString -> ByteString reverse :: ByteString -> ByteString intersperse :: Char -> ByteString -> ByteString intercalate :: ByteString -> [ByteString] -> ByteString transpose :: [ByteString] -> [ByteString] foldl :: (a -> Char -> a) -> a -> ByteString -> a foldl' :: (a -> Char -> a) -> a -> ByteString -> a foldl1 :: (Char -> Char -> Char) -> ByteString -> Char foldl1' :: (Char -> Char -> Char) -> ByteString -> Char foldr :: (Char -> a -> a) -> a -> ByteString -> a foldr1 :: (Char -> Char -> Char) -> ByteString -> Char concat :: [ByteString] -> ByteString concatMap :: (Char -> ByteString) -> ByteString -> ByteString any :: (Char -> Bool) -> ByteString -> Bool all :: (Char -> Bool) -> ByteString -> Bool maximum :: ByteString -> Char minimum :: ByteString -> Char scanl :: (Char -> Char -> Char) -> Char -> ByteString -> ByteString mapAccumL :: (acc -> Char -> (acc, Char)) -> acc -> ByteString -> (acc, ByteString) mapIndexed :: (Int -> Char -> Char) -> ByteString -> ByteString repeat :: Char -> ByteString replicate :: Int64 -> Char -> ByteString cycle :: ByteString -> ByteString iterate :: (Char -> Char) -> Char -> ByteString unfoldr :: (a -> Maybe (Char, a)) -> a -> ByteString take :: Int64 -> ByteString -> ByteString drop :: Int64 -> ByteString -> ByteString splitAt :: Int64 -> ByteString -> (ByteString, ByteString) takeWhile :: (Char -> Bool) -> ByteString -> ByteString dropWhile :: (Char -> Bool) -> ByteString -> ByteString span :: (Char -> Bool) -> ByteString -> (ByteString, ByteString) break :: (Char -> Bool) -> ByteString -> (ByteString, ByteString) group :: ByteString -> [ByteString] groupBy :: (Char -> Char -> Bool) -> ByteString -> [ByteString] inits :: ByteString -> [ByteString] tails :: ByteString -> [ByteString] split :: Char -> ByteString -> [ByteString] splitWith :: (Char -> Bool) -> ByteString -> [ByteString] lines :: ByteString -> [ByteString] words :: ByteString -> [ByteString] unlines :: [ByteString] -> ByteString unwords :: [ByteString] -> ByteString isPrefixOf :: ByteString -> ByteString -> Bool elem :: Char -> ByteString -> Bool notElem :: Char -> ByteString -> Bool find :: (Char -> Bool) -> ByteString -> Maybe Char filter :: (Char -> Bool) -> ByteString -> ByteString index :: ByteString -> Int64 -> Char elemIndex :: Char -> ByteString -> Maybe Int64 elemIndices :: Char -> ByteString -> [Int64] findIndex :: (Char -> Bool) -> ByteString -> Maybe Int64 findIndices :: (Char -> Bool) -> ByteString -> [Int64] count :: Char -> ByteString -> Int64 zip :: ByteString -> ByteString -> [(Char, Char)] zipWith :: (Char -> Char -> a) -> ByteString -> ByteString -> [a] copy :: ByteString -> ByteString readInt :: ByteString -> Maybe (Int, ByteString) readInteger :: ByteString -> Maybe (Integer, ByteString) getContents :: IO ByteString putStr :: ByteString -> IO () putStrLn :: ByteString -> IO () interact :: (ByteString -> ByteString) -> IO () readFile :: FilePath -> IO ByteString writeFile :: FilePath -> ByteString -> IO () appendFile :: FilePath -> ByteString -> IO () hGetContents :: Handle -> IO ByteString hGet :: Handle -> Int -> IO ByteString hGetNonBlocking :: Handle -> Int -> IO ByteString hPut :: Handle -> ByteString -> IO () -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module Language.Haskell.Extension data Extension OverlappingInstances :: Extension UndecidableInstances :: Extension IncoherentInstances :: Extension RecursiveDo :: Extension ParallelListComp :: Extension MultiParamTypeClasses :: Extension NoMonomorphismRestriction :: Extension FunctionalDependencies :: Extension Rank2Types :: Extension RankNTypes :: Extension PolymorphicComponents :: Extension ExistentialQuantification :: Extension ScopedTypeVariables :: Extension ImplicitParams :: Extension FlexibleContexts :: Extension FlexibleInstances :: Extension EmptyDataDecls :: Extension CPP :: Extension KindSignatures :: Extension BangPatterns :: Extension TypeSynonymInstances :: Extension TemplateHaskell :: Extension ForeignFunctionInterface :: Extension Arrows :: Extension Generics :: Extension NoImplicitPrelude :: Extension NamedFieldPuns :: Extension PatternGuards :: Extension GeneralizedNewtypeDeriving :: Extension ExtensibleRecords :: Extension RestrictedTypeSynonyms :: Extension HereDocuments :: Extension MagicHash :: Extension TypeFamilies :: Extension StandaloneDeriving :: Extension UnicodeSyntax :: Extension PatternSignatures :: Extension UnliftedFFITypes :: Extension LiberalTypeSynonyms :: Extension TypeOperators :: Extension RecordWildCards :: Extension RecordPuns :: Extension DisambiguateRecordFields :: Extension OverloadedStrings :: Extension GADTs :: Extension NoMonoPatBinds :: Extension RelaxedPolyRec :: Extension ExtendedDefaultRules :: Extension UnboxedTuples :: Extension DeriveDataTypeable :: Extension ConstrainedClassMethods :: Extension instance Eq Extension instance Read Extension instance Show Extension module Distribution.Verbosity data Verbosity instance Eq Verbosity instance Ord Verbosity instance Show Verbosity silent :: Verbosity normal :: Verbosity verbose :: Verbosity deafening :: Verbosity moreVerbose :: Verbosity -> Verbosity lessVerbose :: Verbosity -> Verbosity intToVerbosity :: Int -> Maybe Verbosity flagToVerbosity :: Maybe String -> Verbosity showForCabal :: Verbosity -> String showForGHC :: Verbosity -> String module Distribution.System data OS Linux :: OS Windows :: Windows -> OS OSX :: OS Solaris :: OS Other :: String -> OS data Windows MingW :: Windows os :: OS module Distribution.Simple.PreProcess.Unlit unlit :: FilePath -> String -> String plain :: String -> String -> String module Distribution.Simple.GHC.Makefile makefileTemplate :: String module Distribution.License data License GPL :: License LGPL :: License BSD3 :: License BSD4 :: License PublicDomain :: License AllRightsReserved :: License OtherLicense :: License instance Eq License instance Read License instance Show License module Distribution.Extension data Extension OverlappingInstances :: Extension UndecidableInstances :: Extension IncoherentInstances :: Extension RecursiveDo :: Extension ParallelListComp :: Extension MultiParamTypeClasses :: Extension NoMonomorphismRestriction :: Extension FunctionalDependencies :: Extension Rank2Types :: Extension RankNTypes :: Extension PolymorphicComponents :: Extension ExistentialQuantification :: Extension ScopedTypeVariables :: Extension ImplicitParams :: Extension FlexibleContexts :: Extension FlexibleInstances :: Extension EmptyDataDecls :: Extension CPP :: Extension KindSignatures :: Extension BangPatterns :: Extension TypeSynonymInstances :: Extension TemplateHaskell :: Extension ForeignFunctionInterface :: Extension Arrows :: Extension Generics :: Extension NoImplicitPrelude :: Extension NamedFieldPuns :: Extension PatternGuards :: Extension GeneralizedNewtypeDeriving :: Extension ExtensibleRecords :: Extension RestrictedTypeSynonyms :: Extension HereDocuments :: Extension MagicHash :: Extension TypeFamilies :: Extension StandaloneDeriving :: Extension UnicodeSyntax :: Extension PatternSignatures :: Extension UnliftedFFITypes :: Extension LiberalTypeSynonyms :: Extension TypeOperators :: Extension RecordWildCards :: Extension RecordPuns :: Extension DisambiguateRecordFields :: Extension OverloadedStrings :: Extension GADTs :: Extension NoMonoPatBinds :: Extension RelaxedPolyRec :: Extension ExtendedDefaultRules :: Extension UnboxedTuples :: Extension DeriveDataTypeable :: Extension ConstrainedClassMethods :: Extension instance Eq Extension instance Read Extension instance Show Extension module Distribution.Compiler data CompilerFlavor GHC :: CompilerFlavor NHC :: CompilerFlavor Hugs :: CompilerFlavor HBC :: CompilerFlavor Helium :: CompilerFlavor JHC :: CompilerFlavor OtherCompiler :: String -> CompilerFlavor instance Eq CompilerFlavor instance Ord CompilerFlavor instance Read CompilerFlavor instance Show CompilerFlavor defaultCompilerFlavor :: Maybe CompilerFlavor module Distribution.Compat.ReadP type ReadP r a = ReadP a module Distribution.Version readVersion :: String -> Maybe Version data VersionRange AnyVersion :: VersionRange ThisVersion :: Version -> VersionRange LaterVersion :: Version -> VersionRange EarlierVersion :: Version -> VersionRange UnionVersionRanges :: VersionRange -> VersionRange -> VersionRange IntersectVersionRanges :: VersionRange -> VersionRange -> VersionRange instance Eq VersionRange instance Read VersionRange instance Show VersionRange orLaterVersion :: Version -> VersionRange orEarlierVersion :: Version -> VersionRange betweenVersionsInclusive :: Version -> Version -> VersionRange withinRange :: Version -> VersionRange -> Bool showVersionRange :: VersionRange -> String parseVersionRange :: ReadP r VersionRange isAnyVersion :: VersionRange -> Bool data Dependency Dependency :: String -> VersionRange -> Dependency instance Eq Dependency instance Read Dependency instance Show Dependency module Distribution.Configuration data Flag MkFlag :: String -> String -> Bool -> Flag flagName :: Flag -> String flagDescription :: Flag -> String flagDefault :: Flag -> Bool instance Show Flag data ConfVar OS :: String -> ConfVar Arch :: String -> ConfVar Flag :: ConfFlag -> ConfVar Impl :: String -> VersionRange -> ConfVar instance Eq ConfVar instance Show ConfVar data Condition c Var :: c -> Condition c Lit :: Bool -> Condition c CNot :: Condition c -> Condition c COr :: Condition c -> Condition c -> Condition c CAnd :: Condition c -> Condition c -> Condition c instance Show c => Show (Condition c) parseCondition :: ReadP r (Condition ConfVar) simplifyCondition :: Condition c -> (c -> Either d Bool) -> (Condition d, [d]) data CondTree v c a CondNode :: a -> c -> [(Condition v, CondTree v c a, Maybe (CondTree v c a))] -> CondTree v c a condTreeData :: CondTree v c a -> a condTreeConstraints :: CondTree v c a -> c condTreeComponents :: CondTree v c a -> [(Condition v, CondTree v c a, Maybe (CondTree v c a))] instance (Show v, Show c) => Show (CondTree v c a) ppCondTree :: Show v => CondTree v c a -> (c -> Doc) -> Doc mapTreeData :: (a -> b) -> CondTree v c a -> CondTree v c b resolveWithFlags :: Monoid a => [(String, [Bool])] -> String -> String -> (String, Version) -> [CondTree ConfVar [d] a] -> ([d] -> DepTestRslt [d]) -> Either [d] ([a], [d], [(String, Bool)]) ignoreConditions :: (Monoid a, Monoid c) => CondTree v c a -> (a, c) data DepTestRslt d DepOk :: DepTestRslt d MissingDeps :: d -> DepTestRslt d instance Monoid d => Monoid (DepTestRslt d) module Distribution.Package data PackageIdentifier PackageIdentifier :: String -> Version -> PackageIdentifier pkgName :: PackageIdentifier -> String pkgVersion :: PackageIdentifier -> Version instance Eq PackageIdentifier instance Ord PackageIdentifier instance Read PackageIdentifier instance Show PackageIdentifier showPackageId :: PackageIdentifier -> String parsePackageId :: ReadP r PackageIdentifier parsePackageName :: ReadP r String module Distribution.InstalledPackageInfo data InstalledPackageInfo_ m InstalledPackageInfo_ :: PackageIdentifier -> License -> String -> String -> String -> String -> String -> String -> String -> String -> Bool -> [m] -> [m] -> [FilePath] -> [FilePath] -> [String] -> [String] -> [String] -> [FilePath] -> [String] -> [PackageIdentifier] -> [String] -> [String] -> [String] -> [FilePath] -> [String] -> [FilePath] -> [FilePath] -> InstalledPackageInfo_ m package :: InstalledPackageInfo_ m -> PackageIdentifier license :: InstalledPackageInfo_ m -> License copyright :: InstalledPackageInfo_ m -> String maintainer :: InstalledPackageInfo_ m -> String author :: InstalledPackageInfo_ m -> String stability :: InstalledPackageInfo_ m -> String homepage :: InstalledPackageInfo_ m -> String pkgUrl :: InstalledPackageInfo_ m -> String description :: InstalledPackageInfo_ m -> String category :: InstalledPackageInfo_ m -> String exposed :: InstalledPackageInfo_ m -> Bool exposedModules :: InstalledPackageInfo_ m -> [m] hiddenModules :: InstalledPackageInfo_ m -> [m] importDirs :: InstalledPackageInfo_ m -> [FilePath] libraryDirs :: InstalledPackageInfo_ m -> [FilePath] hsLibraries :: InstalledPackageInfo_ m -> [String] extraLibraries :: InstalledPackageInfo_ m -> [String] extraGHCiLibraries :: InstalledPackageInfo_ m -> [String] includeDirs :: InstalledPackageInfo_ m -> [FilePath] includes :: InstalledPackageInfo_ m -> [String] depends :: InstalledPackageInfo_ m -> [PackageIdentifier] hugsOptions :: InstalledPackageInfo_ m -> [String] ccOptions :: InstalledPackageInfo_ m -> [String] ldOptions :: InstalledPackageInfo_ m -> [String] frameworkDirs :: InstalledPackageInfo_ m -> [FilePath] frameworks :: InstalledPackageInfo_ m -> [String] haddockInterfaces :: InstalledPackageInfo_ m -> [FilePath] haddockHTMLs :: InstalledPackageInfo_ m -> [FilePath] instance ??? m => Read (InstalledPackageInfo_ m) instance ??? m => Show (InstalledPackageInfo_ m) type InstalledPackageInfo = InstalledPackageInfo_ String data ParseResult a ParseFailed :: PError -> ParseResult a ParseOk :: [PWarning] -> a -> ParseResult a instance Monad ParseResult instance Show a => Show (ParseResult a) data PError AmbigousParse :: String -> LineNo -> PError NoParse :: String -> LineNo -> PError TabsError :: LineNo -> PError FromString :: String -> Maybe LineNo -> PError instance Show PError type PWarning = String emptyInstalledPackageInfo :: InstalledPackageInfo_ m parseInstalledPackageInfo :: String -> ParseResult InstalledPackageInfo showInstalledPackageInfo :: InstalledPackageInfo -> String showInstalledPackageInfoField :: String -> Maybe (InstalledPackageInfo -> String) module Distribution.Simple.Compiler data Compiler Compiler :: CompilerFlavor -> PackageIdentifier -> [(Extension, Flag)] -> Compiler compilerFlavor :: Compiler -> CompilerFlavor compilerId :: Compiler -> PackageIdentifier compilerExtensions :: Compiler -> [(Extension, Flag)] instance Read Compiler instance Show Compiler showCompilerId :: Compiler -> String compilerVersion :: Compiler -> Version data PackageDB GlobalPackageDB :: PackageDB UserPackageDB :: PackageDB SpecificPackageDB :: FilePath -> PackageDB instance Read PackageDB instance Show PackageDB type Flag = String extensionsToFlags :: Compiler -> [Extension] -> [Flag] unsupportedExtensions :: Compiler -> [Extension] -> [Extension] module Distribution.Simple.Utils die :: String -> IO a dieWithLocation :: FilePath -> Maybe Int -> String -> IO a warn :: Verbosity -> String -> IO () notice :: Verbosity -> String -> IO () info :: Verbosity -> String -> IO () debug :: Verbosity -> String -> IO () breaks :: (a -> Bool) -> [a] -> [[a]] wrapText :: Int -> [String] -> [String] rawSystemExit :: Verbosity -> FilePath -> [String] -> IO () rawSystemStdout :: Verbosity -> FilePath -> [String] -> IO String rawSystemStdout' :: Verbosity -> FilePath -> [String] -> IO (String, ExitCode) maybeExit :: IO ExitCode -> IO () xargs :: Int -> ([String] -> IO ()) -> [String] -> [String] -> IO () matchesDescFile :: FilePath -> Bool rawSystemPathExit :: Verbosity -> String -> [String] -> IO () smartCopySources :: Verbosity -> [FilePath] -> FilePath -> [String] -> [String] -> Bool -> Bool -> IO () createDirectoryIfMissingVerbose :: Verbosity -> Bool -> FilePath -> IO () copyFileVerbose :: Verbosity -> FilePath -> FilePath -> IO () copyDirectoryRecursiveVerbose :: Verbosity -> FilePath -> FilePath -> IO () moduleToFilePath :: [FilePath] -> String -> [String] -> IO [FilePath] moduleToFilePath2 :: [FilePath] -> String -> [String] -> IO [(FilePath, FilePath)] mkLibName :: FilePath -> String -> String mkProfLibName :: FilePath -> String -> String mkSharedLibName :: FilePath -> String -> PackageIdentifier -> String currentDir :: FilePath dotToSep :: String -> String findFile :: [FilePath] -> FilePath -> IO FilePath defaultPackageDesc :: Verbosity -> IO FilePath findPackageDesc :: Verbosity -> FilePath -> IO FilePath defaultHookedPackageDesc :: IO (Maybe FilePath) findHookedPackageDesc :: FilePath -> IO (Maybe FilePath) exeExtension :: String objExtension :: String dllExtension :: String module Distribution.PackageDescription data PackageDescription PackageDescription :: PackageIdentifier -> License -> FilePath -> String -> String -> String -> String -> [(CompilerFlavor, VersionRange)] -> String -> String -> String -> String -> String -> [Dependency] -> VersionRange -> BuildType -> Maybe Library -> [Executable] -> [FilePath] -> [FilePath] -> [FilePath] -> PackageDescription package :: PackageDescription -> PackageIdentifier license :: PackageDescription -> License licenseFile :: PackageDescription -> FilePath copyright :: PackageDescription -> String maintainer :: PackageDescription -> String author :: PackageDescription -> String stability :: PackageDescription -> String testedWith :: PackageDescription -> [(CompilerFlavor, VersionRange)] homepage :: PackageDescription -> String pkgUrl :: PackageDescription -> String synopsis :: PackageDescription -> String description :: PackageDescription -> String category :: PackageDescription -> String buildDepends :: PackageDescription -> [Dependency] descCabalVersion :: PackageDescription -> VersionRange buildType :: PackageDescription -> BuildType library :: PackageDescription -> Maybe Library executables :: PackageDescription -> [Executable] dataFiles :: PackageDescription -> [FilePath] extraSrcFiles :: PackageDescription -> [FilePath] extraTmpFiles :: PackageDescription -> [FilePath] instance Eq PackageDescription instance Read PackageDescription instance Show PackageDescription data GenericPackageDescription GenericPackageDescription :: PackageDescription -> [Flag] -> Maybe (CondTree ConfVar [Dependency] Library) -> [(String, CondTree ConfVar [Dependency] Executable)] -> GenericPackageDescription packageDescription :: GenericPackageDescription -> PackageDescription genPackageFlags :: GenericPackageDescription -> [Flag] condLibrary :: GenericPackageDescription -> Maybe (CondTree ConfVar [Dependency] Library) condExecutables :: GenericPackageDescription -> [(String, CondTree ConfVar [Dependency] Executable)] instance Show GenericPackageDescription finalizePackageDescription :: [(String, Bool)] -> Maybe [PackageIdentifier] -> String -> String -> (String, Version) -> GenericPackageDescription -> Either [Dependency] (PackageDescription, [(String, Bool)]) flattenPackageDescription :: GenericPackageDescription -> PackageDescription emptyPackageDescription :: PackageDescription readPackageDescription :: Verbosity -> FilePath -> IO GenericPackageDescription writePackageDescription :: FilePath -> PackageDescription -> IO () parsePackageDescription :: String -> ParseResult GenericPackageDescription showPackageDescription :: PackageDescription -> String data BuildType Simple :: BuildType Configure :: BuildType Make :: BuildType Custom :: BuildType instance Eq BuildType instance Read BuildType instance Show BuildType data Library Library :: [String] -> BuildInfo -> Library exposedModules :: Library -> [String] libBuildInfo :: Library -> BuildInfo instance Eq Library instance Monoid Library instance Read Library instance Show Library withLib :: PackageDescription -> a -> (Library -> IO a) -> IO a hasLibs :: PackageDescription -> Bool libModules :: PackageDescription -> [String] data Executable Executable :: String -> FilePath -> BuildInfo -> Executable exeName :: Executable -> String modulePath :: Executable -> FilePath buildInfo :: Executable -> BuildInfo instance Eq Executable instance Monoid Executable instance Read Executable instance Show Executable withExe :: PackageDescription -> (Executable -> IO a) -> IO () hasExes :: PackageDescription -> Bool exeModules :: PackageDescription -> [String] data FieldDescr a FieldDescr :: String -> (a -> Doc) -> (LineNo -> String -> a -> ParseResult a) -> FieldDescr a fieldName :: FieldDescr a -> String fieldGet :: FieldDescr a -> a -> Doc fieldSet :: FieldDescr a -> LineNo -> String -> a -> ParseResult a type LineNo = Int sanityCheckPackage :: PackageDescription -> IO ([String], [String]) data BuildInfo BuildInfo :: Bool -> [Dependency] -> [String] -> [String] -> [String] -> [Dependency] -> [String] -> [FilePath] -> [FilePath] -> [String] -> [Extension] -> [String] -> [String] -> [FilePath] -> [FilePath] -> [FilePath] -> [(CompilerFlavor, [String])] -> [String] -> [String] -> BuildInfo buildable :: BuildInfo -> Bool buildTools :: BuildInfo -> [Dependency] cppOptions :: BuildInfo -> [String] ccOptions :: BuildInfo -> [String] ldOptions :: BuildInfo -> [String] pkgconfigDepends :: BuildInfo -> [Dependency] frameworks :: BuildInfo -> [String] cSources :: BuildInfo -> [FilePath] hsSourceDirs :: BuildInfo -> [FilePath] otherModules :: BuildInfo -> [String] extensions :: BuildInfo -> [Extension] extraLibs :: BuildInfo -> [String] extraLibDirs :: BuildInfo -> [String] includeDirs :: BuildInfo -> [FilePath] includes :: BuildInfo -> [FilePath] installIncludes :: BuildInfo -> [FilePath] options :: BuildInfo -> [(CompilerFlavor, [String])] ghcProfOptions :: BuildInfo -> [String] ghcSharedOptions :: BuildInfo -> [String] instance Eq BuildInfo instance Read BuildInfo instance Show BuildInfo emptyBuildInfo :: BuildInfo allBuildInfo :: PackageDescription -> [BuildInfo] type HookedBuildInfo = (Maybe BuildInfo, [(String, BuildInfo)]) emptyHookedBuildInfo :: HookedBuildInfo readHookedBuildInfo :: Verbosity -> FilePath -> IO HookedBuildInfo parseHookedBuildInfo :: String -> ParseResult HookedBuildInfo writeHookedBuildInfo :: FilePath -> HookedBuildInfo -> IO () showHookedBuildInfo :: HookedBuildInfo -> String updatePackageDescription :: HookedBuildInfo -> PackageDescription -> PackageDescription satisfyDependency :: [PackageIdentifier] -> Dependency -> Maybe PackageIdentifier data ParseResult a ParseFailed :: PError -> ParseResult a ParseOk :: [PWarning] -> a -> ParseResult a instance Monad ParseResult instance Show a => Show (ParseResult a) hcOptions :: CompilerFlavor -> [(CompilerFlavor, [String])] -> [String] autogenModuleName :: PackageDescription -> String haddockName :: PackageDescription -> FilePath setupMessage :: Verbosity -> String -> PackageDescription -> IO () cabalVersion :: Version module Distribution.Simple.Program data Program Program :: String -> (Verbosity -> IO (Maybe FilePath)) -> (Verbosity -> FilePath -> IO (Maybe Version)) -> Program programName :: Program -> String programFindLocation :: Program -> Verbosity -> IO (Maybe FilePath) programFindVersion :: Program -> Verbosity -> FilePath -> IO (Maybe Version) simpleProgram :: String -> Program findProgramOnPath :: FilePath -> Verbosity -> IO (Maybe FilePath) findProgramVersion :: ProgArg -> (String -> String) -> Verbosity -> FilePath -> IO (Maybe Version) data ConfiguredProgram ConfiguredProgram :: String -> Maybe Version -> [ProgArg] -> ProgramLocation -> ConfiguredProgram programId :: ConfiguredProgram -> String programVersion :: ConfiguredProgram -> Maybe Version programArgs :: ConfiguredProgram -> [ProgArg] programLocation :: ConfiguredProgram -> ProgramLocation instance Read ConfiguredProgram instance Show ConfiguredProgram programPath :: ConfiguredProgram -> FilePath type ProgArg = String data ProgramLocation UserSpecified :: FilePath -> ProgramLocation locationPath :: ProgramLocation -> FilePath FoundOnSystem :: FilePath -> ProgramLocation locationPath :: ProgramLocation -> FilePath instance Read ProgramLocation instance Show ProgramLocation rawSystemProgram :: Verbosity -> ConfiguredProgram -> [ProgArg] -> IO () rawSystemProgramStdout :: Verbosity -> ConfiguredProgram -> [ProgArg] -> IO String builtinPrograms :: [Program] data ProgramConfiguration instance Read ProgramConfiguration instance Show ProgramConfiguration emptyProgramConfiguration :: ProgramConfiguration defaultProgramConfiguration :: ProgramConfiguration addKnownProgram :: Program -> ProgramConfiguration -> ProgramConfiguration lookupKnownProgram :: String -> ProgramConfiguration -> Maybe Program knownPrograms :: ProgramConfiguration -> [(Program, Maybe ConfiguredProgram)] userSpecifyPath :: String -> FilePath -> ProgramConfiguration -> ProgramConfiguration userMaybeSpecifyPath :: String -> Maybe FilePath -> ProgramConfiguration -> ProgramConfiguration userSpecifyArgs :: String -> [ProgArg] -> ProgramConfiguration -> ProgramConfiguration lookupProgram :: Program -> ProgramConfiguration -> Maybe ConfiguredProgram updateProgram :: ConfiguredProgram -> ProgramConfiguration -> ProgramConfiguration configureAllKnownPrograms :: Verbosity -> ProgramConfiguration -> IO ProgramConfiguration requireProgram :: Verbosity -> Program -> VersionRange -> ProgramConfiguration -> IO (ConfiguredProgram, ProgramConfiguration) rawSystemProgramConf :: Verbosity -> Program -> ProgramConfiguration -> [ProgArg] -> IO () rawSystemProgramStdoutConf :: Verbosity -> Program -> ProgramConfiguration -> [ProgArg] -> IO String ghcProgram :: Program ghcPkgProgram :: Program nhcProgram :: Program hmakeProgram :: Program jhcProgram :: Program hugsProgram :: Program ffihugsProgram :: Program ranlibProgram :: Program arProgram :: Program happyProgram :: Program alexProgram :: Program hsc2hsProgram :: Program c2hsProgram :: Program cpphsProgram :: Program hscolourProgram :: Program haddockProgram :: Program greencardProgram :: Program ldProgram :: Program tarProgram :: Program cppProgram :: Program pfesetupProgram :: Program pkgConfigProgram :: Program module Distribution.Simple.Setup data Action ConfigCmd :: ConfigFlags -> Action BuildCmd :: Action CleanCmd :: Action CopyCmd :: CopyDest -> Action HscolourCmd :: Action HaddockCmd :: Action ProgramaticaCmd :: Action InstallCmd :: Action SDistCmd :: Action MakefileCmd :: Action TestCmd :: Action RegisterCmd :: Action UnregisterCmd :: Action HelpCmd :: Action instance Show Action data ConfigFlags ConfigFlags :: ProgramConfiguration -> Maybe CompilerFlavor -> Maybe FilePath -> Maybe FilePath -> Bool -> Bool -> Bool -> Bool -> [String] -> Bool -> Maybe FilePath -> Maybe FilePath -> Maybe FilePath -> Maybe FilePath -> Maybe FilePath -> Maybe FilePath -> Maybe FilePath -> Maybe FilePath -> Maybe FilePath -> Maybe FilePath -> Verbosity -> PackageDB -> Bool -> Bool -> [(String, Bool)] -> ConfigFlags configPrograms :: ConfigFlags -> ProgramConfiguration configHcFlavor :: ConfigFlags -> Maybe CompilerFlavor configHcPath :: ConfigFlags -> Maybe FilePath configHcPkg :: ConfigFlags -> Maybe FilePath configVanillaLib :: ConfigFlags -> Bool configProfLib :: ConfigFlags -> Bool configSharedLib :: ConfigFlags -> Bool configProfExe :: ConfigFlags -> Bool configConfigureArgs :: ConfigFlags -> [String] configOptimization :: ConfigFlags -> Bool configPrefix :: ConfigFlags -> Maybe FilePath configBinDir :: ConfigFlags -> Maybe FilePath configLibDir :: ConfigFlags -> Maybe FilePath configLibSubDir :: ConfigFlags -> Maybe FilePath configLibExecDir :: ConfigFlags -> Maybe FilePath configDataDir :: ConfigFlags -> Maybe FilePath configDataSubDir :: ConfigFlags -> Maybe FilePath configDocDir :: ConfigFlags -> Maybe FilePath configHtmlDir :: ConfigFlags -> Maybe FilePath configInterfaceDir :: ConfigFlags -> Maybe FilePath configVerbose :: ConfigFlags -> Verbosity configPackageDB :: ConfigFlags -> PackageDB configGHCiLib :: ConfigFlags -> Bool configSplitObjs :: ConfigFlags -> Bool configConfigurationsFlags :: ConfigFlags -> [(String, Bool)] instance Show ConfigFlags emptyConfigFlags :: ProgramConfiguration -> ConfigFlags configureArgs :: ConfigFlags -> [String] data CopyFlags CopyFlags :: CopyDest -> Verbosity -> CopyFlags copyDest :: CopyFlags -> CopyDest copyVerbose :: CopyFlags -> Verbosity instance Show CopyFlags data CopyDest NoCopyDest :: CopyDest CopyTo :: FilePath -> CopyDest CopyPrefix :: FilePath -> CopyDest instance Eq CopyDest instance Show CopyDest emptyCopyFlags :: CopyDest -> CopyFlags data InstallFlags InstallFlags :: Maybe PackageDB -> Verbosity -> InstallFlags installPackageDB :: InstallFlags -> Maybe PackageDB installVerbose :: InstallFlags -> Verbosity instance Show InstallFlags emptyInstallFlags :: InstallFlags data HaddockFlags HaddockFlags :: Bool -> Maybe String -> Bool -> Maybe FilePath -> Bool -> Maybe FilePath -> Verbosity -> HaddockFlags haddockHoogle :: HaddockFlags -> Bool haddockHtmlLocation :: HaddockFlags -> Maybe String haddockExecutables :: HaddockFlags -> Bool haddockCss :: HaddockFlags -> Maybe FilePath haddockHscolour :: HaddockFlags -> Bool haddockHscolourCss :: HaddockFlags -> Maybe FilePath haddockVerbose :: HaddockFlags -> Verbosity instance Show HaddockFlags emptyHaddockFlags :: HaddockFlags data HscolourFlags HscolourFlags :: Maybe FilePath -> Bool -> Verbosity -> HscolourFlags hscolourCSS :: HscolourFlags -> Maybe FilePath hscolourExecutables :: HscolourFlags -> Bool hscolourVerbose :: HscolourFlags -> Verbosity instance Show HscolourFlags emptyHscolourFlags :: HscolourFlags data BuildFlags BuildFlags :: Verbosity -> ProgramConfiguration -> BuildFlags buildVerbose :: BuildFlags -> Verbosity buildPrograms :: BuildFlags -> ProgramConfiguration instance Show BuildFlags emptyBuildFlags :: ProgramConfiguration -> BuildFlags data CleanFlags CleanFlags :: Bool -> Verbosity -> CleanFlags cleanSaveConf :: CleanFlags -> Bool cleanVerbose :: CleanFlags -> Verbosity instance Show CleanFlags emptyCleanFlags :: CleanFlags data PFEFlags PFEFlags :: Verbosity -> PFEFlags pfeVerbose :: PFEFlags -> Verbosity instance Show PFEFlags data MakefileFlags MakefileFlags :: Verbosity -> Maybe FilePath -> MakefileFlags makefileVerbose :: MakefileFlags -> Verbosity makefileFile :: MakefileFlags -> Maybe FilePath instance Show MakefileFlags emptyMakefileFlags :: MakefileFlags data RegisterFlags RegisterFlags :: Maybe PackageDB -> Bool -> Bool -> Maybe FilePath -> Bool -> Verbosity -> RegisterFlags regPackageDB :: RegisterFlags -> Maybe PackageDB regGenScript :: RegisterFlags -> Bool regGenPkgConf :: RegisterFlags -> Bool regPkgConfFile :: RegisterFlags -> Maybe FilePath regInPlace :: RegisterFlags -> Bool regVerbose :: RegisterFlags -> Verbosity instance Show RegisterFlags emptyRegisterFlags :: RegisterFlags data SDistFlags SDistFlags :: Bool -> Verbosity -> SDistFlags sDistSnapshot :: SDistFlags -> Bool sDistVerbose :: SDistFlags -> Verbosity instance Show SDistFlags parseGlobalArgs :: ProgramConfiguration -> [String] -> IO (Action, [String]) parseConfigureArgs :: ProgramConfiguration -> ConfigFlags -> [String] -> [OptDescr a] -> IO (ConfigFlags, [a], [String]) parseBuildArgs :: ProgramConfiguration -> BuildFlags -> [String] -> [OptDescr a] -> IO (BuildFlags, [a], [String]) parseCleanArgs :: CleanFlags -> [String] -> [OptDescr a] -> IO (CleanFlags, [a], [String]) parseMakefileArgs :: MakefileFlags -> [String] -> [OptDescr a] -> IO (MakefileFlags, [a], [String]) parseHscolourArgs :: HscolourFlags -> [String] -> [OptDescr a] -> IO (HscolourFlags, [a], [String]) parseHaddockArgs :: HaddockFlags -> [String] -> [OptDescr a] -> IO (HaddockFlags, [a], [String]) parseProgramaticaArgs :: [String] -> [OptDescr a] -> IO (PFEFlags, [a], [String]) parseTestArgs :: [String] -> [OptDescr a] -> IO (Verbosity, [a], [String]) parseInstallArgs :: InstallFlags -> [String] -> [OptDescr a] -> IO (InstallFlags, [a], [String]) parseSDistArgs :: [String] -> [OptDescr a] -> IO (SDistFlags, [a], [String]) parseRegisterArgs :: RegisterFlags -> [String] -> [OptDescr a] -> IO (RegisterFlags, [a], [String]) parseUnregisterArgs :: RegisterFlags -> [String] -> [OptDescr a] -> IO (RegisterFlags, [a], [String]) parseCopyArgs :: CopyFlags -> [String] -> [OptDescr a] -> IO (CopyFlags, [a], [String]) reqPathArg :: (FilePath -> a) -> ArgDescr a reqDirArg :: (FilePath -> a) -> ArgDescr a module Distribution.Make data License GPL :: License LGPL :: License BSD3 :: License BSD4 :: License PublicDomain :: License AllRightsReserved :: License OtherLicense :: License instance Eq License instance Read License instance Show License defaultMain :: IO () defaultMainArgs :: [String] -> IO () defaultMainNoRead :: PackageDescription -> IO () module Distribution.Simple.InstallDirs data InstallDirs dir InstallDirs :: dir -> dir -> dir -> dir -> dir -> dir -> dir -> dir -> dir -> dir -> dir -> InstallDirs dir prefix :: InstallDirs dir -> dir bindir :: InstallDirs dir -> dir libdir :: InstallDirs dir -> dir dynlibdir :: InstallDirs dir -> dir libexecdir :: InstallDirs dir -> dir progdir :: InstallDirs dir -> dir includedir :: InstallDirs dir -> dir datadir :: InstallDirs dir -> dir docdir :: InstallDirs dir -> dir htmldir :: InstallDirs dir -> dir interfacedir :: InstallDirs dir -> dir instance Read dir => Read (InstallDirs dir) instance Show dir => Show (InstallDirs dir) haddockdir :: InstallDirs FilePath -> PackageDescription -> FilePath haddockinterfacedir :: InstallDirs FilePath -> PackageDescription -> FilePath data InstallDirTemplates InstallDirTemplates :: PathTemplate -> PathTemplate -> PathTemplate -> PathTemplate -> PathTemplate -> PathTemplate -> PathTemplate -> PathTemplate -> PathTemplate -> PathTemplate -> PathTemplate -> PathTemplate -> InstallDirTemplates prefixDirTemplate :: InstallDirTemplates -> PathTemplate binDirTemplate :: InstallDirTemplates -> PathTemplate libDirTemplate :: InstallDirTemplates -> PathTemplate libSubdirTemplate :: InstallDirTemplates -> PathTemplate libexecDirTemplate :: InstallDirTemplates -> PathTemplate progDirTemplate :: InstallDirTemplates -> PathTemplate includeDirTemplate :: InstallDirTemplates -> PathTemplate dataDirTemplate :: InstallDirTemplates -> PathTemplate dataSubdirTemplate :: InstallDirTemplates -> PathTemplate docDirTemplate :: InstallDirTemplates -> PathTemplate htmlDirTemplate :: InstallDirTemplates -> PathTemplate interfaceDirTemplate :: InstallDirTemplates -> PathTemplate instance Read InstallDirTemplates instance Show InstallDirTemplates defaultInstallDirs :: CompilerFlavor -> Bool -> IO InstallDirTemplates absoluteInstallDirs :: PackageIdentifier -> PackageIdentifier -> CopyDest -> InstallDirTemplates -> InstallDirs FilePath prefixRelativeInstallDirs :: PackageIdentifier -> PackageIdentifier -> InstallDirTemplates -> InstallDirs (Maybe FilePath) data PathTemplate instance Read PathTemplate instance Show PathTemplate data PathTemplateVariable PrefixVar :: PathTemplateVariable BinDirVar :: PathTemplateVariable LibDirVar :: PathTemplateVariable LibSubdirVar :: PathTemplateVariable DataDirVar :: PathTemplateVariable DataSubdirVar :: PathTemplateVariable DocDirVar :: PathTemplateVariable PkgNameVar :: PathTemplateVariable PkgVerVar :: PathTemplateVariable PkgIdVar :: PathTemplateVariable CompilerVar :: PathTemplateVariable instance Eq PathTemplateVariable instance Read PathTemplateVariable instance Show PathTemplateVariable toPathTemplate :: FilePath -> PathTemplate fromPathTemplate :: PathTemplate -> FilePath substPathTemplate :: [(PathTemplateVariable, PathTemplate)] -> PathTemplate -> PathTemplate initialPathTemplateEnv :: PackageIdentifier -> PackageIdentifier -> [(PathTemplateVariable, PathTemplate)] module Distribution.Simple.LocalBuildInfo data LocalBuildInfo LocalBuildInfo :: InstallDirTemplates -> Compiler -> FilePath -> FilePath -> [PackageIdentifier] -> Maybe FilePath -> PackageDescription -> ProgramConfiguration -> PackageDB -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> LocalBuildInfo installDirTemplates :: LocalBuildInfo -> InstallDirTemplates compiler :: LocalBuildInfo -> Compiler buildDir :: LocalBuildInfo -> FilePath scratchDir :: LocalBuildInfo -> FilePath packageDeps :: LocalBuildInfo -> [PackageIdentifier] pkgDescrFile :: LocalBuildInfo -> Maybe FilePath localPkgDescr :: LocalBuildInfo -> PackageDescription withPrograms :: LocalBuildInfo -> ProgramConfiguration withPackageDB :: LocalBuildInfo -> PackageDB withVanillaLib :: LocalBuildInfo -> Bool withProfLib :: LocalBuildInfo -> Bool withSharedLib :: LocalBuildInfo -> Bool withProfExe :: LocalBuildInfo -> Bool withOptimization :: LocalBuildInfo -> Bool withGHCiLib :: LocalBuildInfo -> Bool splitObjs :: LocalBuildInfo -> Bool instance Read LocalBuildInfo instance Show LocalBuildInfo absoluteInstallDirs :: PackageDescription -> LocalBuildInfo -> CopyDest -> InstallDirs FilePath prefixRelativeInstallDirs :: PackageDescription -> LocalBuildInfo -> InstallDirs (Maybe FilePath) mkLibDir :: PackageDescription -> LocalBuildInfo -> CopyDest -> FilePath mkBinDir :: PackageDescription -> LocalBuildInfo -> CopyDest -> FilePath mkLibexecDir :: PackageDescription -> LocalBuildInfo -> CopyDest -> FilePath mkDataDir :: PackageDescription -> LocalBuildInfo -> CopyDest -> FilePath distPref :: FilePath srcPref :: FilePath hscolourPref :: PackageDescription -> FilePath haddockPref :: PackageDescription -> FilePath autogenModulesDir :: LocalBuildInfo -> String module Distribution.Simple.GHC.PackageConfig data GHCPackageConfig GHCPackage :: String -> Bool -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> GHCPackageConfig name :: GHCPackageConfig -> String auto :: GHCPackageConfig -> Bool import_dirs :: GHCPackageConfig -> [String] source_dirs :: GHCPackageConfig -> [String] library_dirs :: GHCPackageConfig -> [String] hs_libraries :: GHCPackageConfig -> [String] extra_libraries :: GHCPackageConfig -> [String] include_dirs :: GHCPackageConfig -> [String] c_includes :: GHCPackageConfig -> [String] package_deps :: GHCPackageConfig -> [String] extra_ghc_opts :: GHCPackageConfig -> [String] extra_cc_opts :: GHCPackageConfig -> [String] extra_ld_opts :: GHCPackageConfig -> [String] framework_dirs :: GHCPackageConfig -> [String] extra_frameworks :: GHCPackageConfig -> [String] mkGHCPackageConfig :: PackageDescription -> LocalBuildInfo -> GHCPackageConfig defaultGHCPackageConfig :: GHCPackageConfig showGHCPackageConfig :: GHCPackageConfig -> String localPackageConfig :: IO FilePath maybeCreateLocalPackageConfig :: IO Bool canWriteLocalPackageConfig :: IO Bool canReadLocalPackageConfig :: IO Bool module Distribution.Simple.GHC configure :: Verbosity -> Maybe FilePath -> Maybe FilePath -> ProgramConfiguration -> IO (Compiler, ProgramConfiguration) getInstalledPackages :: Verbosity -> PackageDB -> ProgramConfiguration -> IO [PackageIdentifier] build :: PackageDescription -> LocalBuildInfo -> Verbosity -> IO () makefile :: PackageDescription -> LocalBuildInfo -> MakefileFlags -> IO () installLib :: Verbosity -> LocalBuildInfo -> FilePath -> FilePath -> FilePath -> PackageDescription -> IO () installExe :: Verbosity -> FilePath -> FilePath -> PackageDescription -> IO () ghcVerbosityOptions :: Verbosity -> [String] module Distribution.Simple.JHC configure :: Verbosity -> Maybe FilePath -> Maybe FilePath -> ProgramConfiguration -> IO (Compiler, ProgramConfiguration) getInstalledPackages :: Verbosity -> PackageDB -> ProgramConfiguration -> IO [PackageIdentifier] build :: PackageDescription -> LocalBuildInfo -> Verbosity -> IO () installLib :: Verbosity -> FilePath -> FilePath -> PackageDescription -> Library -> IO () installExe :: Verbosity -> FilePath -> FilePath -> PackageDescription -> Executable -> IO () module Distribution.Simple.NHC configure :: Verbosity -> Maybe FilePath -> Maybe FilePath -> ProgramConfiguration -> IO (Compiler, ProgramConfiguration) build :: PackageDescription -> LocalBuildInfo -> Verbosity -> IO () module Distribution.Simple.PreProcess preprocessSources :: PackageDescription -> LocalBuildInfo -> Bool -> Verbosity -> [PPSuffixHandler] -> IO () knownSuffixHandlers :: [PPSuffixHandler] ppSuffixes :: [PPSuffixHandler] -> [String] type PPSuffixHandler = (String, BuildInfo -> LocalBuildInfo -> PreProcessor) data PreProcessor PreProcessor :: Bool -> ((FilePath, FilePath) -> (FilePath, FilePath) -> Verbosity -> IO ()) -> PreProcessor platformIndependent :: PreProcessor -> Bool runPreProcessor :: PreProcessor -> (FilePath, FilePath) -> (FilePath, FilePath) -> Verbosity -> IO () mkSimplePreProcessor :: (FilePath -> FilePath -> Verbosity -> IO ()) -> (FilePath, FilePath) -> (FilePath, FilePath) -> Verbosity -> IO () runSimplePreProcessor :: PreProcessor -> FilePath -> FilePath -> Verbosity -> IO () removePreprocessed :: [FilePath] -> [String] -> [String] -> IO () removePreprocessedPackage :: PackageDescription -> FilePath -> [String] -> IO () ppCpp :: BuildInfo -> LocalBuildInfo -> PreProcessor ppCpp' :: [String] -> BuildInfo -> LocalBuildInfo -> PreProcessor ppGreenCard :: BuildInfo -> LocalBuildInfo -> PreProcessor ppC2hs :: BuildInfo -> LocalBuildInfo -> PreProcessor ppHsc2hs :: BuildInfo -> LocalBuildInfo -> PreProcessor ppHappy :: BuildInfo -> LocalBuildInfo -> PreProcessor ppAlex :: BuildInfo -> LocalBuildInfo -> PreProcessor ppUnlit :: PreProcessor module Distribution.Simple.Haddock haddock :: PackageDescription -> LocalBuildInfo -> [PPSuffixHandler] -> HaddockFlags -> IO () hscolour :: PackageDescription -> LocalBuildInfo -> [PPSuffixHandler] -> HscolourFlags -> IO () module Distribution.Simple.Hugs configure :: Verbosity -> Maybe FilePath -> Maybe FilePath -> ProgramConfiguration -> IO (Compiler, ProgramConfiguration) build :: PackageDescription -> LocalBuildInfo -> Verbosity -> IO () install :: Verbosity -> FilePath -> FilePath -> FilePath -> FilePath -> FilePath -> PackageDescription -> IO () module Distribution.Simple.Install install :: PackageDescription -> LocalBuildInfo -> CopyFlags -> IO () module Distribution.Simple.Register register :: PackageDescription -> LocalBuildInfo -> RegisterFlags -> IO () unregister :: PackageDescription -> LocalBuildInfo -> RegisterFlags -> IO () writeInstalledConfig :: PackageDescription -> LocalBuildInfo -> Bool -> Maybe FilePath -> IO () removeInstalledConfig :: IO () removeRegScripts :: IO () module Distribution.Simple.Configure configure :: (Either GenericPackageDescription PackageDescription, HookedBuildInfo) -> ConfigFlags -> IO LocalBuildInfo writePersistBuildConfig :: LocalBuildInfo -> IO () getPersistBuildConfig :: IO LocalBuildInfo checkPersistBuildConfig :: FilePath -> IO () maybeGetPersistBuildConfig :: IO (Maybe LocalBuildInfo) localBuildInfoFile :: FilePath getInstalledPackages :: Verbosity -> Compiler -> PackageDB -> ProgramConfiguration -> IO (Maybe [PackageIdentifier]) configDependency :: Verbosity -> [PackageIdentifier] -> Dependency -> IO PackageIdentifier configCompiler :: Maybe CompilerFlavor -> Maybe FilePath -> Maybe FilePath -> ProgramConfiguration -> Verbosity -> IO (Compiler, ProgramConfiguration) configCompilerAux :: ConfigFlags -> IO (Compiler, ProgramConfiguration) module Distribution.Simple.Build build :: PackageDescription -> LocalBuildInfo -> BuildFlags -> [PPSuffixHandler] -> IO () makefile :: PackageDescription -> LocalBuildInfo -> MakefileFlags -> [PPSuffixHandler] -> IO () module Distribution.Simple.SrcDist sdist :: PackageDescription -> Maybe LocalBuildInfo -> SDistFlags -> FilePath -> FilePath -> [PPSuffixHandler] -> IO () createArchive :: PackageDescription -> Verbosity -> Maybe LocalBuildInfo -> FilePath -> FilePath -> IO FilePath prepareTree :: PackageDescription -> Verbosity -> Maybe LocalBuildInfo -> Bool -> FilePath -> [PPSuffixHandler] -> Int -> IO FilePath tarBallName :: PackageDescription -> FilePath copyFileTo :: Verbosity -> FilePath -> FilePath -> IO () module Distribution.Simple defaultMain :: IO () defaultMainNoRead :: PackageDescription -> IO () defaultMainArgs :: [String] -> IO () data UserHooks UserHooks :: (Args -> Bool -> PackageDescription -> LocalBuildInfo -> IO ()) -> IO (Maybe PackageDescription) -> [PPSuffixHandler] -> [Program] -> (Args -> ConfigFlags -> IO HookedBuildInfo) -> ((Either GenericPackageDescription PackageDescription, HookedBuildInfo) -> ConfigFlags -> IO LocalBuildInfo) -> (Args -> ConfigFlags -> PackageDescription -> LocalBuildInfo -> IO ()) -> (Args -> BuildFlags -> IO HookedBuildInfo) -> (PackageDescription -> LocalBuildInfo -> UserHooks -> BuildFlags -> IO ()) -> (Args -> BuildFlags -> PackageDescription -> LocalBuildInfo -> IO ()) -> (Args -> MakefileFlags -> IO HookedBuildInfo) -> (PackageDescription -> LocalBuildInfo -> UserHooks -> MakefileFlags -> IO ()) -> (Args -> MakefileFlags -> PackageDescription -> LocalBuildInfo -> IO ()) -> (Args -> CleanFlags -> IO HookedBuildInfo) -> (PackageDescription -> Maybe LocalBuildInfo -> UserHooks -> CleanFlags -> IO ()) -> (Args -> CleanFlags -> PackageDescription -> Maybe LocalBuildInfo -> IO ()) -> (Args -> CopyFlags -> IO HookedBuildInfo) -> (PackageDescription -> LocalBuildInfo -> UserHooks -> CopyFlags -> IO ()) -> (Args -> CopyFlags -> PackageDescription -> LocalBuildInfo -> IO ()) -> (Args -> InstallFlags -> IO HookedBuildInfo) -> (PackageDescription -> LocalBuildInfo -> UserHooks -> InstallFlags -> IO ()) -> (Args -> InstallFlags -> PackageDescription -> LocalBuildInfo -> IO ()) -> (Args -> SDistFlags -> IO HookedBuildInfo) -> (PackageDescription -> Maybe LocalBuildInfo -> UserHooks -> SDistFlags -> IO ()) -> (Args -> SDistFlags -> PackageDescription -> Maybe LocalBuildInfo -> IO ()) -> (Args -> RegisterFlags -> IO HookedBuildInfo) -> (PackageDescription -> LocalBuildInfo -> UserHooks -> RegisterFlags -> IO ()) -> (Args -> RegisterFlags -> PackageDescription -> LocalBuildInfo -> IO ()) -> (Args -> RegisterFlags -> IO HookedBuildInfo) -> (PackageDescription -> LocalBuildInfo -> UserHooks -> RegisterFlags -> IO ()) -> (Args -> RegisterFlags -> PackageDescription -> LocalBuildInfo -> IO ()) -> (Args -> HscolourFlags -> IO HookedBuildInfo) -> (PackageDescription -> LocalBuildInfo -> UserHooks -> HscolourFlags -> IO ()) -> (Args -> HscolourFlags -> PackageDescription -> LocalBuildInfo -> IO ()) -> (Args -> HaddockFlags -> IO HookedBuildInfo) -> (PackageDescription -> LocalBuildInfo -> UserHooks -> HaddockFlags -> IO ()) -> (Args -> HaddockFlags -> PackageDescription -> LocalBuildInfo -> IO ()) -> (Args -> PFEFlags -> IO HookedBuildInfo) -> (PackageDescription -> LocalBuildInfo -> UserHooks -> PFEFlags -> IO ()) -> (Args -> PFEFlags -> PackageDescription -> LocalBuildInfo -> IO ()) -> UserHooks runTests :: UserHooks -> Args -> Bool -> PackageDescription -> LocalBuildInfo -> IO () readDesc :: UserHooks -> IO (Maybe PackageDescription) hookedPreProcessors :: UserHooks -> [PPSuffixHandler] hookedPrograms :: UserHooks -> [Program] preConf :: UserHooks -> Args -> ConfigFlags -> IO HookedBuildInfo confHook :: UserHooks -> (Either GenericPackageDescription PackageDescription, HookedBuildInfo) -> ConfigFlags -> IO LocalBuildInfo postConf :: UserHooks -> Args -> ConfigFlags -> PackageDescription -> LocalBuildInfo -> IO () preBuild :: UserHooks -> Args -> BuildFlags -> IO HookedBuildInfo buildHook :: UserHooks -> PackageDescription -> LocalBuildInfo -> UserHooks -> BuildFlags -> IO () postBuild :: UserHooks -> Args -> BuildFlags -> PackageDescription -> LocalBuildInfo -> IO () preMakefile :: UserHooks -> Args -> MakefileFlags -> IO HookedBuildInfo makefileHook :: UserHooks -> PackageDescription -> LocalBuildInfo -> UserHooks -> MakefileFlags -> IO () postMakefile :: UserHooks -> Args -> MakefileFlags -> PackageDescription -> LocalBuildInfo -> IO () preClean :: UserHooks -> Args -> CleanFlags -> IO HookedBuildInfo cleanHook :: UserHooks -> PackageDescription -> Maybe LocalBuildInfo -> UserHooks -> CleanFlags -> IO () postClean :: UserHooks -> Args -> CleanFlags -> PackageDescription -> Maybe LocalBuildInfo -> IO () preCopy :: UserHooks -> Args -> CopyFlags -> IO HookedBuildInfo copyHook :: UserHooks -> PackageDescription -> LocalBuildInfo -> UserHooks -> CopyFlags -> IO () postCopy :: UserHooks -> Args -> CopyFlags -> PackageDescription -> LocalBuildInfo -> IO () preInst :: UserHooks -> Args -> InstallFlags -> IO HookedBuildInfo instHook :: UserHooks -> PackageDescription -> LocalBuildInfo -> UserHooks -> InstallFlags -> IO () postInst :: UserHooks -> Args -> InstallFlags -> PackageDescription -> LocalBuildInfo -> IO () preSDist :: UserHooks -> Args -> SDistFlags -> IO HookedBuildInfo sDistHook :: UserHooks -> PackageDescription -> Maybe LocalBuildInfo -> UserHooks -> SDistFlags -> IO () postSDist :: UserHooks -> Args -> SDistFlags -> PackageDescription -> Maybe LocalBuildInfo -> IO () preReg :: UserHooks -> Args -> RegisterFlags -> IO HookedBuildInfo regHook :: UserHooks -> PackageDescription -> LocalBuildInfo -> UserHooks -> RegisterFlags -> IO () postReg :: UserHooks -> Args -> RegisterFlags -> PackageDescription -> LocalBuildInfo -> IO () preUnreg :: UserHooks -> Args -> RegisterFlags -> IO HookedBuildInfo unregHook :: UserHooks -> PackageDescription -> LocalBuildInfo -> UserHooks -> RegisterFlags -> IO () postUnreg :: UserHooks -> Args -> RegisterFlags -> PackageDescription -> LocalBuildInfo -> IO () preHscolour :: UserHooks -> Args -> HscolourFlags -> IO HookedBuildInfo hscolourHook :: UserHooks -> PackageDescription -> LocalBuildInfo -> UserHooks -> HscolourFlags -> IO () postHscolour :: UserHooks -> Args -> HscolourFlags -> PackageDescription -> LocalBuildInfo -> IO () preHaddock :: UserHooks -> Args -> HaddockFlags -> IO HookedBuildInfo haddockHook :: UserHooks -> PackageDescription -> LocalBuildInfo -> UserHooks -> HaddockFlags -> IO () postHaddock :: UserHooks -> Args -> HaddockFlags -> PackageDescription -> LocalBuildInfo -> IO () prePFE :: UserHooks -> Args -> PFEFlags -> IO HookedBuildInfo pfeHook :: UserHooks -> PackageDescription -> LocalBuildInfo -> UserHooks -> PFEFlags -> IO () postPFE :: UserHooks -> Args -> PFEFlags -> PackageDescription -> LocalBuildInfo -> IO () type Args = [String] defaultMainWithHooks :: UserHooks -> IO () defaultMainWithHooksArgs :: UserHooks -> [String] -> IO () simpleUserHooks :: UserHooks defaultUserHooks :: UserHooks emptyUserHooks :: UserHooks defaultHookedPackageDesc :: IO (Maybe FilePath) module Distribution.Simple.SetupWrapper setupWrapper :: [String] -> Maybe FilePath -> IO () -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module Data.Set data Set a instance Foldable Set instance Typeable1 Set instance (Data a, Ord a) => Data (Set a) instance Eq a => Eq (Set a) instance Ord a => Monoid (Set a) instance Ord a => Ord (Set a) instance (Read a, Ord a) => Read (Set a) instance Show a => Show (Set a) (\\) :: Ord a => Set a -> Set a -> Set a null :: Set a -> Bool size :: Set a -> Int member :: Ord a => a -> Set a -> Bool notMember :: Ord a => a -> Set a -> Bool isSubsetOf :: Ord a => Set a -> Set a -> Bool isProperSubsetOf :: Ord a => Set a -> Set a -> Bool empty :: Set a singleton :: a -> Set a insert :: Ord a => a -> Set a -> Set a delete :: Ord a => a -> Set a -> Set a union :: Ord a => Set a -> Set a -> Set a unions :: Ord a => [Set a] -> Set a difference :: Ord a => Set a -> Set a -> Set a intersection :: Ord a => Set a -> Set a -> Set a filter :: Ord a => (a -> Bool) -> Set a -> Set a partition :: Ord a => (a -> Bool) -> Set a -> (Set a, Set a) split :: Ord a => a -> Set a -> (Set a, Set a) splitMember :: Ord a => a -> Set a -> (Set a, Bool, Set a) map :: (Ord a, Ord b) => (a -> b) -> Set a -> Set b mapMonotonic :: (a -> b) -> Set a -> Set b fold :: (a -> b -> b) -> b -> Set a -> b findMin :: Set a -> a findMax :: Set a -> a deleteMin :: Set a -> Set a deleteMax :: Set a -> Set a deleteFindMin :: Set a -> (a, Set a) deleteFindMax :: Set a -> (a, Set a) maxView :: Monad m => Set a -> m (a, Set a) minView :: Monad m => Set a -> m (a, Set a) elems :: Set a -> [a] toList :: Set a -> [a] fromList :: Ord a => [a] -> Set a toAscList :: Set a -> [a] fromAscList :: Eq a => [a] -> Set a fromDistinctAscList :: [a] -> Set a showTree :: Show a => Set a -> String showTreeWith :: Show a => Bool -> Bool -> Set a -> String valid :: Ord a => Set a -> Bool module Data.Sequence data Seq a instance Foldable Seq instance Functor Seq instance Monad Seq instance MonadPlus Seq instance Traversable Seq instance Typeable1 Seq instance Data a => Data (Seq a) instance Eq a => Eq (Seq a) instance Monoid (Seq a) instance Ord a => Ord (Seq a) instance Read a => Read (Seq a) instance Show a => Show (Seq a) empty :: Seq a singleton :: a -> Seq a (<|) :: a -> Seq a -> Seq a (|>) :: Seq a -> a -> Seq a (><) :: Seq a -> Seq a -> Seq a fromList :: [a] -> Seq a null :: Seq a -> Bool length :: Seq a -> Int data ViewL a EmptyL :: ViewL a (:<) :: a -> Seq a -> ViewL a instance Foldable ViewL instance Functor ViewL instance Traversable ViewL instance Typeable1 ViewL instance Data a => Data (ViewL a) instance Eq a => Eq (ViewL a) instance Ord a => Ord (ViewL a) instance Read a => Read (ViewL a) instance Show a => Show (ViewL a) viewl :: Seq a -> ViewL a data ViewR a EmptyR :: ViewR a (:>) :: Seq a -> a -> ViewR a instance Foldable ViewR instance Functor ViewR instance Traversable ViewR instance Typeable1 ViewR instance Data a => Data (ViewR a) instance Eq a => Eq (ViewR a) instance Ord a => Ord (ViewR a) instance Read a => Read (ViewR a) instance Show a => Show (ViewR a) viewr :: Seq a -> ViewR a index :: Seq a -> Int -> a adjust :: (a -> a) -> Int -> Seq a -> Seq a update :: Int -> a -> Seq a -> Seq a take :: Int -> Seq a -> Seq a drop :: Int -> Seq a -> Seq a splitAt :: Int -> Seq a -> (Seq a, Seq a) reverse :: Seq a -> Seq a module Data.Tree data Tree a Node :: a -> Forest a -> Tree a rootLabel :: Tree a -> a subForest :: Tree a -> Forest a instance Applicative Tree instance Foldable Tree instance Functor Tree instance Monad Tree instance Traversable Tree instance Typeable1 Tree instance Data a => Data (Tree a) instance Eq a => Eq (Tree a) instance Read a => Read (Tree a) instance Show a => Show (Tree a) type Forest a = [Tree a] drawTree :: Tree String -> String drawForest :: Forest String -> String flatten :: Tree a -> [a] levels :: Tree a -> [[a]] unfoldTree :: (b -> (a, [b])) -> b -> Tree a unfoldForest :: (b -> (a, [b])) -> [b] -> Forest a unfoldTreeM :: Monad m => (b -> m (a, [b])) -> b -> m (Tree a) unfoldForestM :: Monad m => (b -> m (a, [b])) -> [b] -> m (Forest a) unfoldTreeM_BF :: Monad m => (b -> m (a, [b])) -> b -> m (Tree a) unfoldForestM_BF :: Monad m => (b -> m (a, [b])) -> [b] -> m (Forest a) module Data.Map data Map k a instance Typeable2 Map instance Foldable (Map k) instance Functor (Map k) instance Traversable (Map k) instance (Data k, Data a, Ord k) => Data (Map k a) instance (Eq k, Eq a) => Eq (Map k a) instance Ord k => Monoid (Map k v) instance (Ord k, Ord v) => Ord (Map k v) instance (Ord k, Read k, Read e) => Read (Map k e) instance (Show k, Show a) => Show (Map k a) (!) :: Ord k => Map k a -> k -> a (\\) :: Ord k => Map k a -> Map k b -> Map k a null :: Map k a -> Bool size :: Map k a -> Int member :: Ord k => k -> Map k a -> Bool notMember :: Ord k => k -> Map k a -> Bool lookup :: (Monad m, Ord k) => k -> Map k a -> m a findWithDefault :: Ord k => a -> k -> Map k a -> a empty :: Map k a singleton :: k -> a -> Map k a insert :: Ord k => k -> a -> Map k a -> Map k a insertWith :: Ord k => (a -> a -> a) -> k -> a -> Map k a -> Map k a insertWithKey :: Ord k => (k -> a -> a -> a) -> k -> a -> Map k a -> Map k a insertLookupWithKey :: Ord k => (k -> a -> a -> a) -> k -> a -> Map k a -> (Maybe a, Map k a) insertWith' :: Ord k => (a -> a -> a) -> k -> a -> Map k a -> Map k a insertWithKey' :: Ord k => (k -> a -> a -> a) -> k -> a -> Map k a -> Map k a delete :: Ord k => k -> Map k a -> Map k a adjust :: Ord k => (a -> a) -> k -> Map k a -> Map k a adjustWithKey :: Ord k => (k -> a -> a) -> k -> Map k a -> Map k a update :: Ord k => (a -> Maybe a) -> k -> Map k a -> Map k a updateWithKey :: Ord k => (k -> a -> Maybe a) -> k -> Map k a -> Map k a updateLookupWithKey :: Ord k => (k -> a -> Maybe a) -> k -> Map k a -> (Maybe a, Map k a) alter :: Ord k => (Maybe a -> Maybe a) -> k -> Map k a -> Map k a union :: Ord k => Map k a -> Map k a -> Map k a unionWith :: Ord k => (a -> a -> a) -> Map k a -> Map k a -> Map k a unionWithKey :: Ord k => (k -> a -> a -> a) -> Map k a -> Map k a -> Map k a unions :: Ord k => [Map k a] -> Map k a unionsWith :: Ord k => (a -> a -> a) -> [Map k a] -> Map k a difference :: Ord k => Map k a -> Map k b -> Map k a differenceWith :: Ord k => (a -> b -> Maybe a) -> Map k a -> Map k b -> Map k a differenceWithKey :: Ord k => (k -> a -> b -> Maybe a) -> Map k a -> Map k b -> Map k a intersection :: Ord k => Map k a -> Map k b -> Map k a intersectionWith :: Ord k => (a -> b -> c) -> Map k a -> Map k b -> Map k c intersectionWithKey :: Ord k => (k -> a -> b -> c) -> Map k a -> Map k b -> Map k c map :: (a -> b) -> Map k a -> Map k b mapWithKey :: (k -> a -> b) -> Map k a -> Map k b mapAccum :: (a -> b -> (a, c)) -> a -> Map k b -> (a, Map k c) mapAccumWithKey :: (a -> k -> b -> (a, c)) -> a -> Map k b -> (a, Map k c) mapKeys :: Ord k2 => (k1 -> k2) -> Map k1 a -> Map k2 a mapKeysWith :: Ord k2 => (a -> a -> a) -> (k1 -> k2) -> Map k1 a -> Map k2 a mapKeysMonotonic :: (k1 -> k2) -> Map k1 a -> Map k2 a fold :: (a -> b -> b) -> b -> Map k a -> b foldWithKey :: (k -> a -> b -> b) -> b -> Map k a -> b elems :: Map k a -> [a] keys :: Map k a -> [k] keysSet :: Map k a -> Set k assocs :: Map k a -> [(k, a)] toList :: Map k a -> [(k, a)] fromList :: Ord k => [(k, a)] -> Map k a fromListWith :: Ord k => (a -> a -> a) -> [(k, a)] -> Map k a fromListWithKey :: Ord k => (k -> a -> a -> a) -> [(k, a)] -> Map k a toAscList :: Map k a -> [(k, a)] fromAscList :: Eq k => [(k, a)] -> Map k a fromAscListWith :: Eq k => (a -> a -> a) -> [(k, a)] -> Map k a fromAscListWithKey :: Eq k => (k -> a -> a -> a) -> [(k, a)] -> Map k a fromDistinctAscList :: [(k, a)] -> Map k a filter :: Ord k => (a -> Bool) -> Map k a -> Map k a filterWithKey :: Ord k => (k -> a -> Bool) -> Map k a -> Map k a partition :: Ord k => (a -> Bool) -> Map k a -> (Map k a, Map k a) partitionWithKey :: Ord k => (k -> a -> Bool) -> Map k a -> (Map k a, Map k a) mapMaybe :: Ord k => (a -> Maybe b) -> Map k a -> Map k b mapMaybeWithKey :: Ord k => (k -> a -> Maybe b) -> Map k a -> Map k b mapEither :: Ord k => (a -> Either b c) -> Map k a -> (Map k b, Map k c) mapEitherWithKey :: Ord k => (k -> a -> Either b c) -> Map k a -> (Map k b, Map k c) split :: Ord k => k -> Map k a -> (Map k a, Map k a) splitLookup :: Ord k => k -> Map k a -> (Map k a, Maybe a, Map k a) isSubmapOf :: (Ord k, Eq a) => Map k a -> Map k a -> Bool isSubmapOfBy :: Ord k => (a -> b -> Bool) -> Map k a -> Map k b -> Bool isProperSubmapOf :: (Ord k, Eq a) => Map k a -> Map k a -> Bool isProperSubmapOfBy :: Ord k => (a -> b -> Bool) -> Map k a -> Map k b -> Bool lookupIndex :: (Monad m, Ord k) => k -> Map k a -> m Int findIndex :: Ord k => k -> Map k a -> Int elemAt :: Int -> Map k a -> (k, a) updateAt :: (k -> a -> Maybe a) -> Int -> Map k a -> Map k a deleteAt :: Int -> Map k a -> Map k a findMin :: Map k a -> (k, a) findMax :: Map k a -> (k, a) deleteMin :: Map k a -> Map k a deleteMax :: Map k a -> Map k a deleteFindMin :: Map k a -> ((k, a), Map k a) deleteFindMax :: Map k a -> ((k, a), Map k a) updateMin :: (a -> Maybe a) -> Map k a -> Map k a updateMax :: (a -> Maybe a) -> Map k a -> Map k a updateMinWithKey :: (k -> a -> Maybe a) -> Map k a -> Map k a updateMaxWithKey :: (k -> a -> Maybe a) -> Map k a -> Map k a minView :: Monad m => Map k a -> m (a, Map k a) maxView :: Monad m => Map k a -> m (a, Map k a) minViewWithKey :: Monad m => Map k a -> m ((k, a), Map k a) maxViewWithKey :: Monad m => Map k a -> m ((k, a), Map k a) showTree :: (Show k, Show a) => Map k a -> String showTreeWith :: (k -> a -> String) -> Bool -> Bool -> Map k a -> String valid :: Ord k => Map k a -> Bool module Data.IntSet data IntSet instance Data IntSet instance Eq IntSet instance Monoid IntSet instance Ord IntSet instance Read IntSet instance Show IntSet instance Typeable IntSet (\\) :: IntSet -> IntSet -> IntSet null :: IntSet -> Bool size :: IntSet -> Int member :: Int -> IntSet -> Bool notMember :: Int -> IntSet -> Bool isSubsetOf :: IntSet -> IntSet -> Bool isProperSubsetOf :: IntSet -> IntSet -> Bool empty :: IntSet singleton :: Int -> IntSet insert :: Int -> IntSet -> IntSet delete :: Int -> IntSet -> IntSet union :: IntSet -> IntSet -> IntSet unions :: [IntSet] -> IntSet difference :: IntSet -> IntSet -> IntSet intersection :: IntSet -> IntSet -> IntSet filter :: (Int -> Bool) -> IntSet -> IntSet partition :: (Int -> Bool) -> IntSet -> (IntSet, IntSet) split :: Int -> IntSet -> (IntSet, IntSet) splitMember :: Int -> IntSet -> (IntSet, Bool, IntSet) findMin :: IntSet -> Int findMax :: IntSet -> Int deleteMin :: IntSet -> IntSet deleteMax :: IntSet -> IntSet deleteFindMin :: IntSet -> (Int, IntSet) deleteFindMax :: IntSet -> (Int, IntSet) maxView :: Monad m => IntSet -> m (Int, IntSet) minView :: Monad m => IntSet -> m (Int, IntSet) map :: (Int -> Int) -> IntSet -> IntSet fold :: (Int -> b -> b) -> b -> IntSet -> b elems :: IntSet -> [Int] toList :: IntSet -> [Int] fromList :: [Int] -> IntSet toAscList :: IntSet -> [Int] fromAscList :: [Int] -> IntSet fromDistinctAscList :: [Int] -> IntSet showTree :: IntSet -> String showTreeWith :: Bool -> Bool -> IntSet -> String module Data.IntMap data IntMap a instance Foldable IntMap instance Functor IntMap instance Typeable1 IntMap instance Data a => Data (IntMap a) instance Eq a => Eq (IntMap a) instance Monoid (IntMap a) instance Ord a => Ord (IntMap a) instance Read e => Read (IntMap e) instance Show a => Show (IntMap a) type Key = Int (!) :: IntMap a -> Key -> a (\\) :: IntMap a -> IntMap b -> IntMap a null :: IntMap a -> Bool size :: IntMap a -> Int member :: Key -> IntMap a -> Bool notMember :: Key -> IntMap a -> Bool lookup :: Monad m => Key -> IntMap a -> m a findWithDefault :: a -> Key -> IntMap a -> a empty :: IntMap a singleton :: Key -> a -> IntMap a insert :: Key -> a -> IntMap a -> IntMap a insertWith :: (a -> a -> a) -> Key -> a -> IntMap a -> IntMap a insertWithKey :: (Key -> a -> a -> a) -> Key -> a -> IntMap a -> IntMap a insertLookupWithKey :: (Key -> a -> a -> a) -> Key -> a -> IntMap a -> (Maybe a, IntMap a) delete :: Key -> IntMap a -> IntMap a adjust :: (a -> a) -> Key -> IntMap a -> IntMap a adjustWithKey :: (Key -> a -> a) -> Key -> IntMap a -> IntMap a update :: (a -> Maybe a) -> Key -> IntMap a -> IntMap a updateWithKey :: (Key -> a -> Maybe a) -> Key -> IntMap a -> IntMap a updateLookupWithKey :: (Key -> a -> Maybe a) -> Key -> IntMap a -> (Maybe a, IntMap a) union :: IntMap a -> IntMap a -> IntMap a unionWith :: (a -> a -> a) -> IntMap a -> IntMap a -> IntMap a unionWithKey :: (Key -> a -> a -> a) -> IntMap a -> IntMap a -> IntMap a unions :: [IntMap a] -> IntMap a unionsWith :: (a -> a -> a) -> [IntMap a] -> IntMap a difference :: IntMap a -> IntMap b -> IntMap a differenceWith :: (a -> b -> Maybe a) -> IntMap a -> IntMap b -> IntMap a differenceWithKey :: (Key -> a -> b -> Maybe a) -> IntMap a -> IntMap b -> IntMap a intersection :: IntMap a -> IntMap b -> IntMap a intersectionWith :: (a -> b -> a) -> IntMap a -> IntMap b -> IntMap a intersectionWithKey :: (Key -> a -> b -> a) -> IntMap a -> IntMap b -> IntMap a map :: (a -> b) -> IntMap a -> IntMap b mapWithKey :: (Key -> a -> b) -> IntMap a -> IntMap b mapAccum :: (a -> b -> (a, c)) -> a -> IntMap b -> (a, IntMap c) mapAccumWithKey :: (a -> Key -> b -> (a, c)) -> a -> IntMap b -> (a, IntMap c) fold :: (a -> b -> b) -> b -> IntMap a -> b foldWithKey :: (Key -> a -> b -> b) -> b -> IntMap a -> b elems :: IntMap a -> [a] keys :: IntMap a -> [Key] keysSet :: IntMap a -> IntSet assocs :: IntMap a -> [(Key, a)] toList :: IntMap a -> [(Key, a)] fromList :: [(Key, a)] -> IntMap a fromListWith :: (a -> a -> a) -> [(Key, a)] -> IntMap a fromListWithKey :: (Key -> a -> a -> a) -> [(Key, a)] -> IntMap a toAscList :: IntMap a -> [(Key, a)] fromAscList :: [(Key, a)] -> IntMap a fromAscListWith :: (a -> a -> a) -> [(Key, a)] -> IntMap a fromAscListWithKey :: (Key -> a -> a -> a) -> [(Key, a)] -> IntMap a fromDistinctAscList :: [(Key, a)] -> IntMap a filter :: (a -> Bool) -> IntMap a -> IntMap a filterWithKey :: (Key -> a -> Bool) -> IntMap a -> IntMap a partition :: (a -> Bool) -> IntMap a -> (IntMap a, IntMap a) partitionWithKey :: (Key -> a -> Bool) -> IntMap a -> (IntMap a, IntMap a) mapMaybe :: (a -> Maybe b) -> IntMap a -> IntMap b mapMaybeWithKey :: (Key -> a -> Maybe b) -> IntMap a -> IntMap b mapEither :: (a -> Either b c) -> IntMap a -> (IntMap b, IntMap c) mapEitherWithKey :: (Key -> a -> Either b c) -> IntMap a -> (IntMap b, IntMap c) split :: Key -> IntMap a -> (IntMap a, IntMap a) splitLookup :: Key -> IntMap a -> (IntMap a, Maybe a, IntMap a) isSubmapOf :: Eq a => IntMap a -> IntMap a -> Bool isSubmapOfBy :: (a -> b -> Bool) -> IntMap a -> IntMap b -> Bool isProperSubmapOf :: Eq a => IntMap a -> IntMap a -> Bool isProperSubmapOfBy :: (a -> b -> Bool) -> IntMap a -> IntMap b -> Bool updateMin :: (a -> a) -> IntMap a -> IntMap a updateMax :: (a -> a) -> IntMap a -> IntMap a updateMinWithKey :: (Key -> a -> a) -> IntMap a -> IntMap a updateMaxWithKey :: (Key -> a -> a) -> IntMap a -> IntMap a minViewWithKey :: Monad m => IntMap a -> m ((Key, a), IntMap a) maxViewWithKey :: Monad m => IntMap a -> m ((Key, a), IntMap a) showTree :: Show a => IntMap a -> String showTreeWith :: Show a => Bool -> Bool -> IntMap a -> String module Data.Graph stronglyConnComp :: Ord key => [(node, key, [key])] -> [SCC node] stronglyConnCompR :: Ord key => [(node, key, [key])] -> [SCC (node, key, [key])] data SCC vertex AcyclicSCC :: vertex -> SCC vertex CyclicSCC :: [vertex] -> SCC vertex flattenSCC :: SCC vertex -> [vertex] flattenSCCs :: [SCC a] -> [a] type Graph = Table [Vertex] type Table a = Array Vertex a type Bounds = (Vertex, Vertex) type Edge = (Vertex, Vertex) type Vertex = Int graphFromEdges :: Ord key => [(node, key, [key])] -> (Graph, Vertex -> (node, key, [key]), key -> Maybe Vertex) graphFromEdges' :: Ord key => [(node, key, [key])] -> (Graph, Vertex -> (node, key, [key])) buildG :: Bounds -> [Edge] -> Graph transposeG :: Graph -> Graph vertices :: Graph -> [Vertex] edges :: Graph -> [Edge] outdegree :: Graph -> Table Int indegree :: Graph -> Table Int dfs :: Graph -> [Vertex] -> Forest Vertex dff :: Graph -> Forest Vertex topSort :: Graph -> [Vertex] components :: Graph -> Forest Vertex scc :: Graph -> Forest Vertex bcc :: Graph -> Forest [Vertex] reachable :: Graph -> Vertex -> [Vertex] path :: Graph -> Vertex -> Vertex -> Bool -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module System.Directory createDirectory :: FilePath -> IO () createDirectoryIfMissing :: Bool -> FilePath -> IO () removeDirectory :: FilePath -> IO () removeDirectoryRecursive :: FilePath -> IO () renameDirectory :: FilePath -> FilePath -> IO () getDirectoryContents :: FilePath -> IO [FilePath] getCurrentDirectory :: IO FilePath setCurrentDirectory :: FilePath -> IO () getHomeDirectory :: IO FilePath getAppUserDataDirectory :: String -> IO FilePath getUserDocumentsDirectory :: IO FilePath getTemporaryDirectory :: IO FilePath removeFile :: FilePath -> IO () renameFile :: FilePath -> FilePath -> IO () copyFile :: FilePath -> FilePath -> IO () canonicalizePath :: FilePath -> IO FilePath makeRelativeToCurrentDirectory :: FilePath -> IO FilePath findExecutable :: String -> IO (Maybe FilePath) doesFileExist :: FilePath -> IO Bool doesDirectoryExist :: FilePath -> IO Bool data Permissions Permissions :: Bool -> Bool -> Bool -> Bool -> Permissions readable :: Permissions -> Bool writable :: Permissions -> Bool executable :: Permissions -> Bool searchable :: Permissions -> Bool instance Eq Permissions instance Ord Permissions instance Read Permissions instance Show Permissions getPermissions :: FilePath -> IO Permissions setPermissions :: FilePath -> Permissions -> IO () getModificationTime :: FilePath -> IO ClockTime -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module System.FilePath.Windows pathSeparator :: Char pathSeparators :: [Char] isPathSeparator :: Char -> Bool searchPathSeparator :: Char isSearchPathSeparator :: Char -> Bool extSeparator :: Char isExtSeparator :: Char -> Bool splitSearchPath :: String -> [FilePath] getSearchPath :: IO [FilePath] splitExtension :: FilePath -> (String, String) takeExtension :: FilePath -> String replaceExtension :: FilePath -> String -> FilePath dropExtension :: FilePath -> FilePath addExtension :: FilePath -> String -> FilePath hasExtension :: FilePath -> Bool (<.>) :: FilePath -> String -> FilePath splitExtensions :: FilePath -> (FilePath, String) dropExtensions :: FilePath -> FilePath takeExtensions :: FilePath -> String splitDrive :: FilePath -> (FilePath, FilePath) joinDrive :: FilePath -> FilePath -> FilePath takeDrive :: FilePath -> FilePath hasDrive :: FilePath -> Bool dropDrive :: FilePath -> FilePath isDrive :: FilePath -> Bool splitFileName :: FilePath -> (String, String) takeFileName :: FilePath -> FilePath replaceFileName :: FilePath -> String -> FilePath dropFileName :: FilePath -> FilePath takeBaseName :: FilePath -> String replaceBaseName :: FilePath -> String -> FilePath takeDirectory :: FilePath -> FilePath replaceDirectory :: FilePath -> String -> FilePath combine :: FilePath -> FilePath -> FilePath () :: FilePath -> FilePath -> FilePath splitPath :: FilePath -> [FilePath] joinPath :: [FilePath] -> FilePath splitDirectories :: FilePath -> [FilePath] hasTrailingPathSeparator :: FilePath -> Bool addTrailingPathSeparator :: FilePath -> FilePath dropTrailingPathSeparator :: FilePath -> FilePath normalise :: FilePath -> FilePath equalFilePath :: FilePath -> FilePath -> Bool makeRelative :: FilePath -> FilePath -> FilePath isRelative :: FilePath -> Bool isAbsolute :: FilePath -> Bool isValid :: FilePath -> Bool makeValid :: FilePath -> FilePath module System.FilePath.Posix pathSeparator :: Char pathSeparators :: [Char] isPathSeparator :: Char -> Bool searchPathSeparator :: Char isSearchPathSeparator :: Char -> Bool extSeparator :: Char isExtSeparator :: Char -> Bool splitSearchPath :: String -> [FilePath] getSearchPath :: IO [FilePath] splitExtension :: FilePath -> (String, String) takeExtension :: FilePath -> String replaceExtension :: FilePath -> String -> FilePath dropExtension :: FilePath -> FilePath addExtension :: FilePath -> String -> FilePath hasExtension :: FilePath -> Bool (<.>) :: FilePath -> String -> FilePath splitExtensions :: FilePath -> (FilePath, String) dropExtensions :: FilePath -> FilePath takeExtensions :: FilePath -> String splitDrive :: FilePath -> (FilePath, FilePath) joinDrive :: FilePath -> FilePath -> FilePath takeDrive :: FilePath -> FilePath hasDrive :: FilePath -> Bool dropDrive :: FilePath -> FilePath isDrive :: FilePath -> Bool splitFileName :: FilePath -> (String, String) takeFileName :: FilePath -> FilePath replaceFileName :: FilePath -> String -> FilePath dropFileName :: FilePath -> FilePath takeBaseName :: FilePath -> String replaceBaseName :: FilePath -> String -> FilePath takeDirectory :: FilePath -> FilePath replaceDirectory :: FilePath -> String -> FilePath combine :: FilePath -> FilePath -> FilePath () :: FilePath -> FilePath -> FilePath splitPath :: FilePath -> [FilePath] joinPath :: [FilePath] -> FilePath splitDirectories :: FilePath -> [FilePath] hasTrailingPathSeparator :: FilePath -> Bool addTrailingPathSeparator :: FilePath -> FilePath dropTrailingPathSeparator :: FilePath -> FilePath normalise :: FilePath -> FilePath equalFilePath :: FilePath -> FilePath -> Bool makeRelative :: FilePath -> FilePath -> FilePath isRelative :: FilePath -> Bool isAbsolute :: FilePath -> Bool isValid :: FilePath -> Bool makeValid :: FilePath -> FilePath module System.FilePath -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module Control.Monad.Writer.Class class (Monoid w, Monad m) => MonadWriter w m tell :: MonadWriter w m => w -> m () listen :: MonadWriter w m => m a -> m (a, w) pass :: MonadWriter w m => m (a, w -> w) -> m a instance Monoid w => MonadWriter w (Writer w) instance Monoid w => MonadWriter w (Writer w) instance (Error e, MonadWriter w m) => MonadWriter w (ErrorT e m) instance MonadWriter w m => MonadWriter w (ReaderT r m) instance MonadWriter w m => MonadWriter w (StateT s m) instance MonadWriter w m => MonadWriter w (StateT s m) instance (Monoid w, Monad m) => MonadWriter w (WriterT w m) instance (Monoid w, Monad m) => MonadWriter w (WriterT w m) instance Monoid w => MonadWriter w (RWS r w s) instance Monoid w => MonadWriter w (RWS r w s) instance (Monoid w, Monad m) => MonadWriter w (RWST r w s m) instance (Monoid w, Monad m) => MonadWriter w (RWST r w s m) listens :: MonadWriter w m => (w -> b) -> m a -> m (a, b) censor :: MonadWriter w m => (w -> w) -> m a -> m a module Control.Monad.Trans class MonadTrans t lift :: (MonadTrans t, Monad m) => m a -> t m a instance MonadTrans ListT instance MonadTrans (ContT r) instance Error e => MonadTrans (ErrorT e) instance MonadTrans (ReaderT r) instance MonadTrans (StateT s) instance MonadTrans (StateT s) instance Monoid w => MonadTrans (WriterT w) instance Monoid w => MonadTrans (WriterT w) instance Monoid w => MonadTrans (RWST r w s) instance Monoid w => MonadTrans (RWST r w s) class Monad m => MonadIO m liftIO :: MonadIO m => IO a -> m a instance MonadIO IO instance MonadIO m => MonadIO (ListT m) instance MonadIO m => MonadIO (ContT r m) instance (Error e, MonadIO m) => MonadIO (ErrorT e m) instance MonadIO m => MonadIO (ReaderT r m) instance MonadIO m => MonadIO (StateT s m) instance MonadIO m => MonadIO (StateT s m) instance (Monoid w, MonadIO m) => MonadIO (WriterT w m) instance (Monoid w, MonadIO m) => MonadIO (WriterT w m) instance (Monoid w, MonadIO m) => MonadIO (RWST r w s m) instance (Monoid w, MonadIO m) => MonadIO (RWST r w s m) module Control.Monad.State.Class class Monad m => MonadState s m get :: MonadState s m => m s put :: MonadState s m => s -> m () instance MonadState s m => MonadState s (ListT m) instance MonadState s (State s) instance MonadState s (State s) instance MonadState s m => MonadState s (ContT r m) instance (Error e, MonadState s m) => MonadState s (ErrorT e m) instance MonadState s m => MonadState s (ReaderT r m) instance Monad m => MonadState s (StateT s m) instance Monad m => MonadState s (StateT s m) instance (Monoid w, MonadState s m) => MonadState s (WriterT w m) instance (Monoid w, MonadState s m) => MonadState s (WriterT w m) instance Monoid w => MonadState s (RWS r w s) instance Monoid w => MonadState s (RWS r w s) instance (Monoid w, Monad m) => MonadState s (RWST r w s m) instance (Monoid w, Monad m) => MonadState s (RWST r w s m) modify :: MonadState s m => (s -> s) -> m () gets :: MonadState s m => (s -> a) -> m a module Control.Monad.Reader.Class class Monad m => MonadReader r m ask :: MonadReader r m => m r local :: MonadReader r m => (r -> r) -> m a -> m a instance MonadReader r (Reader r) instance MonadReader r ((->) r) instance MonadReader s m => MonadReader s (ListT m) instance (Error e, MonadReader r m) => MonadReader r (ErrorT e m) instance Monad m => MonadReader r (ReaderT r m) instance MonadReader r m => MonadReader r (StateT s m) instance MonadReader r m => MonadReader r (StateT s m) instance (Monoid w, MonadReader r m) => MonadReader r (WriterT w m) instance (Monoid w, MonadReader r m) => MonadReader r (WriterT w m) instance MonadReader r' m => MonadReader r' (ContT r m) instance Monoid w => MonadReader r (RWS r w s) instance Monoid w => MonadReader r (RWS r w s) instance (Monoid w, Monad m) => MonadReader r (RWST r w s m) instance (Monoid w, Monad m) => MonadReader r (RWST r w s m) asks :: MonadReader r m => (r -> a) -> m a module Control.Monad.RWS.Class class (Monoid w, MonadReader r m, MonadWriter w m, MonadState s m) => MonadRWS r w s m instance (Error e, MonadRWS r w s m) => MonadRWS r w s (ErrorT e m) instance Monoid w => MonadRWS r w s (RWS r w s) instance Monoid w => MonadRWS r w s (RWS r w s) instance (Monoid w, Monad m) => MonadRWS r w s (RWST r w s m) instance (Monoid w, Monad m) => MonadRWS r w s (RWST r w s m) module Control.Monad.Identity newtype Identity a Identity :: a -> Identity a runIdentity :: Identity a -> a instance Functor Identity instance Monad Identity instance MonadFix Identity module Control.Monad.Error.Class class Error a noMsg :: Error a => a strMsg :: Error a => String -> a instance Error IOError instance Error String class Monad m => MonadError e m throwError :: MonadError e m => e -> m a catchError :: MonadError e m => m a -> (e -> m a) -> m a instance MonadError IOError IO instance Error e => MonadError e (Either e) instance MonadError e m => MonadError e (ListT m) instance (Monad m, Error e) => MonadError e (ErrorT e m) instance MonadError e m => MonadError e (ReaderT r m) instance MonadError e m => MonadError e (StateT s m) instance MonadError e m => MonadError e (StateT s m) instance (Monoid w, MonadError e m) => MonadError e (WriterT w m) instance (Monoid w, MonadError e m) => MonadError e (WriterT w m) instance (Monoid w, MonadError e m) => MonadError e (RWST r w s m) instance (Monoid w, MonadError e m) => MonadError e (RWST r w s m) module Control.Monad.Cont.Class class Monad m => MonadCont m callCC :: MonadCont m => (a -> m b -> m a) -> m a instance MonadCont (Cont r) instance MonadCont m => MonadCont (ListT m) instance Monad m => MonadCont (ContT r m) instance (Error e, MonadCont m) => MonadCont (ErrorT e m) instance MonadCont m => MonadCont (ReaderT r m) instance MonadCont m => MonadCont (StateT s m) instance MonadCont m => MonadCont (StateT s m) instance (Monoid w, MonadCont m) => MonadCont (WriterT w m) instance (Monoid w, MonadCont m) => MonadCont (WriterT w m) instance (Monoid w, MonadCont m) => MonadCont (RWST r w s m) instance (Monoid w, MonadCont m) => MonadCont (RWST r w s m) module Control.Monad.Error newtype ErrorT e m a ErrorT :: m (Either e a) -> ErrorT e m a runErrorT :: ErrorT e m a -> m (Either e a) instance (Error e, MonadRWS r w s m) => MonadRWS r w s (ErrorT e m) instance (Monad m, Error e) => MonadError e (ErrorT e m) instance (Error e, MonadReader r m) => MonadReader r (ErrorT e m) instance (Error e, MonadState s m) => MonadState s (ErrorT e m) instance (Error e, MonadWriter w m) => MonadWriter w (ErrorT e m) instance Error e => MonadTrans (ErrorT e) instance Monad m => Functor (ErrorT e m) instance (Monad m, Error e) => Monad (ErrorT e m) instance (Error e, MonadCont m) => MonadCont (ErrorT e m) instance (MonadFix m, Error e) => MonadFix (ErrorT e m) instance (Error e, MonadIO m) => MonadIO (ErrorT e m) instance (Monad m, Error e) => MonadPlus (ErrorT e m) mapErrorT :: (m (Either e a) -> n (Either e' b)) -> ErrorT e m a -> ErrorT e' n b module Control.Monad.List newtype ListT m a ListT :: m [a] -> ListT m a runListT :: ListT m a -> m [a] instance MonadTrans ListT instance MonadError e m => MonadError e (ListT m) instance MonadReader s m => MonadReader s (ListT m) instance MonadState s m => MonadState s (ListT m) instance Monad m => Functor (ListT m) instance Monad m => Monad (ListT m) instance MonadCont m => MonadCont (ListT m) instance MonadIO m => MonadIO (ListT m) instance Monad m => MonadPlus (ListT m) mapListT :: (m [a] -> n [b]) -> ListT m a -> ListT n b module Control.Monad.RWS.Lazy newtype RWS r w s a RWS :: (r -> s -> (a, s, w)) -> RWS r w s a runRWS :: RWS r w s a -> r -> s -> (a, s, w) instance Monoid w => MonadRWS r w s (RWS r w s) instance Monoid w => MonadReader r (RWS r w s) instance Monoid w => MonadState s (RWS r w s) instance Monoid w => MonadWriter w (RWS r w s) instance Functor (RWS r w s) instance Monoid w => Monad (RWS r w s) instance Monoid w => MonadFix (RWS r w s) evalRWS :: RWS r w s a -> r -> s -> (a, w) execRWS :: RWS r w s a -> r -> s -> (s, w) mapRWS :: ((a, s, w) -> (b, s, w')) -> RWS r w s a -> RWS r w' s b withRWS :: (r' -> s -> (r, s)) -> RWS r w s a -> RWS r' w s a newtype RWST r w s m a RWST :: (r -> s -> m (a, s, w)) -> RWST r w s m a runRWST :: RWST r w s m a -> r -> s -> m (a, s, w) instance (Monoid w, Monad m) => MonadRWS r w s (RWST r w s m) instance (Monoid w, MonadError e m) => MonadError e (RWST r w s m) instance (Monoid w, Monad m) => MonadReader r (RWST r w s m) instance (Monoid w, Monad m) => MonadState s (RWST r w s m) instance (Monoid w, Monad m) => MonadWriter w (RWST r w s m) instance Monoid w => MonadTrans (RWST r w s) instance Monad m => Functor (RWST r w s m) instance (Monoid w, Monad m) => Monad (RWST r w s m) instance (Monoid w, MonadCont m) => MonadCont (RWST r w s m) instance (Monoid w, MonadFix m) => MonadFix (RWST r w s m) instance (Monoid w, MonadIO m) => MonadIO (RWST r w s m) instance (Monoid w, MonadPlus m) => MonadPlus (RWST r w s m) evalRWST :: Monad m => RWST r w s m a -> r -> s -> m (a, w) execRWST :: Monad m => RWST r w s m a -> r -> s -> m (s, w) mapRWST :: (m (a, s, w) -> n (b, s, w')) -> RWST r w s m a -> RWST r w' s n b withRWST :: (r' -> s -> (r, s)) -> RWST r w s m a -> RWST r' w s m a module Control.Monad.RWS module Control.Monad.RWS.Strict newtype RWS r w s a RWS :: (r -> s -> (a, s, w)) -> RWS r w s a runRWS :: RWS r w s a -> r -> s -> (a, s, w) instance Monoid w => MonadRWS r w s (RWS r w s) instance Monoid w => MonadReader r (RWS r w s) instance Monoid w => MonadState s (RWS r w s) instance Monoid w => MonadWriter w (RWS r w s) instance Functor (RWS r w s) instance Monoid w => Monad (RWS r w s) instance Monoid w => MonadFix (RWS r w s) evalRWS :: RWS r w s a -> r -> s -> (a, w) execRWS :: RWS r w s a -> r -> s -> (s, w) mapRWS :: ((a, s, w) -> (b, s, w')) -> RWS r w s a -> RWS r w' s b withRWS :: (r' -> s -> (r, s)) -> RWS r w s a -> RWS r' w s a newtype RWST r w s m a RWST :: (r -> s -> m (a, s, w)) -> RWST r w s m a runRWST :: RWST r w s m a -> r -> s -> m (a, s, w) instance (Monoid w, Monad m) => MonadRWS r w s (RWST r w s m) instance (Monoid w, MonadError e m) => MonadError e (RWST r w s m) instance (Monoid w, Monad m) => MonadReader r (RWST r w s m) instance (Monoid w, Monad m) => MonadState s (RWST r w s m) instance (Monoid w, Monad m) => MonadWriter w (RWST r w s m) instance Monoid w => MonadTrans (RWST r w s) instance Monad m => Functor (RWST r w s m) instance (Monoid w, Monad m) => Monad (RWST r w s m) instance (Monoid w, MonadCont m) => MonadCont (RWST r w s m) instance (Monoid w, MonadFix m) => MonadFix (RWST r w s m) instance (Monoid w, MonadIO m) => MonadIO (RWST r w s m) instance (Monoid w, MonadPlus m) => MonadPlus (RWST r w s m) evalRWST :: Monad m => RWST r w s m a -> r -> s -> m (a, w) execRWST :: Monad m => RWST r w s m a -> r -> s -> m (s, w) mapRWST :: (m (a, s, w) -> n (b, s, w')) -> RWST r w s m a -> RWST r w' s n b withRWST :: (r' -> s -> (r, s)) -> RWST r w s m a -> RWST r' w s m a module Control.Monad.Reader newtype Reader r a Reader :: (r -> a) -> Reader r a runReader :: Reader r a -> r -> a instance MonadReader r (Reader r) instance Functor (Reader r) instance Monad (Reader r) instance MonadFix (Reader r) mapReader :: (a -> b) -> Reader r a -> Reader r b withReader :: (r' -> r) -> Reader r a -> Reader r' a newtype ReaderT r m a ReaderT :: (r -> m a) -> ReaderT r m a runReaderT :: ReaderT r m a -> r -> m a instance MonadError e m => MonadError e (ReaderT r m) instance Monad m => MonadReader r (ReaderT r m) instance MonadState s m => MonadState s (ReaderT r m) instance MonadWriter w m => MonadWriter w (ReaderT r m) instance MonadTrans (ReaderT r) instance Monad m => Functor (ReaderT r m) instance Monad m => Monad (ReaderT r m) instance MonadCont m => MonadCont (ReaderT r m) instance MonadFix m => MonadFix (ReaderT r m) instance MonadIO m => MonadIO (ReaderT r m) instance MonadPlus m => MonadPlus (ReaderT r m) mapReaderT :: (m a -> n b) -> ReaderT w m a -> ReaderT w n b withReaderT :: (r' -> r) -> ReaderT r m a -> ReaderT r' m a module Control.Monad.State.Lazy newtype State s a State :: (s -> (a, s)) -> State s a runState :: State s a -> s -> (a, s) instance MonadState s (State s) instance Functor (State s) instance Monad (State s) instance MonadFix (State s) evalState :: State s a -> s -> a execState :: State s a -> s -> s mapState :: ((a, s) -> (b, s)) -> State s a -> State s b withState :: (s -> s) -> State s a -> State s a newtype StateT s m a StateT :: (s -> m (a, s)) -> StateT s m a runStateT :: StateT s m a -> s -> m (a, s) instance MonadError e m => MonadError e (StateT s m) instance MonadReader r m => MonadReader r (StateT s m) instance Monad m => MonadState s (StateT s m) instance MonadWriter w m => MonadWriter w (StateT s m) instance MonadTrans (StateT s) instance Monad m => Functor (StateT s m) instance Monad m => Monad (StateT s m) instance MonadCont m => MonadCont (StateT s m) instance MonadFix m => MonadFix (StateT s m) instance MonadIO m => MonadIO (StateT s m) instance MonadPlus m => MonadPlus (StateT s m) evalStateT :: Monad m => StateT s m a -> s -> m a execStateT :: Monad m => StateT s m a -> s -> m s mapStateT :: (m (a, s) -> n (b, s)) -> StateT s m a -> StateT s n b withStateT :: (s -> s) -> StateT s m a -> StateT s m a module Control.Monad.State module Control.Monad.State.Strict newtype State s a State :: (s -> (a, s)) -> State s a runState :: State s a -> s -> (a, s) instance MonadState s (State s) instance Functor (State s) instance Monad (State s) instance MonadFix (State s) evalState :: State s a -> s -> a execState :: State s a -> s -> s mapState :: ((a, s) -> (b, s)) -> State s a -> State s b withState :: (s -> s) -> State s a -> State s a newtype StateT s m a StateT :: (s -> m (a, s)) -> StateT s m a runStateT :: StateT s m a -> s -> m (a, s) instance MonadError e m => MonadError e (StateT s m) instance MonadReader r m => MonadReader r (StateT s m) instance Monad m => MonadState s (StateT s m) instance MonadWriter w m => MonadWriter w (StateT s m) instance MonadTrans (StateT s) instance Monad m => Functor (StateT s m) instance Monad m => Monad (StateT s m) instance MonadCont m => MonadCont (StateT s m) instance MonadFix m => MonadFix (StateT s m) instance MonadIO m => MonadIO (StateT s m) instance MonadPlus m => MonadPlus (StateT s m) evalStateT :: Monad m => StateT s m a -> s -> m a execStateT :: Monad m => StateT s m a -> s -> m s mapStateT :: (m (a, s) -> n (b, s)) -> StateT s m a -> StateT s n b withStateT :: (s -> s) -> StateT s m a -> StateT s m a module Control.Monad.Writer.Lazy newtype Writer w a Writer :: (a, w) -> Writer w a runWriter :: Writer w a -> (a, w) instance Monoid w => MonadWriter w (Writer w) instance Functor (Writer w) instance Monoid w => Monad (Writer w) instance Monoid w => MonadFix (Writer w) execWriter :: Writer w a -> w mapWriter :: ((a, w) -> (b, w')) -> Writer w a -> Writer w' b newtype WriterT w m a WriterT :: m (a, w) -> WriterT w m a runWriterT :: WriterT w m a -> m (a, w) instance (Monoid w, MonadError e m) => MonadError e (WriterT w m) instance (Monoid w, MonadReader r m) => MonadReader r (WriterT w m) instance (Monoid w, MonadState s m) => MonadState s (WriterT w m) instance (Monoid w, Monad m) => MonadWriter w (WriterT w m) instance Monoid w => MonadTrans (WriterT w) instance Monad m => Functor (WriterT w m) instance (Monoid w, Monad m) => Monad (WriterT w m) instance (Monoid w, MonadCont m) => MonadCont (WriterT w m) instance (Monoid w, MonadFix m) => MonadFix (WriterT w m) instance (Monoid w, MonadIO m) => MonadIO (WriterT w m) instance (Monoid w, MonadPlus m) => MonadPlus (WriterT w m) execWriterT :: Monad m => WriterT w m a -> m w mapWriterT :: (m (a, w) -> n (b, w')) -> WriterT w m a -> WriterT w' n b module Control.Monad.Writer module Control.Monad.Writer.Strict newtype Writer w a Writer :: (a, w) -> Writer w a runWriter :: Writer w a -> (a, w) instance Monoid w => MonadWriter w (Writer w) instance Functor (Writer w) instance Monoid w => Monad (Writer w) instance Monoid w => MonadFix (Writer w) execWriter :: Writer w a -> w mapWriter :: ((a, w) -> (b, w')) -> Writer w a -> Writer w' b newtype WriterT w m a WriterT :: m (a, w) -> WriterT w m a runWriterT :: WriterT w m a -> m (a, w) instance (Monoid w, MonadError e m) => MonadError e (WriterT w m) instance (Monoid w, MonadReader r m) => MonadReader r (WriterT w m) instance (Monoid w, MonadState s m) => MonadState s (WriterT w m) instance (Monoid w, Monad m) => MonadWriter w (WriterT w m) instance Monoid w => MonadTrans (WriterT w) instance Monad m => Functor (WriterT w m) instance (Monoid w, Monad m) => Monad (WriterT w m) instance (Monoid w, MonadCont m) => MonadCont (WriterT w m) instance (Monoid w, MonadFix m) => MonadFix (WriterT w m) instance (Monoid w, MonadIO m) => MonadIO (WriterT w m) instance (Monoid w, MonadPlus m) => MonadPlus (WriterT w m) execWriterT :: Monad m => WriterT w m a -> m w mapWriterT :: (m (a, w) -> n (b, w')) -> WriterT w m a -> WriterT w' n b module Control.Monad.Cont newtype Cont r a Cont :: (a -> r -> r) -> Cont r a runCont :: Cont r a -> (a -> r) -> r instance Functor (Cont r) instance Monad (Cont r) instance MonadCont (Cont r) mapCont :: (r -> r) -> Cont r a -> Cont r a withCont :: (b -> r -> a -> r) -> Cont r a -> Cont r b newtype ContT r m a ContT :: (a -> m r -> m r) -> ContT r m a runContT :: ContT r m a -> (a -> m r) -> m r instance MonadReader r' m => MonadReader r' (ContT r m) instance MonadState s m => MonadState s (ContT r m) instance MonadTrans (ContT r) instance Monad m => Functor (ContT r m) instance Monad m => Monad (ContT r m) instance Monad m => MonadCont (ContT r m) instance MonadIO m => MonadIO (ContT r m) mapContT :: (m r -> m r) -> ContT r m a -> ContT r m a withContT :: (b -> m r -> a -> m r) -> ContT r m a -> ContT r m b -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module System.Locale data TimeLocale TimeLocale :: [(String, String)] -> [(String, String)] -> [(String, String)] -> (String, String) -> String -> String -> String -> String -> TimeLocale wDays :: TimeLocale -> [(String, String)] months :: TimeLocale -> [(String, String)] intervals :: TimeLocale -> [(String, String)] amPm :: TimeLocale -> (String, String) dateTimeFmt :: TimeLocale -> String dateFmt :: TimeLocale -> String timeFmt :: TimeLocale -> String time12Fmt :: TimeLocale -> String instance Eq TimeLocale instance Ord TimeLocale instance Show TimeLocale defaultTimeLocale :: TimeLocale iso8601DateFormat :: Maybe String -> String rfc822DateFormat :: String -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module System.Time data ClockTime TOD :: Integer -> Integer -> ClockTime instance Eq ClockTime instance Ord ClockTime instance Show ClockTime getClockTime :: IO ClockTime data TimeDiff TimeDiff :: Int -> Int -> Int -> Int -> Int -> Int -> Integer -> TimeDiff tdYear :: TimeDiff -> Int tdMonth :: TimeDiff -> Int tdDay :: TimeDiff -> Int tdHour :: TimeDiff -> Int tdMin :: TimeDiff -> Int tdSec :: TimeDiff -> Int tdPicosec :: TimeDiff -> Integer instance Eq TimeDiff instance Ord TimeDiff instance Read TimeDiff instance Show TimeDiff noTimeDiff :: TimeDiff diffClockTimes :: ClockTime -> ClockTime -> TimeDiff addToClockTime :: TimeDiff -> ClockTime -> ClockTime normalizeTimeDiff :: TimeDiff -> TimeDiff timeDiffToString :: TimeDiff -> String formatTimeDiff :: TimeLocale -> String -> TimeDiff -> String data CalendarTime CalendarTime :: Int -> Month -> Int -> Int -> Int -> Int -> Integer -> Day -> Int -> String -> Int -> Bool -> CalendarTime ctYear :: CalendarTime -> Int ctMonth :: CalendarTime -> Month ctDay :: CalendarTime -> Int ctHour :: CalendarTime -> Int ctMin :: CalendarTime -> Int ctSec :: CalendarTime -> Int ctPicosec :: CalendarTime -> Integer ctWDay :: CalendarTime -> Day ctYDay :: CalendarTime -> Int ctTZName :: CalendarTime -> String ctTZ :: CalendarTime -> Int ctIsDST :: CalendarTime -> Bool instance Eq CalendarTime instance Ord CalendarTime instance Read CalendarTime instance Show CalendarTime data Month January :: Month February :: Month March :: Month April :: Month May :: Month June :: Month July :: Month August :: Month September :: Month October :: Month November :: Month December :: Month instance Bounded Month instance Enum Month instance Eq Month instance Ix Month instance Ord Month instance Read Month instance Show Month data Day Sunday :: Day Monday :: Day Tuesday :: Day Wednesday :: Day Thursday :: Day Friday :: Day Saturday :: Day instance Bounded Day instance Enum Day instance Eq Day instance Ix Day instance Ord Day instance Read Day instance Show Day toCalendarTime :: ClockTime -> IO CalendarTime toUTCTime :: ClockTime -> CalendarTime toClockTime :: CalendarTime -> ClockTime calendarTimeToString :: CalendarTime -> String formatCalendarTime :: TimeLocale -> String -> CalendarTime -> String -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module Data.PackedString data PackedString instance Data PackedString instance Eq PackedString instance Ord PackedString instance Show PackedString instance Typeable PackedString packString :: String -> PackedString unpackPS :: PackedString -> String hPutPS :: Handle -> PackedString -> IO () hGetPS :: Handle -> Int -> IO PackedString nilPS :: PackedString consPS :: Char -> PackedString -> PackedString headPS :: PackedString -> Char tailPS :: PackedString -> PackedString nullPS :: PackedString -> Bool appendPS :: PackedString -> PackedString -> PackedString lengthPS :: PackedString -> Int indexPS :: PackedString -> Int -> Char mapPS :: (Char -> Char) -> PackedString -> PackedString filterPS :: (Char -> Bool) -> PackedString -> PackedString reversePS :: PackedString -> PackedString concatPS :: [PackedString] -> PackedString elemPS :: Char -> PackedString -> Bool substrPS :: PackedString -> Int -> Int -> PackedString takePS :: Int -> PackedString -> PackedString dropPS :: Int -> PackedString -> PackedString splitAtPS :: Int -> PackedString -> (PackedString, PackedString) foldlPS :: (a -> Char -> a) -> a -> PackedString -> a foldrPS :: (Char -> a -> a) -> a -> PackedString -> a takeWhilePS :: (Char -> Bool) -> PackedString -> PackedString dropWhilePS :: (Char -> Bool) -> PackedString -> PackedString spanPS :: (Char -> Bool) -> PackedString -> (PackedString, PackedString) breakPS :: (Char -> Bool) -> PackedString -> (PackedString, PackedString) linesPS :: PackedString -> [PackedString] unlinesPS :: [PackedString] -> PackedString wordsPS :: PackedString -> [PackedString] unwordsPS :: [PackedString] -> PackedString splitPS :: Char -> PackedString -> [PackedString] splitWithPS :: (Char -> Bool) -> PackedString -> [PackedString] joinPS :: PackedString -> [PackedString] -> PackedString -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module Control.Parallel par :: a -> b -> b pseq :: a -> b -> b module Control.Parallel.Strategies type Done = () type Strategy a = a -> Done (>|) :: Done -> Done -> Done (>||) :: Done -> Done -> Done using :: a -> Strategy a -> a demanding :: a -> Done -> a sparking :: a -> Done -> a r0 :: Strategy a rwhnf :: Strategy a class NFData a rnf :: NFData a => Strategy a instance NFData Bool instance NFData Char instance NFData Double instance NFData Float instance NFData Int instance NFData Int16 instance NFData Int32 instance NFData Int64 instance NFData Int8 instance NFData IntSet instance NFData Integer instance NFData Word16 instance NFData Word32 instance NFData Word64 instance NFData Word8 instance NFData () instance (NFData a, NFData b) => NFData (a, b) instance (NFData a, NFData b, NFData c) => NFData (a, b, c) instance (NFData a, NFData b, NFData c, NFData d) => NFData (a, b, c, d) instance (NFData a1, NFData a2, NFData a3, NFData a4, NFData a5) => NFData (a1, a2, a3, a4, a5) instance (NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6) => NFData (a1, a2, a3, a4, a5, a6) instance (NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7) => NFData (a1, a2, a3, a4, a5, a6, a7) instance (NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7, NFData a8) => NFData (a1, a2, a3, a4, a5, a6, a7, a8) instance (NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7, NFData a8, NFData a9) => NFData (a1, a2, a3, a4, a5, a6, a7, a8, a9) instance (RealFloat a, NFData a) => NFData (Complex a) instance NFData a => NFData (IntMap a) instance NFData a => NFData (Maybe a) instance (Integral a, NFData a) => NFData (Ratio a) instance NFData a => NFData (Set a) instance NFData a => NFData (Tree a) instance NFData a => NFData [a] instance (Ix a, NFData a, NFData b) => NFData (Array a b) instance (NFData a, NFData b) => NFData (Assoc a b) instance (NFData a, NFData b) => NFData (Either a b) instance (NFData k, NFData a) => NFData (Map k a) ($|) :: (a -> b) -> Strategy a -> a -> b ($||) :: (a -> b) -> Strategy a -> a -> b (.|) :: (b -> c) -> Strategy b -> (a -> b) -> a -> c (.||) :: (b -> c) -> Strategy b -> (a -> b) -> a -> c (-|) :: (a -> b) -> Strategy b -> (b -> c) -> a -> c (-||) :: (a -> b) -> Strategy b -> (b -> c) -> a -> c seqPair :: Strategy a -> Strategy b -> Strategy (a, b) parPair :: Strategy a -> Strategy b -> Strategy (a, b) seqTriple :: Strategy a -> Strategy b -> Strategy c -> Strategy (a, b, c) parTriple :: Strategy a -> Strategy b -> Strategy c -> Strategy (a, b, c) parList :: Strategy a -> Strategy [a] parListN :: Integral b => b -> Strategy a -> Strategy [a] parListNth :: Int -> Strategy a -> Strategy [a] parListChunk :: Int -> Strategy a -> Strategy [a] parMap :: Strategy b -> (a -> b) -> [a] -> [b] parFlatMap :: Strategy [b] -> (a -> [b]) -> [a] -> [b] parZipWith :: Strategy c -> (a -> b -> c) -> [a] -> [b] -> [c] seqList :: Strategy a -> Strategy [a] seqListN :: Integral a => a -> Strategy b -> Strategy [b] seqListNth :: Int -> Strategy b -> Strategy [b] parBuffer :: Int -> Strategy a -> [a] -> [a] seqArr :: Ix b => Strategy a -> Strategy (Array b a) parArr :: Ix b => Strategy a -> Strategy (Array b a) sPar :: a -> Strategy b sSeq :: a -> Strategy b data Assoc a b (:=) :: a -> b -> Assoc a b instance (NFData a, NFData b) => NFData (Assoc a b) fstPairFstList :: NFData a => Strategy [(a, b)] force :: NFData a => a -> a sforce :: NFData a => a -> b -> b -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module Text.ParserCombinators.Parsec.Pos type SourceName = String type Line = Int type Column = Int data SourcePos instance Eq SourcePos instance Ord SourcePos instance Show SourcePos sourceLine :: SourcePos -> Line sourceColumn :: SourcePos -> Column sourceName :: SourcePos -> SourceName incSourceLine :: SourcePos -> Line -> SourcePos incSourceColumn :: SourcePos -> Column -> SourcePos setSourceLine :: SourcePos -> Line -> SourcePos setSourceColumn :: SourcePos -> Column -> SourcePos setSourceName :: SourcePos -> SourceName -> SourcePos newPos :: SourceName -> Line -> Column -> SourcePos initialPos :: SourceName -> SourcePos updatePosChar :: SourcePos -> Char -> SourcePos updatePosString :: SourcePos -> String -> SourcePos module Text.ParserCombinators.Parsec.Error data Message SysUnExpect :: String -> Message UnExpect :: String -> Message Expect :: String -> Message Message :: String -> Message messageString :: Message -> String messageCompare :: Message -> Message -> Ordering messageEq :: Message -> Message -> Bool data ParseError instance Show ParseError errorPos :: ParseError -> SourcePos errorMessages :: ParseError -> [Message] errorIsUnknown :: ParseError -> Bool showErrorMessages :: String -> String -> String -> String -> String -> [Message] -> String newErrorMessage :: Message -> SourcePos -> ParseError newErrorUnknown :: SourcePos -> ParseError addErrorMessage :: Message -> ParseError -> ParseError setErrorPos :: SourcePos -> ParseError -> ParseError setErrorMessage :: Message -> ParseError -> ParseError mergeError :: ParseError -> ParseError -> ParseError module Text.ParserCombinators.Parsec.Prim () :: GenParser tok st a -> String -> GenParser tok st a (<|>) :: GenParser tok st a -> GenParser tok st a -> GenParser tok st a type Parser a = GenParser Char () a data GenParser tok st a instance Functor (GenParser tok st) instance Monad (GenParser tok st) instance MonadPlus (GenParser tok st) runParser :: GenParser tok st a -> st -> SourceName -> [tok] -> Either ParseError a parse :: GenParser tok () a -> SourceName -> [tok] -> Either ParseError a parseFromFile :: Parser a -> SourceName -> IO (Either ParseError a) parseTest :: Show a => GenParser tok () a -> [tok] -> IO () token :: (tok -> String) -> (tok -> SourcePos) -> (tok -> Maybe a) -> GenParser tok st a tokens :: Eq tok => ([tok] -> String) -> (SourcePos -> [tok] -> SourcePos) -> [tok] -> GenParser tok st [tok] tokenPrim :: (tok -> String) -> (SourcePos -> tok -> [tok] -> SourcePos) -> (tok -> Maybe a) -> GenParser tok st a tokenPrimEx :: (tok -> String) -> (SourcePos -> tok -> [tok] -> SourcePos) -> Maybe (SourcePos -> tok -> [tok] -> st -> st) -> (tok -> Maybe a) -> GenParser tok st a try :: GenParser tok st a -> GenParser tok st a label :: GenParser tok st a -> String -> GenParser tok st a labels :: GenParser tok st a -> [String] -> GenParser tok st a unexpected :: String -> GenParser tok st a pzero :: GenParser tok st a many :: GenParser tok st a -> GenParser tok st [a] skipMany :: GenParser tok st a -> GenParser tok st () getState :: GenParser tok st st setState :: st -> GenParser tok st () updateState :: (st -> st) -> GenParser tok st () getPosition :: GenParser tok st SourcePos setPosition :: SourcePos -> GenParser tok st () getInput :: GenParser tok st [tok] setInput :: [tok] -> GenParser tok st () data State tok st State :: [tok] -> SourcePos -> st -> State tok st stateInput :: State tok st -> [tok] statePos :: State tok st -> SourcePos stateUser :: State tok st -> st getParserState :: GenParser tok st (State tok st) setParserState :: State tok st -> GenParser tok st (State tok st) module Text.ParserCombinators.Parsec.Combinator choice :: [GenParser tok st a] -> GenParser tok st a count :: Int -> GenParser tok st a -> GenParser tok st [a] between :: GenParser tok st open -> GenParser tok st close -> GenParser tok st a -> GenParser tok st a option :: a -> GenParser tok st a -> GenParser tok st a optionMaybe :: GenParser tok st a -> GenParser tok st (Maybe a) optional :: GenParser tok st a -> GenParser tok st () skipMany1 :: GenParser tok st a -> GenParser tok st () many1 :: GenParser tok st a -> GenParser tok st [a] sepBy :: GenParser tok st a -> GenParser tok st sep -> GenParser tok st [a] sepBy1 :: GenParser tok st a -> GenParser tok st sep -> GenParser tok st [a] endBy :: GenParser tok st a -> GenParser tok st sep -> GenParser tok st [a] endBy1 :: GenParser tok st a -> GenParser tok st sep -> GenParser tok st [a] sepEndBy :: GenParser tok st a -> GenParser tok st sep -> GenParser tok st [a] sepEndBy1 :: GenParser tok st a -> GenParser tok st sep -> GenParser tok st [a] chainl :: GenParser tok st a -> GenParser tok st (a -> a -> a) -> a -> GenParser tok st a chainl1 :: GenParser tok st a -> GenParser tok st (a -> a -> a) -> GenParser tok st a chainr :: GenParser tok st a -> GenParser tok st (a -> a -> a) -> a -> GenParser tok st a chainr1 :: GenParser tok st a -> GenParser tok st (a -> a -> a) -> GenParser tok st a eof :: Show tok => GenParser tok st () notFollowedBy :: Show tok => GenParser tok st tok -> GenParser tok st () manyTill :: GenParser tok st a -> GenParser tok st end -> GenParser tok st [a] lookAhead :: GenParser tok st a -> GenParser tok st a anyToken :: Show tok => GenParser tok st tok module Text.ParserCombinators.Parsec.Expr data Assoc AssocNone :: Assoc AssocLeft :: Assoc AssocRight :: Assoc data Operator t st a Infix :: GenParser t st (a -> a -> a) -> Assoc -> Operator t st a Prefix :: GenParser t st (a -> a) -> Operator t st a Postfix :: GenParser t st (a -> a) -> Operator t st a type OperatorTable t st a = [[Operator t st a]] buildExpressionParser :: OperatorTable tok st a -> GenParser tok st a -> GenParser tok st a module Text.ParserCombinators.Parsec.Char type CharParser st a = GenParser Char st a spaces :: CharParser st () space :: CharParser st Char newline :: CharParser st Char tab :: CharParser st Char upper :: CharParser st Char lower :: CharParser st Char alphaNum :: CharParser st Char letter :: CharParser st Char digit :: CharParser st Char hexDigit :: CharParser st Char octDigit :: CharParser st Char char :: Char -> CharParser st Char string :: String -> CharParser st String anyChar :: CharParser st Char oneOf :: [Char] -> CharParser st Char noneOf :: [Char] -> CharParser st Char satisfy :: (Char -> Bool) -> CharParser st Char module Text.ParserCombinators.Parsec data ParseError instance Show ParseError errorPos :: ParseError -> SourcePos data SourcePos instance Eq SourcePos instance Ord SourcePos instance Show SourcePos type SourceName = String type Line = Int type Column = Int sourceName :: SourcePos -> SourceName sourceLine :: SourcePos -> Line sourceColumn :: SourcePos -> Column incSourceLine :: SourcePos -> Line -> SourcePos incSourceColumn :: SourcePos -> Column -> SourcePos setSourceLine :: SourcePos -> Line -> SourcePos setSourceColumn :: SourcePos -> Column -> SourcePos setSourceName :: SourcePos -> SourceName -> SourcePos module Text.ParserCombinators.Parsec.Perm data PermParser tok st a permute :: PermParser tok st a -> GenParser tok st a (<||>) :: PermParser tok st (a -> b) -> GenParser tok st a -> PermParser tok st b (<$$>) :: (a -> b) -> GenParser tok st a -> PermParser tok st b (<|?>) :: PermParser tok st (a -> b) -> (a, GenParser tok st a) -> PermParser tok st b (<$?>) :: (a -> b) -> (a, GenParser tok st a) -> PermParser tok st b module Text.ParserCombinators.Parsec.Token data LanguageDef st LanguageDef :: String -> String -> String -> Bool -> CharParser st Char -> CharParser st Char -> CharParser st Char -> CharParser st Char -> [String] -> [String] -> Bool -> LanguageDef st commentStart :: LanguageDef st -> String commentEnd :: LanguageDef st -> String commentLine :: LanguageDef st -> String nestedComments :: LanguageDef st -> Bool identStart :: LanguageDef st -> CharParser st Char identLetter :: LanguageDef st -> CharParser st Char opStart :: LanguageDef st -> CharParser st Char opLetter :: LanguageDef st -> CharParser st Char reservedNames :: LanguageDef st -> [String] reservedOpNames :: LanguageDef st -> [String] caseSensitive :: LanguageDef st -> Bool data TokenParser st TokenParser :: CharParser st String -> (String -> CharParser st ()) -> CharParser st String -> (String -> CharParser st ()) -> CharParser st Char -> CharParser st String -> CharParser st Integer -> CharParser st Integer -> CharParser st Double -> CharParser st (Either Integer Double) -> CharParser st Integer -> CharParser st Integer -> CharParser st Integer -> (String -> CharParser st String) -> (CharParser st a -> CharParser st a) -> CharParser st () -> (CharParser st a -> CharParser st a) -> (CharParser st a -> CharParser st a) -> (CharParser st a -> CharParser st a) -> (CharParser st a -> CharParser st a) -> (CharParser st a -> CharParser st a) -> CharParser st String -> CharParser st String -> CharParser st String -> CharParser st String -> (CharParser st a -> CharParser st [a]) -> (CharParser st a -> CharParser st [a]) -> (CharParser st a -> CharParser st [a]) -> (CharParser st a -> CharParser st [a]) -> TokenParser st identifier :: TokenParser st -> CharParser st String reserved :: TokenParser st -> String -> CharParser st () operator :: TokenParser st -> CharParser st String reservedOp :: TokenParser st -> String -> CharParser st () charLiteral :: TokenParser st -> CharParser st Char stringLiteral :: TokenParser st -> CharParser st String natural :: TokenParser st -> CharParser st Integer integer :: TokenParser st -> CharParser st Integer float :: TokenParser st -> CharParser st Double naturalOrFloat :: TokenParser st -> CharParser st (Either Integer Double) decimal :: TokenParser st -> CharParser st Integer hexadecimal :: TokenParser st -> CharParser st Integer octal :: TokenParser st -> CharParser st Integer symbol :: TokenParser st -> String -> CharParser st String lexeme :: TokenParser st -> CharParser st a -> CharParser st a whiteSpace :: TokenParser st -> CharParser st () parens :: TokenParser st -> CharParser st a -> CharParser st a braces :: TokenParser st -> CharParser st a -> CharParser st a angles :: TokenParser st -> CharParser st a -> CharParser st a brackets :: TokenParser st -> CharParser st a -> CharParser st a squares :: TokenParser st -> CharParser st a -> CharParser st a semi :: TokenParser st -> CharParser st String comma :: TokenParser st -> CharParser st String colon :: TokenParser st -> CharParser st String dot :: TokenParser st -> CharParser st String semiSep :: TokenParser st -> CharParser st a -> CharParser st [a] semiSep1 :: TokenParser st -> CharParser st a -> CharParser st [a] commaSep :: TokenParser st -> CharParser st a -> CharParser st [a] commaSep1 :: TokenParser st -> CharParser st a -> CharParser st [a] makeTokenParser :: LanguageDef st -> TokenParser st module Text.ParserCombinators.Parsec.Language haskellDef :: LanguageDef st haskell :: TokenParser st mondrianDef :: LanguageDef st mondrian :: TokenParser st emptyDef :: LanguageDef st haskellStyle :: LanguageDef st javaStyle :: LanguageDef st data LanguageDef st LanguageDef :: String -> String -> String -> Bool -> CharParser st Char -> CharParser st Char -> CharParser st Char -> CharParser st Char -> [String] -> [String] -> Bool -> LanguageDef st commentStart :: LanguageDef st -> String commentEnd :: LanguageDef st -> String commentLine :: LanguageDef st -> String nestedComments :: LanguageDef st -> Bool identStart :: LanguageDef st -> CharParser st Char identLetter :: LanguageDef st -> CharParser st Char opStart :: LanguageDef st -> CharParser st Char opLetter :: LanguageDef st -> CharParser st Char reservedNames :: LanguageDef st -> [String] reservedOpNames :: LanguageDef st -> [String] caseSensitive :: LanguageDef st -> Bool -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module System.Process data ProcessHandle runCommand :: String -> IO ProcessHandle runProcess :: FilePath -> [String] -> Maybe FilePath -> Maybe [(String, String)] -> Maybe Handle -> Maybe Handle -> Maybe Handle -> IO ProcessHandle runInteractiveCommand :: String -> IO (Handle, Handle, Handle, ProcessHandle) runInteractiveProcess :: FilePath -> [String] -> Maybe FilePath -> Maybe [(String, String)] -> IO (Handle, Handle, Handle, ProcessHandle) waitForProcess :: ProcessHandle -> IO ExitCode getProcessExitCode :: ProcessHandle -> IO (Maybe ExitCode) terminateProcess :: ProcessHandle -> IO () module System.Cmd system :: String -> IO ExitCode rawSystem :: String -> [String] -> IO ExitCode -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module System.Random class RandomGen g next :: RandomGen g => g -> (Int, g) split :: RandomGen g => g -> (g, g) genRange :: RandomGen g => g -> (Int, Int) instance RandomGen StdGen data StdGen instance RandomGen StdGen instance Read StdGen instance Show StdGen mkStdGen :: Int -> StdGen getStdRandom :: (StdGen -> (a, StdGen)) -> IO a getStdGen :: IO StdGen setStdGen :: StdGen -> IO () newStdGen :: IO StdGen class Random a randomR :: (Random a, RandomGen g) => (a, a) -> g -> (a, g) random :: (Random a, RandomGen g) => g -> (a, g) randomRs :: (Random a, RandomGen g) => (a, a) -> g -> [a] randoms :: (Random a, RandomGen g) => g -> [a] randomRIO :: Random a => (a, a) -> IO a randomIO :: Random a => IO a instance Random Bool instance Random Char instance Random Double instance Random Float instance Random Int instance Random Integer -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module Control.Monad.STM check :: Bool -> STM a module Control.Concurrent.STM.TVar module Control.Concurrent.STM.TMVar data TMVar a newTMVar :: a -> STM (TMVar a) newEmptyTMVar :: STM (TMVar a) newTMVarIO :: a -> IO (TMVar a) newEmptyTMVarIO :: IO (TMVar a) takeTMVar :: TMVar a -> STM a putTMVar :: TMVar a -> a -> STM () readTMVar :: TMVar a -> STM a swapTMVar :: TMVar a -> a -> STM a tryTakeTMVar :: TMVar a -> STM (Maybe a) tryPutTMVar :: TMVar a -> a -> STM Bool isEmptyTMVar :: TMVar a -> STM Bool module Control.Concurrent.STM.TChan data TChan a newTChan :: STM (TChan a) newTChanIO :: IO (TChan a) readTChan :: TChan a -> STM a writeTChan :: TChan a -> a -> STM () dupTChan :: TChan a -> STM (TChan a) unGetTChan :: TChan a -> a -> STM () isEmptyTChan :: TChan a -> STM Bool module Control.Concurrent.STM.TArray data TArray i e instance MArray TArray e STM module Control.Concurrent.STM -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module Language.Haskell.TH.Syntax class (Monad m, Functor m) => Quasi m qNewName :: Quasi m => String -> m Name qReport :: Quasi m => Bool -> String -> m () qRecover :: Quasi m => m a -> m a -> m a qReify :: Quasi m => Name -> m Info qCurrentModule :: Quasi m => m String qRunIO :: Quasi m => IO a -> m a instance Quasi IO instance Quasi Q class Lift t lift :: Lift t => t -> Q Exp instance Lift Bool instance Lift Char instance Lift Int instance Lift Integer instance (Lift a, Lift b) => Lift (a, b) instance (Lift a, Lift b, Lift c) => Lift (a, b, c) instance (Lift a, Lift b, Lift c, Lift d) => Lift (a, b, c, d) instance (Lift a, Lift b, Lift c, Lift d, Lift e) => Lift (a, b, c, d, e) instance (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f) => Lift (a, b, c, d, e, f) instance (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g) => Lift (a, b, c, d, e, f, g) instance Lift a => Lift (Maybe a) instance Lift a => Lift [a] instance (Lift a, Lift b) => Lift (Either a b) data Q a instance Functor Q instance Monad Q instance Quasi Q runQ :: Quasi m => Q a -> m a report :: Bool -> String -> Q () recover :: Q a -> Q a -> Q a reify :: Name -> Q Info currentModule :: Q String runIO :: IO a -> Q a data Name Name :: OccName -> NameFlavour -> Name instance Data Name instance Eq Name instance Ord Name instance Ppr Name instance Show Name instance Typeable Name mkName :: String -> Name newName :: String -> Q Name nameBase :: Name -> String nameModule :: Name -> Maybe String showName :: Name -> String showName' :: NameIs -> Name -> String data NameIs Alone :: NameIs Applied :: NameIs Infix :: NameIs data Dec FunD :: Name -> [Clause] -> Dec ValD :: Pat -> Body -> [Dec] -> Dec DataD :: Cxt -> Name -> [Name] -> [Con] -> [Name] -> Dec NewtypeD :: Cxt -> Name -> [Name] -> Con -> [Name] -> Dec TySynD :: Name -> [Name] -> Type -> Dec ClassD :: Cxt -> Name -> [Name] -> [FunDep] -> [Dec] -> Dec InstanceD :: Cxt -> Type -> [Dec] -> Dec SigD :: Name -> Type -> Dec ForeignD :: Foreign -> Dec instance Data Dec instance Eq Dec instance Ppr Dec instance Show Dec instance Typeable Dec data Exp VarE :: Name -> Exp ConE :: Name -> Exp LitE :: Lit -> Exp AppE :: Exp -> Exp -> Exp InfixE :: Maybe Exp -> Exp -> Maybe Exp -> Exp LamE :: [Pat] -> Exp -> Exp TupE :: [Exp] -> Exp CondE :: Exp -> Exp -> Exp -> Exp LetE :: [Dec] -> Exp -> Exp CaseE :: Exp -> [Match] -> Exp DoE :: [Stmt] -> Exp CompE :: [Stmt] -> Exp ArithSeqE :: Range -> Exp ListE :: [Exp] -> Exp SigE :: Exp -> Type -> Exp RecConE :: Name -> [FieldExp] -> Exp RecUpdE :: Exp -> [FieldExp] -> Exp instance Data Exp instance Eq Exp instance Ppr Exp instance Show Exp instance Typeable Exp data Con NormalC :: Name -> [StrictType] -> Con RecC :: Name -> [VarStrictType] -> Con InfixC :: StrictType -> Name -> StrictType -> Con ForallC :: [Name] -> Cxt -> Con -> Con instance Data Con instance Eq Con instance Ppr Con instance Show Con instance Typeable Con data Type ForallT :: [Name] -> Cxt -> Type -> Type VarT :: Name -> Type ConT :: Name -> Type TupleT :: Int -> Type ArrowT :: Type ListT :: Type AppT :: Type -> Type -> Type instance Data Type instance Eq Type instance Ppr Type instance Show Type instance Typeable Type type Cxt = [Type] data Match Match :: Pat -> Body -> [Dec] -> Match instance Data Match instance Eq Match instance Ppr Match instance Show Match instance Typeable Match data Clause Clause :: [Pat] -> Body -> [Dec] -> Clause instance Data Clause instance Eq Clause instance Ppr Clause instance Show Clause instance Typeable Clause data Body GuardedB :: [(Guard, Exp)] -> Body NormalB :: Exp -> Body instance Data Body instance Eq Body instance Show Body instance Typeable Body data Guard NormalG :: Exp -> Guard PatG :: [Stmt] -> Guard instance Data Guard instance Eq Guard instance Show Guard instance Typeable Guard data Stmt BindS :: Pat -> Exp -> Stmt LetS :: [Dec] -> Stmt NoBindS :: Exp -> Stmt ParS :: [[Stmt]] -> Stmt instance Data Stmt instance Eq Stmt instance Ppr Stmt instance Show Stmt instance Typeable Stmt data Range FromR :: Exp -> Range FromThenR :: Exp -> Exp -> Range FromToR :: Exp -> Exp -> Range FromThenToR :: Exp -> Exp -> Exp -> Range instance Data Range instance Eq Range instance Ppr Range instance Show Range instance Typeable Range data Lit CharL :: Char -> Lit StringL :: String -> Lit IntegerL :: Integer -> Lit RationalL :: Rational -> Lit IntPrimL :: Integer -> Lit FloatPrimL :: Rational -> Lit DoublePrimL :: Rational -> Lit instance Data Lit instance Eq Lit instance Show Lit instance Typeable Lit data Pat LitP :: Lit -> Pat VarP :: Name -> Pat TupP :: [Pat] -> Pat ConP :: Name -> [Pat] -> Pat InfixP :: Pat -> Name -> Pat -> Pat TildeP :: Pat -> Pat AsP :: Name -> Pat -> Pat WildP :: Pat RecP :: Name -> [FieldPat] -> Pat ListP :: [Pat] -> Pat SigP :: Pat -> Type -> Pat instance Data Pat instance Eq Pat instance Ppr Pat instance Show Pat instance Typeable Pat type FieldExp = (Name, Exp) type FieldPat = (Name, Pat) data Strict IsStrict :: Strict NotStrict :: Strict instance Data Strict instance Eq Strict instance Show Strict instance Typeable Strict data Foreign ImportF :: Callconv -> Safety -> String -> Name -> Type -> Foreign ExportF :: Callconv -> String -> Name -> Type -> Foreign instance Data Foreign instance Eq Foreign instance Ppr Foreign instance Show Foreign instance Typeable Foreign data Callconv CCall :: Callconv StdCall :: Callconv instance Data Callconv instance Eq Callconv instance Show Callconv instance Typeable Callconv data Safety Unsafe :: Safety Safe :: Safety Threadsafe :: Safety instance Data Safety instance Eq Safety instance Show Safety instance Typeable Safety type StrictType = (Strict, Type) type VarStrictType = (Name, Strict, Type) data FunDep FunDep :: [Name] -> [Name] -> FunDep instance Data FunDep instance Eq FunDep instance Ppr FunDep instance Show FunDep instance Typeable FunDep data Info ClassI :: Dec -> Info ClassOpI :: Name -> Type -> Name -> Fixity -> Info TyConI :: Dec -> Info PrimTyConI :: Name -> Int -> Bool -> Info DataConI :: Name -> Type -> Name -> Fixity -> Info VarI :: Name -> Type -> Maybe Dec -> Fixity -> Info TyVarI :: Name -> Type -> Info instance Data Info instance Ppr Info instance Show Info instance Typeable Info data Fixity Fixity :: Int -> FixityDirection -> Fixity instance Data Fixity instance Eq Fixity instance Show Fixity instance Typeable Fixity data FixityDirection InfixL :: FixityDirection InfixR :: FixityDirection InfixN :: FixityDirection instance Data FixityDirection instance Eq FixityDirection instance Show FixityDirection instance Typeable FixityDirection defaultFixity :: Fixity maxPrecedence :: Int returnQ :: a -> Q a bindQ :: Q a -> (a -> Q b) -> Q b sequenceQ :: [Q a] -> Q [a] data NameFlavour NameS :: NameFlavour NameQ :: ModName -> NameFlavour NameU :: Int# -> NameFlavour NameL :: Int# -> NameFlavour NameG :: NameSpace -> PkgName -> ModName -> NameFlavour instance Data NameFlavour instance Eq NameFlavour instance Ord NameFlavour instance Typeable NameFlavour data NameSpace VarName :: NameSpace DataName :: NameSpace TcClsName :: NameSpace instance Data NameSpace instance Eq NameSpace instance Ord NameSpace instance Typeable NameSpace mkNameG_v :: String -> String -> String -> Name mkNameG_d :: String -> String -> String -> Name mkNameG_tc :: String -> String -> String -> Name type Uniq = Int mkNameL :: String -> Uniq -> Name mkNameU :: String -> Uniq -> Name tupleTypeName :: Int -> Name tupleDataName :: Int -> Name type OccName = PackedString mkOccName :: String -> OccName occString :: OccName -> String type ModName = PackedString mkModName :: String -> ModName modString :: ModName -> String type PkgName = PackedString mkPkgName :: String -> PkgName pkgString :: PkgName -> String module Language.Haskell.TH.PprLib type Doc = PprM Doc instance Show Doc data PprM a instance Monad PprM empty :: Doc semi :: Doc comma :: Doc colon :: Doc space :: Doc equals :: Doc lparen :: Doc rparen :: Doc lbrack :: Doc rbrack :: Doc lbrace :: Doc rbrace :: Doc text :: String -> Doc char :: Char -> Doc ptext :: String -> Doc int :: Int -> Doc integer :: Integer -> Doc float :: Float -> Doc double :: Double -> Doc rational :: Rational -> Doc parens :: Doc -> Doc brackets :: Doc -> Doc braces :: Doc -> Doc quotes :: Doc -> Doc doubleQuotes :: Doc -> Doc (<>) :: Doc -> Doc -> Doc (<+>) :: Doc -> Doc -> Doc hcat :: [Doc] -> Doc hsep :: [Doc] -> Doc ($$) :: Doc -> Doc -> Doc ($+$) :: Doc -> Doc -> Doc vcat :: [Doc] -> Doc sep :: [Doc] -> Doc cat :: [Doc] -> Doc fsep :: [Doc] -> Doc fcat :: [Doc] -> Doc nest :: Int -> Doc -> Doc hang :: Doc -> Int -> Doc -> Doc punctuate :: Doc -> [Doc] -> [Doc] isEmpty :: Doc -> PprM Bool to_HPJ_Doc :: Doc -> Doc pprName :: Name -> Doc pprName' :: NameIs -> Name -> Doc module Language.Haskell.TH.Ppr nestDepth :: Int type Precedence = Int appPrec :: Precedence opPrec :: Precedence noPrec :: Precedence parensIf :: Bool -> Doc -> Doc pprint :: Ppr a => a -> String class Ppr a ppr :: Ppr a => a -> Doc ppr_list :: Ppr a => [a] -> Doc instance Ppr Clause instance Ppr Con instance Ppr Dec instance Ppr Exp instance Ppr Foreign instance Ppr FunDep instance Ppr Info instance Ppr Match instance Ppr Name instance Ppr Pat instance Ppr Range instance Ppr Stmt instance Ppr Type instance Ppr a => Ppr [a] pprFixity :: Name -> Fixity -> Doc pprInfixExp :: Exp -> Doc pprExp :: Precedence -> Exp -> Doc pprFields :: [(Name, Exp)] -> Doc pprMaybeExp :: Precedence -> Maybe Exp -> Doc pprBody :: Bool -> Body -> Doc pprLit :: Precedence -> Lit -> Doc pprPat :: Precedence -> Pat -> Doc pprVarStrictType :: (Name, Strict, Type) -> Doc pprStrictType :: (Strict, Type) -> Doc pprParendType :: Type -> Doc pprTyApp :: (Type, [Type]) -> Doc split :: Type -> (Type, [Type]) pprCxt :: Cxt -> Doc where_clause :: [Dec] -> Doc showtextl :: Show a => a -> Doc module Language.Haskell.TH.Lib type InfoQ = Q Info type PatQ = Q Pat type FieldPatQ = Q FieldPat type ExpQ = Q Exp type DecQ = Q Dec type ConQ = Q Con type TypeQ = Q Type type CxtQ = Q Cxt type MatchQ = Q Match type ClauseQ = Q Clause type BodyQ = Q Body type GuardQ = Q Guard type StmtQ = Q Stmt type RangeQ = Q Range type StrictTypeQ = Q StrictType type VarStrictTypeQ = Q VarStrictType type FieldExpQ = Q FieldExp intPrimL :: Integer -> Lit floatPrimL :: Rational -> Lit doublePrimL :: Rational -> Lit integerL :: Integer -> Lit charL :: Char -> Lit stringL :: String -> Lit rationalL :: Rational -> Lit litP :: Lit -> PatQ varP :: Name -> PatQ tupP :: [PatQ] -> PatQ conP :: Name -> [PatQ] -> PatQ infixP :: PatQ -> Name -> PatQ -> PatQ tildeP :: PatQ -> PatQ asP :: Name -> PatQ -> PatQ wildP :: PatQ recP :: Name -> [FieldPatQ] -> PatQ listP :: [PatQ] -> PatQ sigP :: PatQ -> TypeQ -> PatQ fieldPat :: Name -> PatQ -> FieldPatQ bindS :: PatQ -> ExpQ -> StmtQ letS :: [DecQ] -> StmtQ noBindS :: ExpQ -> StmtQ parS :: [[StmtQ]] -> StmtQ fromR :: ExpQ -> RangeQ fromThenR :: ExpQ -> ExpQ -> RangeQ fromToR :: ExpQ -> ExpQ -> RangeQ fromThenToR :: ExpQ -> ExpQ -> ExpQ -> RangeQ normalB :: ExpQ -> BodyQ guardedB :: [Q (Guard, Exp)] -> BodyQ normalG :: ExpQ -> GuardQ normalGE :: ExpQ -> ExpQ -> Q (Guard, Exp) patG :: [StmtQ] -> GuardQ patGE :: [StmtQ] -> ExpQ -> Q (Guard, Exp) match :: PatQ -> BodyQ -> [DecQ] -> MatchQ clause :: [PatQ] -> BodyQ -> [DecQ] -> ClauseQ dyn :: String -> Q Exp global :: Name -> ExpQ varE :: Name -> ExpQ conE :: Name -> ExpQ litE :: Lit -> ExpQ appE :: ExpQ -> ExpQ -> ExpQ infixE :: Maybe ExpQ -> ExpQ -> Maybe ExpQ -> ExpQ infixApp :: ExpQ -> ExpQ -> ExpQ -> ExpQ sectionL :: ExpQ -> ExpQ -> ExpQ sectionR :: ExpQ -> ExpQ -> ExpQ lamE :: [PatQ] -> ExpQ -> ExpQ lam1E :: PatQ -> ExpQ -> ExpQ tupE :: [ExpQ] -> ExpQ condE :: ExpQ -> ExpQ -> ExpQ -> ExpQ letE :: [DecQ] -> ExpQ -> ExpQ caseE :: ExpQ -> [MatchQ] -> ExpQ doE :: [StmtQ] -> ExpQ compE :: [StmtQ] -> ExpQ arithSeqE :: RangeQ -> ExpQ fromE :: ExpQ -> ExpQ fromThenE :: ExpQ -> ExpQ -> ExpQ fromToE :: ExpQ -> ExpQ -> ExpQ fromThenToE :: ExpQ -> ExpQ -> ExpQ -> ExpQ listE :: [ExpQ] -> ExpQ sigE :: ExpQ -> TypeQ -> ExpQ recConE :: Name -> [Q (Name, Exp)] -> ExpQ recUpdE :: ExpQ -> [Q (Name, Exp)] -> ExpQ stringE :: String -> ExpQ fieldExp :: Name -> ExpQ -> Q (Name, Exp) valD :: PatQ -> BodyQ -> [DecQ] -> DecQ funD :: Name -> [ClauseQ] -> DecQ tySynD :: Name -> [Name] -> TypeQ -> DecQ dataD :: CxtQ -> Name -> [Name] -> [ConQ] -> [Name] -> DecQ newtypeD :: CxtQ -> Name -> [Name] -> ConQ -> [Name] -> DecQ classD :: CxtQ -> Name -> [Name] -> [FunDep] -> [DecQ] -> DecQ instanceD :: CxtQ -> TypeQ -> [DecQ] -> DecQ sigD :: Name -> TypeQ -> DecQ forImpD :: Callconv -> Safety -> String -> Name -> TypeQ -> DecQ cxt :: [TypeQ] -> CxtQ normalC :: Name -> [StrictTypeQ] -> ConQ recC :: Name -> [VarStrictTypeQ] -> ConQ infixC :: Q (Strict, Type) -> Name -> Q (Strict, Type) -> ConQ forallC :: [Name] -> CxtQ -> ConQ -> ConQ forallT :: [Name] -> CxtQ -> TypeQ -> TypeQ varT :: Name -> TypeQ conT :: Name -> TypeQ appT :: TypeQ -> TypeQ -> TypeQ arrowT :: TypeQ listT :: TypeQ tupleT :: Int -> TypeQ isStrict :: Q Strict notStrict :: Q Strict strictType :: Q Strict -> TypeQ -> StrictTypeQ varStrictType :: Name -> StrictTypeQ -> VarStrictTypeQ cCall :: Callconv stdCall :: Callconv unsafe :: Safety safe :: Safety threadsafe :: Safety funDep :: [Name] -> [Name] -> FunDep combine :: [([(Name, Name)], Pat)] -> ([(Name, Name)], [Pat]) rename :: Pat -> Q ([(Name, Name)], Pat) genpat :: Pat -> Q (Name -> ExpQ, Pat) alpha :: [(Name, Name)] -> Name -> ExpQ appsE :: [ExpQ] -> ExpQ simpleMatch :: Pat -> Exp -> Match module Language.Haskell.TH data Q a instance Functor Q instance Monad Q instance Quasi Q runQ :: Quasi m => Q a -> m a report :: Bool -> String -> Q () recover :: Q a -> Q a -> Q a reify :: Name -> Q Info currentModule :: Q String runIO :: IO a -> Q a data Name instance Data Name instance Eq Name instance Ord Name instance Ppr Name instance Show Name instance Typeable Name mkName :: String -> Name newName :: String -> Q Name nameBase :: Name -> String nameModule :: Name -> Maybe String tupleTypeName :: Int -> Name tupleDataName :: Int -> Name data Dec FunD :: Name -> [Clause] -> Dec ValD :: Pat -> Body -> [Dec] -> Dec DataD :: Cxt -> Name -> [Name] -> [Con] -> [Name] -> Dec NewtypeD :: Cxt -> Name -> [Name] -> Con -> [Name] -> Dec TySynD :: Name -> [Name] -> Type -> Dec ClassD :: Cxt -> Name -> [Name] -> [FunDep] -> [Dec] -> Dec InstanceD :: Cxt -> Type -> [Dec] -> Dec SigD :: Name -> Type -> Dec ForeignD :: Foreign -> Dec instance Data Dec instance Eq Dec instance Ppr Dec instance Show Dec instance Typeable Dec data Exp VarE :: Name -> Exp ConE :: Name -> Exp LitE :: Lit -> Exp AppE :: Exp -> Exp -> Exp InfixE :: Maybe Exp -> Exp -> Maybe Exp -> Exp LamE :: [Pat] -> Exp -> Exp TupE :: [Exp] -> Exp CondE :: Exp -> Exp -> Exp -> Exp LetE :: [Dec] -> Exp -> Exp CaseE :: Exp -> [Match] -> Exp DoE :: [Stmt] -> Exp CompE :: [Stmt] -> Exp ArithSeqE :: Range -> Exp ListE :: [Exp] -> Exp SigE :: Exp -> Type -> Exp RecConE :: Name -> [FieldExp] -> Exp RecUpdE :: Exp -> [FieldExp] -> Exp instance Data Exp instance Eq Exp instance Ppr Exp instance Show Exp instance Typeable Exp data Con NormalC :: Name -> [StrictType] -> Con RecC :: Name -> [VarStrictType] -> Con InfixC :: StrictType -> Name -> StrictType -> Con ForallC :: [Name] -> Cxt -> Con -> Con instance Data Con instance Eq Con instance Ppr Con instance Show Con instance Typeable Con data Type ForallT :: [Name] -> Cxt -> Type -> Type VarT :: Name -> Type ConT :: Name -> Type TupleT :: Int -> Type ArrowT :: Type ListT :: Type AppT :: Type -> Type -> Type instance Data Type instance Eq Type instance Ppr Type instance Show Type instance Typeable Type type Cxt = [Type] data Match Match :: Pat -> Body -> [Dec] -> Match instance Data Match instance Eq Match instance Ppr Match instance Show Match instance Typeable Match data Clause Clause :: [Pat] -> Body -> [Dec] -> Clause instance Data Clause instance Eq Clause instance Ppr Clause instance Show Clause instance Typeable Clause data Body GuardedB :: [(Guard, Exp)] -> Body NormalB :: Exp -> Body instance Data Body instance Eq Body instance Show Body instance Typeable Body data Guard NormalG :: Exp -> Guard PatG :: [Stmt] -> Guard instance Data Guard instance Eq Guard instance Show Guard instance Typeable Guard data Stmt BindS :: Pat -> Exp -> Stmt LetS :: [Dec] -> Stmt NoBindS :: Exp -> Stmt ParS :: [[Stmt]] -> Stmt instance Data Stmt instance Eq Stmt instance Ppr Stmt instance Show Stmt instance Typeable Stmt data Range FromR :: Exp -> Range FromThenR :: Exp -> Exp -> Range FromToR :: Exp -> Exp -> Range FromThenToR :: Exp -> Exp -> Exp -> Range instance Data Range instance Eq Range instance Ppr Range instance Show Range instance Typeable Range data Lit CharL :: Char -> Lit StringL :: String -> Lit IntegerL :: Integer -> Lit RationalL :: Rational -> Lit IntPrimL :: Integer -> Lit FloatPrimL :: Rational -> Lit DoublePrimL :: Rational -> Lit instance Data Lit instance Eq Lit instance Show Lit instance Typeable Lit data Pat LitP :: Lit -> Pat VarP :: Name -> Pat TupP :: [Pat] -> Pat ConP :: Name -> [Pat] -> Pat InfixP :: Pat -> Name -> Pat -> Pat TildeP :: Pat -> Pat AsP :: Name -> Pat -> Pat WildP :: Pat RecP :: Name -> [FieldPat] -> Pat ListP :: [Pat] -> Pat SigP :: Pat -> Type -> Pat instance Data Pat instance Eq Pat instance Ppr Pat instance Show Pat instance Typeable Pat type FieldExp = (Name, Exp) type FieldPat = (Name, Pat) data Strict IsStrict :: Strict NotStrict :: Strict instance Data Strict instance Eq Strict instance Show Strict instance Typeable Strict data Foreign ImportF :: Callconv -> Safety -> String -> Name -> Type -> Foreign ExportF :: Callconv -> String -> Name -> Type -> Foreign instance Data Foreign instance Eq Foreign instance Ppr Foreign instance Show Foreign instance Typeable Foreign data Callconv CCall :: Callconv StdCall :: Callconv instance Data Callconv instance Eq Callconv instance Show Callconv instance Typeable Callconv data Safety Unsafe :: Safety Safe :: Safety Threadsafe :: Safety instance Data Safety instance Eq Safety instance Show Safety instance Typeable Safety data FunDep FunDep :: [Name] -> [Name] -> FunDep instance Data FunDep instance Eq FunDep instance Ppr FunDep instance Show FunDep instance Typeable FunDep data Info ClassI :: Dec -> Info ClassOpI :: Name -> Type -> Name -> Fixity -> Info TyConI :: Dec -> Info PrimTyConI :: Name -> Int -> Bool -> Info DataConI :: Name -> Type -> Name -> Fixity -> Info VarI :: Name -> Type -> Maybe Dec -> Fixity -> Info TyVarI :: Name -> Type -> Info instance Data Info instance Ppr Info instance Show Info instance Typeable Info data Fixity Fixity :: Int -> FixityDirection -> Fixity instance Data Fixity instance Eq Fixity instance Show Fixity instance Typeable Fixity data FixityDirection InfixL :: FixityDirection InfixR :: FixityDirection InfixN :: FixityDirection instance Data FixityDirection instance Eq FixityDirection instance Show FixityDirection instance Typeable FixityDirection defaultFixity :: Fixity maxPrecedence :: Int type InfoQ = Q Info type ExpQ = Q Exp type DecQ = Q Dec type ConQ = Q Con type TypeQ = Q Type type CxtQ = Q Cxt type MatchQ = Q Match type ClauseQ = Q Clause type BodyQ = Q Body type GuardQ = Q Guard type StmtQ = Q Stmt type RangeQ = Q Range type StrictTypeQ = Q StrictType type VarStrictTypeQ = Q VarStrictType type PatQ = Q Pat type FieldPatQ = Q FieldPat intPrimL :: Integer -> Lit floatPrimL :: Rational -> Lit doublePrimL :: Rational -> Lit integerL :: Integer -> Lit charL :: Char -> Lit stringL :: String -> Lit rationalL :: Rational -> Lit litP :: Lit -> PatQ varP :: Name -> PatQ tupP :: [PatQ] -> PatQ conP :: Name -> [PatQ] -> PatQ infixP :: PatQ -> Name -> PatQ -> PatQ tildeP :: PatQ -> PatQ asP :: Name -> PatQ -> PatQ wildP :: PatQ recP :: Name -> [FieldPatQ] -> PatQ listP :: [PatQ] -> PatQ sigP :: PatQ -> TypeQ -> PatQ fieldPat :: Name -> PatQ -> FieldPatQ bindS :: PatQ -> ExpQ -> StmtQ letS :: [DecQ] -> StmtQ noBindS :: ExpQ -> StmtQ parS :: [[StmtQ]] -> StmtQ fromR :: ExpQ -> RangeQ fromThenR :: ExpQ -> ExpQ -> RangeQ fromToR :: ExpQ -> ExpQ -> RangeQ fromThenToR :: ExpQ -> ExpQ -> ExpQ -> RangeQ normalB :: ExpQ -> BodyQ guardedB :: [Q (Guard, Exp)] -> BodyQ normalG :: ExpQ -> GuardQ normalGE :: ExpQ -> ExpQ -> Q (Guard, Exp) patG :: [StmtQ] -> GuardQ patGE :: [StmtQ] -> ExpQ -> Q (Guard, Exp) match :: PatQ -> BodyQ -> [DecQ] -> MatchQ clause :: [PatQ] -> BodyQ -> [DecQ] -> ClauseQ dyn :: String -> Q Exp global :: Name -> ExpQ varE :: Name -> ExpQ conE :: Name -> ExpQ litE :: Lit -> ExpQ appE :: ExpQ -> ExpQ -> ExpQ infixE :: Maybe ExpQ -> ExpQ -> Maybe ExpQ -> ExpQ infixApp :: ExpQ -> ExpQ -> ExpQ -> ExpQ sectionL :: ExpQ -> ExpQ -> ExpQ sectionR :: ExpQ -> ExpQ -> ExpQ lamE :: [PatQ] -> ExpQ -> ExpQ lam1E :: PatQ -> ExpQ -> ExpQ tupE :: [ExpQ] -> ExpQ condE :: ExpQ -> ExpQ -> ExpQ -> ExpQ letE :: [DecQ] -> ExpQ -> ExpQ caseE :: ExpQ -> [MatchQ] -> ExpQ doE :: [StmtQ] -> ExpQ compE :: [StmtQ] -> ExpQ arithSeqE :: RangeQ -> ExpQ appsE :: [ExpQ] -> ExpQ fromE :: ExpQ -> ExpQ fromThenE :: ExpQ -> ExpQ -> ExpQ fromToE :: ExpQ -> ExpQ -> ExpQ fromThenToE :: ExpQ -> ExpQ -> ExpQ -> ExpQ listE :: [ExpQ] -> ExpQ sigE :: ExpQ -> TypeQ -> ExpQ recConE :: Name -> [Q (Name, Exp)] -> ExpQ recUpdE :: ExpQ -> [Q (Name, Exp)] -> ExpQ stringE :: String -> ExpQ fieldExp :: Name -> ExpQ -> Q (Name, Exp) valD :: PatQ -> BodyQ -> [DecQ] -> DecQ funD :: Name -> [ClauseQ] -> DecQ tySynD :: Name -> [Name] -> TypeQ -> DecQ dataD :: CxtQ -> Name -> [Name] -> [ConQ] -> [Name] -> DecQ newtypeD :: CxtQ -> Name -> [Name] -> ConQ -> [Name] -> DecQ classD :: CxtQ -> Name -> [Name] -> [FunDep] -> [DecQ] -> DecQ instanceD :: CxtQ -> TypeQ -> [DecQ] -> DecQ sigD :: Name -> TypeQ -> DecQ forImpD :: Callconv -> Safety -> String -> Name -> TypeQ -> DecQ cxt :: [TypeQ] -> CxtQ normalC :: Name -> [StrictTypeQ] -> ConQ recC :: Name -> [VarStrictTypeQ] -> ConQ infixC :: Q (Strict, Type) -> Name -> Q (Strict, Type) -> ConQ forallT :: [Name] -> CxtQ -> TypeQ -> TypeQ varT :: Name -> TypeQ conT :: Name -> TypeQ appT :: TypeQ -> TypeQ -> TypeQ arrowT :: TypeQ listT :: TypeQ tupleT :: Int -> TypeQ isStrict :: Q Strict notStrict :: Q Strict strictType :: Q Strict -> TypeQ -> StrictTypeQ varStrictType :: Name -> StrictTypeQ -> VarStrictTypeQ cCall :: Callconv stdCall :: Callconv unsafe :: Safety safe :: Safety threadsafe :: Safety class Ppr a ppr :: Ppr a => a -> Doc ppr_list :: Ppr a => [a] -> Doc instance Ppr Clause instance Ppr Con instance Ppr Dec instance Ppr Exp instance Ppr Foreign instance Ppr FunDep instance Ppr Info instance Ppr Match instance Ppr Name instance Ppr Pat instance Ppr Range instance Ppr Stmt instance Ppr Type instance Ppr a => Ppr [a] pprint :: Ppr a => a -> String pprExp :: Precedence -> Exp -> Doc pprLit :: Precedence -> Lit -> Doc pprPat :: Precedence -> Pat -> Doc pprParendType :: Type -> Doc -- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module Data.Time.Calendar.MonthDay monthAndDayToDayOfYear :: Bool -> Int -> Int -> Int dayOfYearToMonthAndDay :: Bool -> Int -> (Int, Int) monthLength :: Bool -> Int -> Int module Data.Time.Calendar.Julian toJulianYearAndDay :: Day -> (Integer, Int) fromJulianYearAndDay :: Integer -> Int -> Day showJulianYearAndDay :: Day -> String isJulianLeapYear :: Integer -> Bool toJulian :: Day -> (Integer, Int, Int) fromJulian :: Integer -> Int -> Int -> Day showJulian :: Day -> String julianMonthLength :: Integer -> Int -> Int addJulianMonthsClip :: Integer -> Day -> Day addJulianMonthsRollOver :: Integer -> Day -> Day addJulianYearsClip :: Integer -> Day -> Day addJulianYearsRollOver :: Integer -> Day -> Day module Data.Time.Calendar.OrdinalDate toOrdinalDate :: Day -> (Integer, Int) fromOrdinalDate :: Integer -> Int -> Day showOrdinalDate :: Day -> String isLeapYear :: Integer -> Bool mondayStartWeek :: Day -> (Int, Int) sundayStartWeek :: Day -> (Int, Int) fromMondayStartWeek :: Integer -> Int -> Int -> Day fromSundayStartWeek :: Integer -> Int -> Int -> Day module Data.Time.Calendar.WeekDate toWeekDate :: Day -> (Integer, Int, Int) fromWeekDate :: Integer -> Int -> Int -> Day showWeekDate :: Day -> String module Data.Time.Clock.POSIX posixDayLength :: NominalDiffTime type POSIXTime = NominalDiffTime posixSecondsToUTCTime :: POSIXTime -> UTCTime utcTimeToPOSIXSeconds :: UTCTime -> POSIXTime getPOSIXTime :: IO POSIXTime module Data.Time.Clock newtype UniversalTime ModJulianDate :: Rational -> UniversalTime getModJulianDate :: UniversalTime -> Rational instance Eq UniversalTime instance Ord UniversalTime data DiffTime instance Enum DiffTime instance Eq DiffTime instance Fractional DiffTime instance Num DiffTime instance Ord DiffTime instance Real DiffTime instance Show DiffTime secondsToDiffTime :: Integer -> DiffTime picosecondsToDiffTime :: Integer -> DiffTime data UTCTime UTCTime :: Day -> DiffTime -> UTCTime utctDay :: UTCTime -> Day utctDayTime :: UTCTime -> DiffTime instance Eq UTCTime instance FormatTime UTCTime instance Ord UTCTime instance ParseTime UTCTime instance Read UTCTime instance Show UTCTime data NominalDiffTime instance Enum NominalDiffTime instance Eq NominalDiffTime instance Fractional NominalDiffTime instance Num NominalDiffTime instance Ord NominalDiffTime instance Real NominalDiffTime instance RealFrac NominalDiffTime instance Show NominalDiffTime addUTCTime :: NominalDiffTime -> UTCTime -> UTCTime diffUTCTime :: UTCTime -> UTCTime -> NominalDiffTime getCurrentTime :: IO UTCTime module Data.Time.Calendar newtype Day ModifiedJulianDay :: Integer -> Day toModifiedJulianDay :: Day -> Integer instance Enum Day instance Eq Day instance FormatTime Day instance Ord Day instance ParseTime Day instance Read Day instance Show Day addDays :: Integer -> Day -> Day diffDays :: Day -> Day -> Integer toGregorian :: Day -> (Integer, Int, Int) fromGregorian :: Integer -> Int -> Int -> Day showGregorian :: Day -> String gregorianMonthLength :: Integer -> Int -> Int addGregorianMonthsClip :: Integer -> Day -> Day addGregorianMonthsRollOver :: Integer -> Day -> Day addGregorianYearsClip :: Integer -> Day -> Day addGregorianYearsRollOver :: Integer -> Day -> Day isLeapYear :: Integer -> Bool module Data.Time.Calendar.Easter sundayAfter :: Day -> Day orthodoxPaschalMoon :: Integer -> Day orthodoxEaster :: Integer -> Day gregorianPaschalMoon :: Integer -> Day gregorianEaster :: Integer -> Day module Data.Time.LocalTime data TimeZone TimeZone :: Int -> Bool -> String -> TimeZone timeZoneMinutes :: TimeZone -> Int timeZoneSummerOnly :: TimeZone -> Bool timeZoneName :: TimeZone -> String instance Eq TimeZone instance FormatTime TimeZone instance Ord TimeZone instance ParseTime TimeZone instance Read TimeZone instance Show TimeZone timeZoneOffsetString :: TimeZone -> String minutesToTimeZone :: Int -> TimeZone hoursToTimeZone :: Int -> TimeZone utc :: TimeZone getTimeZone :: UTCTime -> IO TimeZone getCurrentTimeZone :: IO TimeZone data TimeOfDay TimeOfDay :: Int -> Int -> Pico -> TimeOfDay todHour :: TimeOfDay -> Int todMin :: TimeOfDay -> Int todSec :: TimeOfDay -> Pico instance Eq TimeOfDay instance FormatTime TimeOfDay instance Ord TimeOfDay instance ParseTime TimeOfDay instance Read TimeOfDay instance Show TimeOfDay midnight :: TimeOfDay midday :: TimeOfDay utcToLocalTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay) localToUTCTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay) timeToTimeOfDay :: DiffTime -> TimeOfDay timeOfDayToTime :: TimeOfDay -> DiffTime dayFractionToTimeOfDay :: Rational -> TimeOfDay timeOfDayToDayFraction :: TimeOfDay -> Rational data LocalTime LocalTime :: Day -> TimeOfDay -> LocalTime localDay :: LocalTime -> Day localTimeOfDay :: LocalTime -> TimeOfDay instance Eq LocalTime instance FormatTime LocalTime instance Ord LocalTime instance ParseTime LocalTime instance Read LocalTime instance Show LocalTime utcToLocalTime :: TimeZone -> UTCTime -> LocalTime localTimeToUTC :: TimeZone -> LocalTime -> UTCTime ut1ToLocalTime :: Rational -> UniversalTime -> LocalTime localTimeToUT1 :: Rational -> LocalTime -> UniversalTime data ZonedTime ZonedTime :: LocalTime -> TimeZone -> ZonedTime zonedTimeToLocalTime :: ZonedTime -> LocalTime zonedTimeZone :: ZonedTime -> TimeZone instance FormatTime ZonedTime instance ParseTime ZonedTime instance Read ZonedTime instance Show ZonedTime utcToZonedTime :: TimeZone -> UTCTime -> ZonedTime zonedTimeToUTC :: ZonedTime -> UTCTime getZonedTime :: IO ZonedTime utcToLocalZonedTime :: UTCTime -> IO ZonedTime module Data.Time.Clock.TAI data AbsoluteTime instance Eq AbsoluteTime instance Ord AbsoluteTime instance Show AbsoluteTime taiEpoch :: AbsoluteTime addAbsoluteTime :: DiffTime -> AbsoluteTime -> AbsoluteTime diffAbsoluteTime :: AbsoluteTime -> AbsoluteTime -> DiffTime type LeapSecondTable = Day -> Integer utcDayLength :: LeapSecondTable -> Day -> DiffTime utcToTAITime :: LeapSecondTable -> UTCTime -> AbsoluteTime taiToUTCTime :: LeapSecondTable -> AbsoluteTime -> UTCTime parseTAIUTCDATFile :: String -> LeapSecondTable module Data.Time.Format class FormatTime t formatCharacter :: FormatTime t => Char -> Maybe (TimeLocale -> t -> String) instance FormatTime Day instance FormatTime LocalTime instance FormatTime TimeOfDay instance FormatTime TimeZone instance FormatTime UTCTime instance FormatTime ZonedTime formatTime :: FormatTime t => TimeLocale -> String -> t -> String parseTime :: ParseTime t => TimeLocale -> String -> String -> Maybe t readTime :: ParseTime t => TimeLocale -> String -> String -> t readsTime :: ParseTime t => TimeLocale -> String -> ReadS t class ParseTime t buildTime :: ParseTime t => TimeLocale -> [(Char, String)] -> t instance ParseTime Day instance ParseTime LocalTime instance ParseTime TimeOfDay instance ParseTime TimeZone instance ParseTime UTCTime instance ParseTime ZonedTime module Data.Time