Fix tests, add filter tests.

original commit: 1af866586ec8e5497e4d4564ac1b129f4c0a02e4
This commit is contained in:
Sam Tobin-Hochstadt 2008-06-19 12:41:06 -04:00
parent 8cc53d8936
commit b3223cab41

View File

@ -566,8 +566,8 @@
;; instantiating non-dotted terms
[tc-e (inst (plambda: (a) ([x : a]) x) Integer)
(-Integer . -> . -Integer)]
[tc-e (inst (plambda: (a) [x : a *] (apply + x)) Integer)
((list) -Integer . ->* . -Integer)]
[tc-e (inst (plambda: (a) [x : a *] (apply list x)) Integer)
((list) -Integer . ->* . (-lst -Integer))]
;; instantiating dotted terms
[tc-e (inst (plambda: (a ...) [xs : a ... a] 3) Integer Boolean Integer)
@ -602,6 +602,12 @@
(add1 x)
12))]
[tc-e (filter integer? (list 1 2 3 'foo))
(-lst -Integer)]
[tc-e (filter even? (filter integer? (list 1 2 3 'foo)))
(-lst -Integer)]
#;[tc-err (let: ([fact : (Number -> Number) (lambda: ([n : Number]) (if (zero? n) 1 (* n (fact (- n 1)))))])
(fact 20))]