diff --git a/collects/typed-scheme/tc-setup.rkt b/collects/typed-scheme/tc-setup.rkt index 66d1ea32..e3288fe8 100644 --- a/collects/typed-scheme/tc-setup.rkt +++ b/collects/typed-scheme/tc-setup.rkt @@ -36,6 +36,8 @@ [infer-param infer] ;; do we report multiple errors [delay-errors? #t] + ;; do we print the fully-expanded syntax? + [print-syntax? #f] ;; this parameter is just for printing types ;; this is a parameter to avoid dependency issues [current-type-names diff --git a/collects/typed-scheme/typecheck/tc-app.rkt b/collects/typed-scheme/typecheck/tc-app.rkt index 95707e7f..b3e57940 100644 --- a/collects/typed-scheme/typecheck/tc-app.rkt +++ b/collects/typed-scheme/typecheck/tc-app.rkt @@ -237,11 +237,11 @@ (tc/rec-lambda/check form args body lp (cons acc-ty ts) expected) expected)] ;; special case when argument needs inference - [(_ (body* ...) _) + [(_ body* _) (let ([ts (for/list ([ac (syntax->list actuals)] [f (syntax->list args)]) (let* ([infer-t (or (type-annotation f #:infer #t) - (find-annotation #'(begin body* ...) f))]) + (find-annotation #'(begin . body*) f))]) (if infer-t (begin (check-below (tc-expr/t ac) infer-t) infer-t)