From 28fece8d8999124a552af270f5512a0b4f92449c Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Sun, 22 Feb 2009 00:03:41 +0000 Subject: [PATCH] finished resolve-type svn: r13786 original commit: 7020ff07a5e71f9b57bafbf7f912200b4526d948 --- collects/typed-scheme/private/resolve-type.ss | 47 ------------------- 1 file changed, 47 deletions(-) diff --git a/collects/typed-scheme/private/resolve-type.ss b/collects/typed-scheme/private/resolve-type.ss index 28ec18a4..c7faacdc 100644 --- a/collects/typed-scheme/private/resolve-type.ss +++ b/collects/typed-scheme/private/resolve-type.ss @@ -31,50 +31,3 @@ [(Mu: _ _) (unfold t)] [(App: r r* s) (resolve-app r r* s)] [(Name: _) (resolve-name t)])) - -#| - -(define (resolve-tc-result tcr) - (match tcr - [(tc-result: t e1s e2s) - (ret (resolve-type t) (map resolve-effect e1s) (map resolve-effect e2s))])) - -(define (resolve-effect* e) - (effect-case resolve-type resolve-effect e)) - - - -(define (resolve-type* t) - (define (int t) - (type-case resolve-type t - [#:Name stx (lookup-type-name stx)] - [#:Poly #:matcher Poly: names body (make-Poly names (resolve-type body))] - [#:Mu #:matcher Mu: name body (make-Mu name (resolve-type body))] - [#:App rator rands stx - (let ([rator (resolve-type rator)] - [rands (map resolve-type rands)]) - (unless (Poly? rator) - (tc-error/stx stx "Cannot apply non-polymorphic type: ~a, arguments were: ~a" rator rands)) - (instantiate-poly rator rands))])) - (let loop ([t (int t)]) - (if (or (Name? t) (App? t)) - (loop (resolve-type t)) - t))) - -(define table (make-hash-table)) - -(define (resolve-type t) - (hash-table-get table t - (lambda () (let ([v (resolve-type* t)]) - (hash-table-put! table t v) - v)))) - -(define (resolve-effect t) - (hash-table-get table t - (lambda () (let ([v (resolve-effect* t)]) - (hash-table-put! table t v) - v)))) - -;(trace resolve-type) - -|#