diff --git a/collects/typed-scheme/no-check.ss b/collects/typed-scheme/no-check.ss new file mode 100644 index 0000000000..470a7bed8a --- /dev/null +++ b/collects/typed-scheme/no-check.ss @@ -0,0 +1,5 @@ +#lang scheme/base + +(require "private/prims.ss") +(provide (all-from-out scheme/base) + (all-from-out "private/prims.ss")) \ No newline at end of file diff --git a/collects/typed-scheme/no-check/lang/reader.ss b/collects/typed-scheme/no-check/lang/reader.ss new file mode 100644 index 0000000000..c35cbecc78 --- /dev/null +++ b/collects/typed-scheme/no-check/lang/reader.ss @@ -0,0 +1,13 @@ +#lang scheme/base +(require (prefix-in r: "../../typed-reader.ss") + (only-in syntax/module-reader wrap-read-all)) + +(define (*read in modpath line col pos) + (wrap-read-all 'typed-scheme/no-check in r:read modpath #f line col pos)) + +(define (*read-syntax src in modpath line col pos) + (wrap-read-all + 'typed-scheme/no-check in (lambda (in) (r:read-syntax src in)) + modpath src line col pos)) + +(provide (rename-out [*read read] [*read-syntax read-syntax])) diff --git a/collects/typed-scheme/typecheck/tc-expr-unit.ss b/collects/typed-scheme/typecheck/tc-expr-unit.ss index 7e32c0c7e5..c61bbd3d9f 100644 --- a/collects/typed-scheme/typecheck/tc-expr-unit.ss +++ b/collects/typed-scheme/typecheck/tc-expr-unit.ss @@ -95,7 +95,8 @@ ;; typecheck an expression, but throw away the effect ;; tc-expr/t : Expr -> Type (define (tc-expr/t e) (match (tc-expr e) - [(tc-result: t) t])) + [(tc-result: t) t] + [t (int-err "tc-expr returned ~a, not a tc-result, for ~a" t (syntax->datum e))])) (define (tc-expr/check/t e t) (match (tc-expr/check e t)