From 83e278386ceb3e585c3cbe63d49b9e69a8f05e54 Mon Sep 17 00:00:00 2001 From: Eric Dobson Date: Sun, 26 May 2013 19:59:22 -0700 Subject: [PATCH] Make tc-toplevel always return a list. original commit: 90cebbe45499c8d6826a7896e7b27965bf937b14 --- collects/typed-racket/typecheck/tc-toplevel.rkt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/collects/typed-racket/typecheck/tc-toplevel.rkt b/collects/typed-racket/typecheck/tc-toplevel.rkt index b190aef8..4c6d391a 100644 --- a/collects/typed-racket/typecheck/tc-toplevel.rkt +++ b/collects/typed-racket/typecheck/tc-toplevel.rkt @@ -86,7 +86,7 @@ - +;; syntax? -> (listof def-binding?) (define (tc-toplevel/pass1 form) (parameterize ([current-orig-stx form]) (syntax-parse form @@ -146,12 +146,14 @@ ;; predicate assertion - needed for define-type b/c or doesn't work [(define-values () (begin (quote-syntax (assert-predicate-internal ty pred)) (#%plain-app values))) - (register-type #'pred (make-pred-ty (parse-type #'ty)))] + (register-type #'pred (make-pred-ty (parse-type #'ty))) + (list)] ;; top-level type annotation [(define-values () (begin (quote-syntax (:-internal id:identifier ty)) (#%plain-app values))) (register-type/undefined #'id (parse-type #'ty)) - (register-scoped-tvars #'id (parse-literal-alls #'ty))] + (register-scoped-tvars #'id (parse-literal-alls #'ty)) + (list)] ;; values definitions @@ -178,7 +180,7 @@ ;; to handle the top-level, we have to recur into begins [(begin . rest) - (apply append (filter list? (stx-map tc-toplevel/pass1 #'rest)))] + (apply append (stx-map tc-toplevel/pass1 #'rest))] ;; define-syntaxes just get noted [(define-syntaxes (var:id ...) . rest) @@ -322,7 +324,7 @@ (define defs (apply append (append struct-bindings - (filter list? (map tc-toplevel/pass1 forms))))) + (map tc-toplevel/pass1 forms)))) ;(displayln "Finished pass1") ;; separate the definitions into structures we'll handle for provides (define def-tbl