diff --git a/collects/typed-scheme/typecheck/signatures.ss b/collects/typed-scheme/typecheck/signatures.ss index c5ef2012..d55063c3 100644 --- a/collects/typed-scheme/typecheck/signatures.ss +++ b/collects/typed-scheme/typecheck/signatures.ss @@ -11,6 +11,7 @@ (define-signature tc-expr^ ([cnt tc-expr (syntax? . -> . tc-results?)] + [cnt tc-literal (->* (syntax?) ((or/c #f Type/c)) Type/c)] [cnt tc-expr/check (syntax? tc-results? . -> . tc-results?)] [cnt tc-expr/check/t (syntax? tc-results? . -> . Type/c)] [cnt check-below (->d ([s (or/c Type/c tc-results?)] [t (or/c Type/c tc-results?)]) () [_ (if (Type? s) Type/c tc-results?)])] diff --git a/collects/typed-scheme/typecheck/tc-expr-unit.ss b/collects/typed-scheme/typecheck/tc-expr-unit.ss index 03baae8c..83cc3e86 100644 --- a/collects/typed-scheme/typecheck/tc-expr-unit.ss +++ b/collects/typed-scheme/typecheck/tc-expr-unit.ss @@ -23,8 +23,7 @@ ;; return the type of a literal value ;; scheme-value -> type -(d/c (tc-literal v-stx [expected #f]) - (-->* (syntax?) ((-or/c #f Type/c)) Type/c) +(define (tc-literal v-stx [expected #f]) (define-syntax-class exp (pattern i #:when expected