Fix TR contracts.

This commit is contained in:
Vincent St-Amour 2013-05-31 21:08:52 -04:00
parent e0acdf1fc1
commit 404fdf00f3
2 changed files with 4 additions and 5 deletions

View File

@ -26,8 +26,7 @@
[parse-type/id (syntax? c:any/c . c:-> . Type/c)] [parse-type/id (syntax? c:any/c . c:-> . Type/c)]
[parse-tc-results (syntax? . c:-> . tc-results/c)] [parse-tc-results (syntax? . c:-> . tc-results/c)]
[parse-tc-results/id (syntax? c:any/c . c:-> . tc-results/c)] [parse-tc-results/id (syntax? c:any/c . c:-> . tc-results/c)]
[parse-literal-alls (syntax? . c:-> . (values (c:listof identifier?) [parse-literal-alls (syntax? . c:-> . (c:listof (c:or/c (c:listof identifier?) (c:list/c (c:listof identifier?) identifier?))))])
(c:listof identifier?)))])
(provide star ddd/bound) (provide star ddd/bound)

View File

@ -358,12 +358,12 @@
scoped-tvarss))) scoped-tvarss)))
;; tc/plambda syntax syntax-list syntax-list type -> Poly ;; tc/plambda syntax tvarss-list syntax-list syntax-list type -> Poly
;; formals and bodies must by syntax-lists ;; formals and bodies must by syntax-lists
(define/cond-contract (tc/plambda form tvarss-list formals bodies expected) (define/cond-contract (tc/plambda form tvarss-list formals bodies expected)
(syntax? syntax? syntax? (or/c tc-results/c #f) . -> . Type/c) (syntax? (listof list?) syntax? syntax? (or/c tc-results/c #f) . -> . Type/c)
(define/cond-contract (maybe-loop form formals bodies expected) (define/cond-contract (maybe-loop form formals bodies expected)
(syntax? syntax? syntax? tc-results/c . -> . Type/c) (syntax? syntax? syntax? (or/c tc-results/c #f) . -> . Type/c)
(match expected (match expected
[(tc-result1: (or (Poly: _ _) (PolyDots: _ _))) [(tc-result1: (or (Poly: _ _) (PolyDots: _ _)))
(tc/plambda form (remove-poly-layer tvarss-list) formals bodies expected)] (tc/plambda form (remove-poly-layer tvarss-list) formals bodies expected)]