module TypesPrelude where import Types import Expr import Prelude hiding (maybe, either) --($!) =: (a ->: b) ->: a ->: b t'index = "index" =: list (a) ->: int ->: a t'dollar = "dollar" =: (a ->: b) ->: a ->: b t'land = "land" =: bool ->: bool ->: bool t'lor = "lor" =: bool ->: bool ->: bool t'append = "append" =: list (a) ->: list (a) ->: list (a) t'cons = "cons" =: a ->: list (a) ->: list (a) t'dot = "dot" =: (b ->: c) ->: (a ->: b) ->: a ->: c t'all = "all" =: (a ->: bool) ->: list (a) ->: bool t'and = "and" =: list (bool) ->: bool t'any = "any" =: (a ->: bool) ->: list (a) ->: bool t'appendfile = "appendfile" =: filepath ->: string ->: io unit t'astypeof = "astypeof" =: a ->: a ->: a t'break = "break" =: (a ->: bool) ->: list (a) ->: (pair (list (a)) (list (a))) t'concat = "concat" =: list (list a) ->: list (a) t'concatmap = "concatmap" =: (a ->: list (b)) ->: list (a) ->: list (b) t'const = "const" =: a ->: b ->: a t'curry = "curry" =: (pair a b ->: c) ->: a ->: b ->: c t'cycle = "cycle" =: list (a) ->: list (a) t'drop = "drop" =: int ->: list (a) ->: list (a) t'dropwhile = "dropwhile" =: (a ->: bool) ->: list (a) ->: list (a) t'either = "either" =: (a ->: c) ->: (b ->: c) ->: either a b ->: c t'error = "error" =: list (char) ->: a t'filter = "filter" =: (a ->: bool) ->: list (a) ->: list (a) t'flip = "flip" =: (a ->: b ->: c) ->: b ->: a ->: c t'foldl = "foldl" =: (a ->: b ->: a) ->: a ->: list (b) ->: a t'foldl1 = "foldl1" =: (a ->: a ->: a) ->: list (a) ->: a t'foldr = "foldr" =: (a ->: b ->: b) ->: b ->: list (a) ->: b t'foldr1 = "foldr1" =: (a ->: a ->: a) ->: list (a) ->: a t'fst = "fst" =: pair a b ->: a t'getchar = "getchar" =: io char t'getcontents = "getcontents" =: io string t'getline = "getline" =: io string t'head = "head" =: list (a) ->: a t'id = "id" =: a ->: a t'init = "init" =: list (a) ->: list (a) t'interact = "interact" =: (string ->: string) ->: io unit t'ioerror = "ioerror" =: ioerror ->: io a t'iterate = "iterate" =: (a ->: a) ->: a ->: list (a) t'last = "last" =: list (a) ->: a t'length = "length" =: list (a) ->: int t'lines = "lines" =: string ->: list (string) t'map = "map" =: (a ->: b) ->: list (a) ->: list (b) t'maybe = "maybe" =: b ->: (a ->: b) ->: maybe a ->: b t'not = "not" =: bool ->: bool t'null = "null" =: list (a) ->: bool t'or = "or" =: list (bool) ->: bool t'otherwise = "otherwise" =: bool t'putchar = "putchar" =: char ->: io unit t'putstr = "putstr" =: string ->: io unit t'putstrln = "putstrln" =: string ->: io unit t'readfile = "readfile" =: filepath ->: io string t'repeat = "repeat" =: a ->: list (a) t'replicate = "replicate" =: int ->: a ->: list (a) t'reverse = "reverse" =: list (a) ->: list (a) t'scanl = "scanl" =: (a ->: b ->: a) ->: a ->: list (b) ->: list (a) t'scanl1 = "scanl1" =: (a ->: a ->: a) ->: list (a) ->: list (a) t'scanr = "scanr" =: (a ->: b ->: b) ->: b ->: list (a) ->: list (b) t'scanr1 = "scanr1" =: (a ->: a ->: a) ->: list (a) ->: list (a) t'seq = "seq" =: a ->: b ->: b t'snd = "snd" =: pair a b ->: b t'span = "span" =: (a ->: bool) ->: list (a) ->: pair (list (a)) (list (a)) t'splitat = "splitat" =: int ->: list (a) ->: pair (list (a)) (list (a)) t'tail = "tail" =: list (a) ->: list (a) t'take = "take" =: int ->: list (a) ->: list (a) t'takewhile = "takewhile" =: (a ->: bool) ->: list (a) ->: list (a) t'uncurry = "uncurry" =: (a ->: b ->: c) ->: pair a b ->: c t'undefined = "undefined" =: a t'unlines = "unlines" =: list (string) ->: string t'until = "until" =: (a ->: bool) ->: (a ->: a) ->: a ->: a t'unwords = "unwords" =: list (string) ->: string t'unzip = "unzip" =: list (pair a b) ->: pair (list (a)) (list (b)) --t'unzip3 = "unzip3" =: list ((a, b, c)) ->: (list (a), list (b), list (c)) t'usererror = "usererror" =: string ->: ioerror t'words = "words" =: string ->: list (string) t'writefile = "writefile" =: filepath ->: string ->: io unit t'zip = "zip" =: list (a) ->: list (b) ->: list (pair a b) --t'zip3 = "zip3" =: list (a) ->: list (b) ->: list (c) ->: list ((a, b, c)) t'zipwith = "zipwith" =: (a ->: b ->: c) ->: list (a) ->: list (b) ->: list (c) t'zipwith3 = "zipwith3" =: (a ->: b ->: c ->: d) ->: list (a) ->: list (b) ->: list (c) ->: list (d)