From 0572a47806f48afbed274fc87fd9d47c56d4a570 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Sat, 22 Mar 2008 02:27:13 +0000 Subject: [PATCH 1/2] fix or pattern svn: r9059 original commit: 709741fc96777a02628ba545594ce5e04d2464ad --- collects/typed-scheme/private/subtype.ss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collects/typed-scheme/private/subtype.ss b/collects/typed-scheme/private/subtype.ss index 52342b29..71e515e2 100644 --- a/collects/typed-scheme/private/subtype.ss +++ b/collects/typed-scheme/private/subtype.ss @@ -99,7 +99,7 @@ (match (list s t) ;; top for functions is above everything [(list _ (top-arr:)) A0] - [(list (arr: s1 s2 #f thn-eff els-eff) (arr: t1 t2 #f (or '() thn-eff) (or '() els-eff))) + [(list (arr: s1 s2 #f thn-eff els-eff) (arr: t1 t2 #f thn-eff els-eff)) (let ([A1 (subtypes* A0 t1 s1)]) (subtype* A1 s2 t2))] [(list (arr: s1 s2 s3 thn-eff els-eff) (arr: t1 t2 t3 thn-eff* els-eff*)) From 9421dd6676c1103bac81ae97c37973bf9d0be8c8 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Tue, 25 Mar 2008 18:26:39 +0000 Subject: [PATCH 2/2] Remove old match implementation. Fix typed-scheme to work w/ new match. Factor out lots of common code. Implement (mcons ..) patterns svn: r9086 original commit: ae4acf1d517beeb7673edb12cff77add32ebf89c --- collects/typed-scheme/private/base-env.ss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/collects/typed-scheme/private/base-env.ss b/collects/typed-scheme/private/base-env.ss index 5891dd3e..8c73784b 100644 --- a/collects/typed-scheme/private/base-env.ss +++ b/collects/typed-scheme/private/base-env.ss @@ -7,7 +7,7 @@ string-constants/string-constant #;'#%more-scheme #;'#%qq-and-or - (lib "match-error.ss" "mzlib" "private" "match")) + (only-in scheme/match/patterns match:error)) ) @@ -20,7 +20,7 @@ (only-in "type-effect-convenience.ss" [make-arr* make-arr]) "union.ss" string-constants/string-constant - (lib "match-error.ss" "mzlib" "private" "match") + (only-in scheme/match/patterns match:error) "tc-structs.ss") (require (for-syntax @@ -32,7 +32,7 @@ (only-in "type-effect-convenience.ss" [make-arr* make-arr]) "union.ss" string-constants/string-constant - (lib "match-error.ss" "mzlib" "private" "match") + (only-in scheme/match/patterns match:error) "tc-structs.ss")) (define-for-syntax (initialize-others)