Instantiation... seems to be broken. Adding unit tests to alert us to that
fact. original commit: 8256f922f9c9cd2e24261b4309700c7e896c4454
This commit is contained in:
parent
a290297005
commit
8cc53d8936
|
@ -563,6 +563,21 @@
|
|||
(apply (plambda: (b ...) ([x : Number] . [y : Number ... b]) x)
|
||||
1 w))]
|
||||
|
||||
;; 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)]
|
||||
|
||||
;; instantiating dotted terms
|
||||
[tc-e (inst (plambda: (a ...) [xs : a ... a] 3) Integer Boolean Integer)
|
||||
(-Integer B -Integer . -> . -Integer)]
|
||||
[tc-e (inst (plambda: (a ...) [xs : (a ... a -> Integer) ... a] 3) Integer Boolean Integer)
|
||||
((-Integer B -Integer . -> . -Integer)
|
||||
(-Integer B -Integer . -> . -Integer)
|
||||
(-Integer B -Integer . -> . -Integer)
|
||||
. -> . -Integer)]
|
||||
|
||||
;; error tests
|
||||
[tc-err (#%variable-reference number?)]
|
||||
[tc-err (+ 3 #f)]
|
||||
|
|
Loading…
Reference in New Issue
Block a user