From a9c34dae6a83b296f79a9d432db3e9cfb5f6288c Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Fri, 28 May 2010 12:45:32 -0400 Subject: [PATCH] Remove dotted-env. --- collects/typed-scheme/env/dotted-env.rkt | 16 ---------------- collects/typed-scheme/env/lexical-env.rkt | 10 +--------- 2 files changed, 1 insertion(+), 25 deletions(-) delete mode 100644 collects/typed-scheme/env/dotted-env.rkt diff --git a/collects/typed-scheme/env/dotted-env.rkt b/collects/typed-scheme/env/dotted-env.rkt deleted file mode 100644 index 57eca61fe3..0000000000 --- a/collects/typed-scheme/env/dotted-env.rkt +++ /dev/null @@ -1,16 +0,0 @@ -#lang racket/base - -(require "type-env-structs.rkt" syntax/id-table) -(provide (all-defined-out)) - -;; this environment maps lexical identifiers to pairs of types and bounds -;; bounds are type variables which must be bound with ... -;; bounds are represented as symbols - -;; the environment for types of ... variables -(define dotted-env (make-parameter (make-empty-env (make-immutable-free-id-table)))) - -;; run code in an extended dotted env -(define-syntax with-dotted-env/extend - (syntax-rules () - [(_ i t v . b) (parameterize ([dotted-env (extend (dotted-env) i (cons t v))]) . b)])) \ No newline at end of file diff --git a/collects/typed-scheme/env/lexical-env.rkt b/collects/typed-scheme/env/lexical-env.rkt index 24e74d343d..1445435d90 100644 --- a/collects/typed-scheme/env/lexical-env.rkt +++ b/collects/typed-scheme/env/lexical-env.rkt @@ -9,7 +9,6 @@ (require "../utils/utils.rkt" "type-env-structs.rkt" "global-env.rkt" - "dotted-env.rkt" unstable/mutated-vars syntax/id-table (only-in scheme/contract ->* -> or/c any/c listof cons/c) (utils tc-utils) @@ -41,14 +40,7 @@ ;; find the type of identifier i, looking first in the lexical env, then in the top-level env ;; identifer -> Type (define (lookup-type/lexical i [env (lexical-env)] #:fail [fail #f]) - (lookup env i - (lambda (i) (lookup-type - i (lambda () - (cond [(lookup (dotted-env) i (lambda _ #f)) - => - (lambda (a) - (-lst (substitute Univ (cdr a) (car a))))] - [else ((or fail lookup-fail) i)])))))) + (lookup env i (λ (i) (lookup-type i (λ () ((or fail lookup-fail) i)))))) ;; refine the type of i in the lexical env ;; (identifier type -> type) identifier -> environment