packages feed

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")
  ]