From 996ec1c66da58da89f7c3197fd89568d473b6ab4 Mon Sep 17 00:00:00 2001 From: Eric Dobson Date: Fri, 9 May 2014 22:12:01 -0700 Subject: [PATCH] Make polydotted case more standard. original commit: b87e6a4496affdd3ae51f866e5342b6d5131a205 --- .../typed-racket-lib/typed-racket/typecheck/tc-apply.rkt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-apply.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-apply.rkt index 18a2735b..7dc1c04f 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-apply.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-apply.rkt @@ -95,12 +95,11 @@ (list (-Tuple* domain (make-Listof rest))) range)) => finish] - ;; ... function, ... arg - [(and drest tail-bound - (= (length domain) (length arg-tys)) + ;; ... function + [(and drest (infer fixed-vars (list dotted-var) - (cons (make-ListDots tail-ty tail-bound) arg-tys) - (cons (make-ListDots (car drest) (cdr drest)) domain) + (list (-Tuple* arg-tys full-tail-ty)) + (list (-Tuple* domain (make-ListDots (car drest) (cdr drest)))) range)) => finish] ;; ... function, (Listof A) or (List A B C etc) arg