From 156c0d0d38861c37d542957bcffb2031ed594278 Mon Sep 17 00:00:00 2001 From: Stevie Strickland Date: Wed, 18 Jun 2008 18:53:46 -0400 Subject: [PATCH] I'm not sure what to do about this, given the recursive sb call. original commit: 51ec643172e3893701b2a68ca7a5430ddac7ee8c --- collects/typed-scheme/private/type-utils.ss | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/collects/typed-scheme/private/type-utils.ss b/collects/typed-scheme/private/type-utils.ss index 0e55ff58..dcc02ed9 100644 --- a/collects/typed-scheme/private/type-utils.ss +++ b/collects/typed-scheme/private/type-utils.ss @@ -52,9 +52,11 @@ (define (sb t) (substitute-dots images name t)) (if (hash-ref (free-vars* target) name #f) (type-case sb target - [#:F name* (if (eq? name* name) + ;; The way I handled this in my type system is via type validity checking. Hrmm. + #;[#:F name* (if (eq? name* name) (int-err "substitute-dots: got single variable ~a" name*) target)] + [#:F name* target] [#:arr dom rng rest drest thn-eff els-eff (if (and (pair? drest) (eq? name (cdr drest)))