lambdabot-4.1: scripts/FT/PredefinedTypes.hs
-- Copyright 2006, Sascha Boehme.
-- List types of functions which are defined in Haskell libraries.
module PredefinedTypes where
-- Lists types of functions defined in Haskell libraries.
predefinedTypes :: [(String, String)]
predefinedTypes = preludeTypes
-- Lists the types of all polymorphic functions from the Haskell prelude.
preludeTypes :: [(String, String)]
preludeTypes =
[ ("maybe", "forall a b. b -> (a -> b) -> Maybe a -> b")
, ("either", "forall a b c. (a -> c) -> (b -> c) -> Either a b -> c")
, ("fst", "forall a b. (a, b) -> a")
, ("snd", "forall a b. (a, b) -> b")
, ("curry", "forall a b c. ((a, b) -> c) -> a -> b -> c")
, ("uncurry", "forall a b c. (a -> b -> c) -> (a, b) -> c")
, ("id", "forall a. a -> a")
, ("const", "forall a b. a -> b -> a")
, ("(.)", "forall a b c. (b -> c) -> (a -> b) -> a -> c")
, ("flip", "forall a b c. (a -> b -> c) -> b -> a -> c")
, ("($)", "forall a b. (a -> b) -> a -> b")
, ("until", "forall a. (a -> Bool) -> (a -> a) -> a -> a")
, ("asTypeOf", "forall a. a -> a -> a")
, ("error", "forall a. String -> a")
, ("undefined", "forall a. a")
, ("seq", "forall a b. a -> b -> b")
, ("($!)", "forall a b. (a -> b) -> a -> b")
, ("map", "forall a b. (a -> b) -> [a] -> [b]")
, ("(++)", "forall a. [a] -> [a] -> [a]")
, ("filter", "forall a. (a -> Bool) -> [a] -> [a]")
, ("head", "forall a. [a] -> a")
, ("last", "forall a. [a] -> a")
, ("tail", "forall a. [a] -> [a]")
, ("init", "forall a. [a] -> [a]")
, ("null", "forall a. [a] -> Bool")
, ("length", "forall a. [a] -> Int")
, ("(!!)", "forall a. [a] -> Int -> a")
, ("reverse", "forall a. [a] -> [a]")
, ("foldl", "forall a b. (a -> b -> a) -> a -> [b] -> a")
, ("foldl1", "forall a b. (a -> a -> a) -> [a] -> a")
, ("foldr", "forall a b. (a -> b -> b) -> b -> [a] -> b")
, ("foldr1", "forall a. (a -> a -> a) -> [a] -> a")
, ("any", "forall a. (a -> Bool) -> [a] -> Bool")
, ("all", "forall a. (a -> Bool) -> [a] -> Bool")
, ("concat", "forall a. [[a]] -> [a]")
, ("concatMap", "forall a b. (a -> [b]) -> [a] -> [b]")
, ("scanl", "forall a b. (a -> b -> a) -> a -> [b] -> [a]")
, ("scanl1", "forall a. (a -> a -> a) -> [a] -> [a]")
, ("scanr", "forall a b. (a -> b -> b) -> b -> [a] -> [b]")
, ("scanr1", "forall a. (a -> a -> a) -> [a] -> [a]")
, ("iterate", "forall a. (a -> a) -> a -> [a]")
, ("repeat", "forall a. a -> [a]")
, ("replicate", "forall a. Int -> a -> [a]")
, ("cycle", "forall a. [a] -> [a]")
, ("take", "forall a. Int -> [a] -> [a]")
, ("drop", "forall a. Int -> [a] -> [a]")
, ("splitAt", "forall a. Int -> [a] -> ([a], [a])")
, ("takeWhile", "forall a. (a -> Bool) -> [a] -> [a]")
, ("dropWhile", "forall a. (a -> Bool) -> [a] -> [a]")
, ("span", "forall a. (a -> Bool) -> [a] -> ([a], [a])")
, ("break", "forall a. (a -> Bool) -> [a] -> ([a], [a])")
, ("zip", "forall a b. [a] -> [b] -> [(a, b)]")
, ("zip3", "forall a b c. [a] -> [b] -> [c] -> [(a, b, c)]")
, ("zipWith", "forall a b c. (a -> b -> c) -> [a] -> [b] -> [c]")
, ("zipWith3", "forall a b c d. (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]")
, ("unzip", "forall a b. [(a, b)] -> ([a], [b])")
, ("unzip3", "forall a b c. [(a, b, c)] -> ([a], [b], [c])")
, ("readParen", "forall a. Bool -> ReadS a -> ReadS a")
]