From 27a2086b332ae6dd01812cb1786116a22087e085 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Thu, 7 Jul 2011 12:36:23 -0400 Subject: [PATCH] Add types for `check-in-{port,bytes,bytes-lines}'. original commit: 49444460d5f0280336e47d0cdd1abc1a5e81ff90 --- .../base-env/base-special-env.rkt | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/collects/typed-scheme/base-env/base-special-env.rkt b/collects/typed-scheme/base-env/base-special-env.rkt index ee27d504..28a6b1f2 100644 --- a/collects/typed-scheme/base-env/base-special-env.rkt +++ b/collects/typed-scheme/base-env/base-special-env.rkt @@ -137,7 +137,33 @@ [(i-n _ ...) #'i-n]) (->opt [-Input-Port -Symbol] (-seq -Bytes))] - + ;; check-in-bytes-lines + [(syntax-parse (local-expand #'(for ([i (in-bytes-lines 0)]) i) + 'expression #f) + #:literals (let-values let) + [(let-values ((_ (let _ (c . _) . _)) + . _) + . _) + #'c]) + (-> Univ Univ Univ)] + ;; check-in-lines + [(syntax-parse (local-expand #'(for ([i (in-lines 0)]) i) + 'expression #f) + #:literals (let-values #%app let) + [(let-values ((_ (let _ (c . _) . _)) + . _) + . _) + #'c]) + (-> Univ Univ Univ)] + ;; check-in-port + [(syntax-parse (local-expand #'(for ([i (in-port 0)]) i) + 'expression #f) + #:literals (let-values #%app let) + [(let-values ((_ (let _ (c . _) . _)) + . _) + . _) + #'c]) + (-> Univ Univ Univ)] ;; from the expansion of `with-syntax' [(syntax-parse (local-expand #'(with-syntax ([x 1]) #'(x)) 'expression null) #:literals (let-values #%plain-app #%plain-lambda if letrec-syntaxes+values)