Lots more laziness, and useless require removal.

original commit: b6b840076b275d653843400f18259bf7f67c7a53
This commit is contained in:
Sam Tobin-Hochstadt 2010-09-08 19:27:07 -04:00
parent 63748f9460
commit e717d29b74
62 changed files with 201 additions and 216 deletions

View File

@ -3,9 +3,9 @@
(require "test-utils.ss"
(for-syntax scheme/base)
(for-template scheme/base))
(require (private base-env prims type-annotation
(require (private #;base-env prims type-annotation
base-types-extra
base-env-numeric
#;base-env-numeric
base-env-indexing
parse-type)
(typecheck typechecker)
@ -24,10 +24,10 @@
(for-syntax (utils tc-utils)
(typecheck typechecker)
(env global-env)
(private base-env base-env-numeric
(private #;base-env #;base-env-numeric
base-env-indexing))
(for-template (private base-env base-types base-types-extra
base-env-numeric
(for-template (private #;base-env base-types base-types-extra
#;base-env-numeric
base-env-indexing))
(for-syntax syntax/kerncase syntax/parse))

View File

@ -10,7 +10,7 @@
(types union)
mzlib/pconvert mzlib/shared scheme/base)
(types union convenience)
mzlib/pconvert scheme/match mzlib/shared)
mzlib/pconvert racket/match mzlib/shared)
(define (initialize-type-name-env initial-type-names)
(for-each (lambda (nm/ty) (register-resolved-type-alias (car nm/ty) (cadr nm/ty))) initial-type-names))

View File

@ -4,7 +4,7 @@
syntax/boundmap
(utils tc-utils)
mzlib/trace
scheme/match)
racket/match)
(provide register-type-alias
lookup-type-alias

View File

@ -2,7 +2,7 @@
(require scheme/contract unstable/sequence racket/dict syntax/id-table
(prefix-in r: "../utils/utils.rkt")
scheme/match (r:rep filter-rep rep-utils type-rep) unstable/struct
racket/match (r:rep filter-rep rep-utils type-rep) unstable/struct
(except-in (r:utils tc-utils) make-env))
(provide extend

View File

@ -1,6 +1,6 @@
#lang scheme/base
(require "../utils/utils.rkt" (rep type-rep) scheme/contract scheme/match (for-syntax scheme/base syntax/parse))
(require "../utils/utils.rkt" (rep type-rep) scheme/contract racket/match (for-syntax scheme/base syntax/parse))
;; S, T types
;; X a var

View File

@ -6,7 +6,7 @@
(utils tc-utils)
unstable/sequence unstable/hash
"signatures.rkt" "constraint-structs.rkt"
scheme/match)
racket/match)
(import restrict^ dmap^)
(export constraints^)

View File

@ -3,7 +3,7 @@
(require "../utils/utils.rkt"
"signatures.rkt" "constraint-structs.rkt"
(utils tc-utils) racket/contract
unstable/sequence unstable/hash scheme/match)
unstable/sequence unstable/hash racket/match)
(import constraints^)
(export dmap^)

View File

@ -1,6 +1,6 @@
#lang scheme/unit
#lang racket/unit
(require scheme/require (path-up "utils/utils.rkt")
(require racket/require (path-up "utils/utils.rkt")
(except-in
(combine-in
(utils tc-utils)
@ -11,11 +11,11 @@
make-env -> ->* one-of/c)
"constraint-structs.rkt"
"signatures.rkt"
scheme/match
racket/match
mzlib/etc
racket/trace racket/contract
unstable/sequence unstable/list unstable/debug unstable/hash
scheme/list)
racket/list)
(import dmap^ constraints^ promote-demote^)
(export infer^)

View File

@ -4,7 +4,7 @@
(require (rep type-rep rep-utils)
(types convenience union utils)
"signatures.rkt"
scheme/list scheme/match)
scheme/list racket/match)
(import)
(export promote-demote^)

View File

@ -4,7 +4,7 @@
(require (rep type-rep)
(types utils union subtype remove-intersect resolve substitute)
"signatures.rkt"
scheme/match mzlib/trace)
racket/match mzlib/trace)
(import infer^)
(export restrict^)

View File

@ -1,7 +1,7 @@
#lang scheme/base
(require syntax/parse
syntax/id-table racket/dict
unstable/match scheme/match
unstable/match racket/match
(for-template scheme/unsafe/ops racket/base (prefix-in k: '#%kernel))
(for-syntax racket/base)
"../utils/utils.rkt"

View File

@ -1,7 +1,7 @@
#lang scheme/base
(require syntax/parse
unstable/match scheme/match
unstable/match racket/match
"../utils/utils.rkt"
(for-template scheme/base scheme/fixnum scheme/unsafe/ops)
(rep type-rep)

View File

@ -1,8 +1,8 @@
#lang scheme/base
(require syntax/parse
syntax/id-table racket/dict scheme/flonum
(for-template scheme/base scheme/flonum scheme/unsafe/ops)
syntax/id-table racket/dict racket/flonum
(for-template scheme/base racket/flonum scheme/unsafe/ops)
"../utils/utils.rkt"
(types abbrev type-table utils subtype)
(optimizer utils fixnum))

View File

@ -2,7 +2,7 @@
(require syntax/parse syntax/id-table scheme/dict
"../utils/utils.rkt" racket/unsafe/ops
(for-template scheme/base scheme/math scheme/flonum scheme/unsafe/ops)
(for-template scheme/base scheme/math racket/flonum scheme/unsafe/ops)
(types abbrev type-table utils subtype)
(optimizer utils float fixnum))

View File

@ -1,7 +1,7 @@
#lang scheme/base
(require syntax/parse
(for-template scheme/base scheme/flonum scheme/unsafe/ops)
(for-template scheme/base racket/flonum scheme/unsafe/ops)
"../utils/utils.rkt"
(optimizer utils))

View File

@ -4,7 +4,7 @@
syntax/id-table racket/dict
racket/pretty
(for-template scheme/base
scheme/flonum scheme/fixnum scheme/unsafe/ops
racket/flonum scheme/fixnum scheme/unsafe/ops
racket/private/for)
"../utils/utils.rkt"
(types abbrev type-table utils subtype)

View File

@ -2,7 +2,7 @@
(require syntax/parse
syntax/id-table racket/dict
unstable/match scheme/match
unstable/match racket/match
(for-template scheme/base scheme/unsafe/ops)
"../utils/utils.rkt"
(rep type-rep)

View File

@ -2,7 +2,7 @@
(require syntax/parse
syntax/id-table racket/dict
unstable/match scheme/match
unstable/match racket/match
(for-template scheme/base scheme/unsafe/ops)
"../utils/utils.rkt" "../utils/tc-utils.rkt"
(rep type-rep)

View File

@ -1,7 +1,7 @@
#lang scheme/base
(require syntax/parse
(for-template scheme/base scheme/flonum scheme/unsafe/ops)
(for-template scheme/base racket/flonum scheme/unsafe/ops)
"../utils/utils.rkt"
(types abbrev type-table utils subtype)
(optimizer utils))

View File

@ -2,7 +2,7 @@
(require syntax/parse
syntax/id-table racket/dict
unstable/match scheme/match
unstable/match racket/match
(for-template scheme/base scheme/unsafe/ops)
"../utils/utils.rkt"
(rep type-rep)

View File

@ -1,7 +1,7 @@
#lang scheme/base
(require syntax/parse
scheme/list scheme/dict scheme/match
scheme/list scheme/dict racket/match
"../utils/utils.rkt"
"../utils/tc-utils.rkt"
(for-template scheme/base)

View File

@ -1,8 +1,8 @@
#lang scheme/base
(require unstable/match scheme/match
(require unstable/match racket/match
racket/dict syntax/id-table unstable/syntax
(for-template scheme/base scheme/flonum scheme/fixnum scheme/unsafe/ops)
(for-template scheme/base racket/flonum scheme/fixnum scheme/unsafe/ops)
"../utils/utils.rkt"
(types abbrev type-table utils subtype)
(rep type-rep))

View File

@ -1,8 +1,8 @@
#lang scheme/base
(require syntax/parse
unstable/match scheme/match
(for-template scheme/base scheme/flonum scheme/unsafe/ops)
unstable/match racket/match
(for-template scheme/base racket/flonum scheme/unsafe/ops)
"../utils/utils.rkt"
(rep type-rep)
(types abbrev type-table utils subtype)

View File

@ -1,18 +1,19 @@
#lang racket
(require
"../utils/utils.rkt"
racket/tcp
(only-in rnrs/lists-6 fold-left)
'#%paramz
"extra-procs.rkt"
(utils tc-utils )
(types union convenience)
(only-in '#%kernel [apply kernel:apply])
racket/promise racket/system
(only-in string-constants/private/only-once maybe-print-message)
(only-in racket/match/runtime match:error matchable? match-equality-test)
(for-template racket racket/unsafe/ops)
"../utils/utils.rkt"
(for-template '#%paramz racket/base racket/list
racket/tcp
(only-in rnrs/lists-6 fold-left)
'#%paramz
"extra-procs.rkt"
(only-in '#%kernel [apply kernel:apply])
racket/promise racket/system
(only-in string-constants/private/only-once maybe-print-message)
(only-in racket/match/runtime match:error matchable? match-equality-test)
racket/unsafe/ops)
(utils tc-utils)
(types union convenience)
(rename-in (types abbrev) [-Number N] [-Boolean B] [-Symbol Sym]))
(provide indexing)

View File

@ -2,24 +2,15 @@
(begin
(require
scheme/tcp
scheme scheme/flonum scheme/fixnum
scheme/unsafe/ops
(only-in rnrs/lists-6 fold-left)
'#%paramz
"extra-procs.rkt"
(only-in '#%kernel [apply kernel:apply])
scheme/promise scheme/system
(only-in string-constants/private/only-once maybe-print-message)
(only-in racket/match/runtime match:error matchable? match-equality-test)
(for-syntax (only-in (types abbrev) [-Number N] [-Boolean B] [-Symbol Sym] [-Real R] [-ExactPositiveInteger -Pos])))
(for-template racket/flonum racket/fixnum racket/math racket/unsafe/ops racket/base)
(only-in (types abbrev) [-Number N] [-Boolean B] [-Symbol Sym] [-Real R] [-ExactPositiveInteger -Pos]))
(define-for-syntax all-num-types (list -Pos -Nat -Integer -ExactRational -Flonum -Real N))
(define all-num-types (list -Pos -Nat -Integer -ExactRational -Flonum -Real N))
(define-for-syntax binop
(define binop
(lambda (t [r t])
(t t . -> . r)))
(define-for-syntax rounder
(define rounder
(cl->* (-> -PositiveFixnum -PositiveFixnum)
(-> -NonnegativeFixnum -NonnegativeFixnum)
(-> -Fixnum -Fixnum)
@ -30,37 +21,37 @@
(-> -Flonum -Flonum)
(-> -Real -Real)))
(define-for-syntax (unop t) (-> t t))
(define (unop t) (-> t t))
(define-for-syntax fl-comp (binop -Flonum B))
(define-for-syntax fl-op (binop -Flonum))
(define-for-syntax fl-unop (unop -Flonum))
(define-for-syntax fl-rounder
(define fl-comp (binop -Flonum B))
(define fl-op (binop -Flonum))
(define fl-unop (unop -Flonum))
(define fl-rounder
(cl->* (-> -NonnegativeFlonum -NonnegativeFlonum)
(-> -Flonum -Flonum)))
(define-for-syntax int-op (binop -Integer))
(define-for-syntax nat-op (binop -Nat))
(define int-op (binop -Integer))
(define nat-op (binop -Nat))
(define-for-syntax fx-comp (binop -Integer B))
(define-for-syntax fx-op (cl->* (-Pos -Pos . -> . -PositiveFixnum)
(define fx-comp (binop -Integer B))
(define fx-op (cl->* (-Pos -Pos . -> . -PositiveFixnum)
(-Nat -Nat . -> . -NonnegativeFixnum)
(-Integer -Integer . -> . -Fixnum)))
(define-for-syntax fx-natop (cl->* (-Nat -Nat . -> . -NonnegativeFixnum)
(define fx-natop (cl->* (-Nat -Nat . -> . -NonnegativeFixnum)
(-Integer -Integer . -> . -Fixnum)))
(define-for-syntax fx-unop (-Integer . -> . -Fixnum))
(define fx-unop (-Integer . -> . -Fixnum))
(define-for-syntax real-comp (->* (list R R) R B))
(define real-comp (->* (list R R) R B))
;; types for specific operations, to avoid repetition between safe and unsafe versions
(define-for-syntax fx+-type
(define fx+-type
(cl->* (-Pos -Nat . -> . -PositiveFixnum)
(-Nat -Pos . -> . -PositiveFixnum)
(-Nat -Nat . -> . -NonnegativeFixnum)
(-Integer -Integer . -> . -Fixnum)))
(define-for-syntax fx--type
(define fx--type
(-Integer -Integer . -> . -Fixnum))
(define-for-syntax fx=-type
(define fx=-type
(cl->*
(-> -Integer (-val 0) B : (-FS (-filter (-val 0) 0) -top))
(-> (-val 0) -Integer B : (-FS (-filter (-val 0) 1) -top))
@ -71,40 +62,40 @@
(-> -Integer -NegativeFixnum B : (-FS (-filter -NegativeFixnum 0) -top))
(-> -NegativeFixnum -Integer B : (-FS (-filter -NegativeFixnum 1) -top))
fx-comp))
(define-for-syntax fx<-type
(define fx<-type
(cl->*
(-> -Integer (-val 0) B : (-FS (-filter -NegativeFixnum 0) (-filter -NonnegativeFixnum 0)))
(-> -Integer -NegativeFixnum B : (-FS (-filter -NegativeFixnum 0) -top))
(-> -Nat -Integer B : (-FS (-filter -PositiveFixnum 1) -top))
fx-comp))
(define-for-syntax fx>-type
(define fx>-type
(cl->*
(-> -Integer (-val 0) B : (-FS (-filter -PositiveFixnum 0) -top))
(-> -NegativeFixnum -Integer B : (-FS (-filter -NegativeFixnum 1) -top))
(-> -Integer -Nat B : (-FS (-filter -PositiveFixnum 0) -top))
fx-comp))
(define-for-syntax fx<=-type
(define fx<=-type
(cl->*
(-> -Integer (-val 0) B : (-FS -top (-filter -PositiveFixnum 0)))
(-> -Integer -NegativeFixnum B : (-FS (-filter -NegativeFixnum 0) -top))
(-> -Pos -Integer B : (-FS (-filter -Pos 1) -top))
(-> -Nat -Integer B : (-FS (-filter -Nat 1) -top))
fx-comp))
(define-for-syntax fx>=-type
(define fx>=-type
(cl->*
(-> -Integer (-val 0) B : (-FS (-filter -NonnegativeFixnum 0) -top))
(-> -NegativeFixnum -Integer B : (-FS (-filter -NegativeFixnum 1) -top))
(-> -Integer -Pos B : (-FS (-filter -Pos 0) -top))
(-> -Integer -Nat B : (-FS (-filter -Nat 0) -top))
fx-comp))
(define-for-syntax fxmin-type
(define fxmin-type
(cl->*
(-> -NegativeFixnum -Integer -NegativeFixnum)
(-> -Integer -NegativeFixnum -NegativeFixnum)
(-> -Pos -Pos -PositiveFixnum)
(-> -Nat -Nat -NonnegativeFixnum)
(-> -Integer -Integer -Fixnum)))
(define-for-syntax fxmax-type
(define fxmax-type
(cl->*
(-> -NegativeFixnum -NegativeFixnum -NegativeFixnum)
(-> -Pos -Integer -PositiveFixnum)
@ -113,26 +104,26 @@
(-> -Integer -Nat -NonnegativeFixnum)
(-> -Integer -Integer -Fixnum)))
(define-for-syntax fl+*-type
(define fl+*-type
(cl->* (-NonnegativeFlonum -NonnegativeFlonum . -> . -NonnegativeFlonum)
(-Flonum -Flonum . -> . -Flonum)))
(define-for-syntax fl=-type
(define fl=-type
(cl->*
(-> -Flonum -NonnegativeFlonum B : (-FS (-filter -NonnegativeFlonum 0) -top))
(-> -NonnegativeFlonum -Flonum B : (-FS (-filter -NonnegativeFlonum 1) -top))
fl-comp))
(define-for-syntax fl<-type
(define fl<-type
(cl->*
(-> -NonnegativeFlonum -Flonum B : (-FS (-filter -NonnegativeFlonum 1) -top))
fl-comp))
(define-for-syntax fl>-type
(define fl>-type
(cl->*
(-> -Flonum -NonnegativeFlonum B : (-FS (-filter -NonnegativeFlonum 0) -top))
fl-comp))
(define-for-syntax flmin-type
(define flmin-type
(cl->* (-> -NonnegativeFlonum -NonnegativeFlonum -NonnegativeFlonum)
(-> -Flonum -Flonum -Flonum)))
(define-for-syntax flmax-type
(define flmax-type
(cl->* (-> -NonnegativeFlonum -Flonum -NonnegativeFlonum)
(-> -Flonum -NonnegativeFlonum -NonnegativeFlonum)
(-> -Flonum -Flonum -Flonum)))

View File

@ -1,26 +1,29 @@
#lang s-exp "env-lang.rkt"
(require
racket/tcp
racket
racket/unsafe/ops
racket/fixnum
racket/future
(only-in rnrs/lists-6 fold-left)
'#%paramz
"extra-procs.rkt"
(only-in '#%kernel [apply kernel:apply])
(only-in racket/private/pre-base new-apply-proc)
(for-syntax (only-in racket/private/pre-base new-apply-proc))
scheme/promise scheme/system
racket/mpair
(only-in string-constants/private/only-once maybe-print-message)
(only-in mzscheme make-namespace)
(only-in racket/match/runtime match:error matchable? match-equality-test)
(for-syntax (only-in (types abbrev) [-Number N] [-Boolean B] [-Symbol Sym])
(only-in (rep type-rep) make-HashtableTop make-MPairTop
make-BoxTop make-ChannelTop make-VectorTop
make-HeterogenousVector)))
(for-template
(except-in racket -> ->* one-of/c)
racket/unsafe/ops
racket/tcp
racket/fixnum
racket/future
(only-in rnrs/lists-6 fold-left)
'#%paramz
"extra-procs.rkt"
(only-in '#%kernel [apply kernel:apply])
(only-in racket/private/pre-base new-apply-proc)
scheme/promise scheme/system
racket/mpair
racket/base
(only-in string-constants/private/only-once maybe-print-message)
(only-in mzscheme make-namespace)
(only-in racket/match/runtime match:error matchable? match-equality-test))
(only-in (types abbrev) [-Number N] [-Boolean B] [-Symbol Sym])
(only-in (rep type-rep) make-HashtableTop make-MPairTop
make-BoxTop make-ChannelTop make-VectorTop
make-HeterogenousVector))
[raise (Univ . -> . (Un))]
[raise-syntax-error (cl->*

View File

@ -5,14 +5,12 @@
"../utils/utils.rkt"
racket/promise
string-constants/string-constant
(for-syntax
scheme/base syntax/parse
(only-in unstable/syntax syntax-local-eval)
(utils tc-utils)
(env init-envs)
(except-in (rep filter-rep object-rep type-rep) make-arr)
(types convenience union)
(only-in (types convenience) [make-arr* make-arr])))
(for-syntax racket/base syntax/parse (only-in unstable/syntax syntax-local-eval)
(utils tc-utils)
(env init-envs)
(except-in (rep filter-rep object-rep type-rep) make-arr)
(types convenience union)
(only-in (types convenience) [make-arr* make-arr])))
(define-syntax (define-initial-env stx)
(syntax-parse stx

View File

@ -2,14 +2,14 @@
(require (rename-in "../utils/utils.rkt" [infer r:infer]))
(require (for-syntax (utils tc-utils)
(env init-envs)
scheme/base syntax/parse
(r:infer infer)
(only-in (r:infer infer-dummy) infer-param)
(except-in (rep object-rep filter-rep type-rep) make-arr)
(types convenience union)
(only-in (types convenience) [make-arr* make-arr])))
(require (for-syntax scheme/base syntax/parse)
(utils tc-utils)
(env init-envs)
(r:infer infer)
(only-in (r:infer infer-dummy) infer-param)
(except-in (rep object-rep filter-rep type-rep) make-arr)
(types convenience union)
(only-in (types convenience) [make-arr* make-arr]))
(define-syntax (-#%module-begin stx)
(define-syntax-class clause
@ -21,18 +21,17 @@
#'(#%plain-module-begin
(begin
extra
(define-for-syntax e
(define e
(parameterize ([infer-param infer])
(make-env [id ty] ...)))
(begin-for-syntax
(initialize-type-env e))))]
(define (init)
(initialize-type-env e))
(provide init)))]
[(mb . rest)
#'(mb (begin) . rest)]))
(provide (rename-out [-#%module-begin #%module-begin])
require
(except-out (all-from-out scheme/base) #%module-begin)
types rep private utils
(for-syntax
(types-out convenience union)
(all-from-out scheme/base)))
types rep private utils
(types-out convenience union))

View File

@ -7,7 +7,7 @@
syntax/stx (prefix-in c: scheme/contract)
syntax/parse
(env type-env-structs tvar-env type-name-env type-alias-env lexical-env index-env)
scheme/match unstable/debug
racket/match unstable/debug
(for-template scheme/base "colon.ss")
;; needed at this phase for tests
(combine-in (prefix-in t: "base-types-extra.ss") "colon.ss")

View File

@ -1,8 +1,8 @@
#lang scheme/base
#lang racket/base
#|
This file defines two sorts of primitives. All of them are provided into any module using the typed scheme language.
This file defines two sorts of primitives. All of them are provided into any module using the typed racket language.
1. macros for defining type annotated code.
this includes: lambda:, define:, etc
@ -27,29 +27,22 @@ This file defines two sorts of primitives. All of them are provided into any mod
[for/annotation for]
[for*/annotation for*]))
(require "../utils/utils.rkt"
racket/base
mzlib/etc
"../utils/require-contract.rkt"
(require "../utils/require-contract.rkt"
"colon.rkt"
"../typecheck/internal-forms.rkt"
(rename-in racket/contract [-> c->])
mzlib/struct
"base-types.rkt"
"base-types-extra.rkt"
(for-syntax
syntax/parse
syntax/private/util
scheme/base
mzlib/match
scheme/struct-info
racket/base
racket/struct-info
syntax/struct
syntax/stx
"../rep/type-rep.rkt"
"parse-type.rkt"
"annotate-classes.rkt"
"internal.rkt"
"../utils/utils.rkt"
"../utils/tc-utils.rkt"
"../env/type-name-env.rkt"
"type-contract.rkt"
@ -277,8 +270,8 @@ This file defines two sorts of primitives. All of them are provided into any mod
[(_ nm ((~describe "field specification" [fld:annotated-name]) ...) [proc : proc-ty])
(with-syntax*
([proc* (syntax-property #'(ann proc : proc-ty) 'typechecker:with-type #t)]
[d-s (syntax-property (syntax/loc stx (define-struct/properties nm (fld.name ...)
([prop:procedure proc*])))
[d-s (syntax-property (syntax/loc stx (define-struct nm (fld.name ...)
#:property prop:procedure proc*))
'typechecker:ignore-some #t)]
[dtsi (internal (syntax/loc stx (define-typed-struct/exec-internal nm (fld ...) proc-ty)))])
#'(begin d-s dtsi))]))

View File

@ -7,7 +7,7 @@
(except-in (types subtype union convenience resolve utils) -> ->*)
(private parse-type)
(only-in scheme/contract listof ->)
scheme/match mzlib/trace)
racket/match mzlib/trace)
(provide type-annotation
get-type
get-types

View File

@ -12,7 +12,7 @@
(types resolve utils)
(prefix-in t: (types convenience))
(private parse-type)
scheme/match syntax/struct syntax/stx mzlib/trace unstable/syntax scheme/list
racket/match syntax/struct syntax/stx mzlib/trace unstable/syntax scheme/list
(only-in scheme/contract -> ->* case-> cons/c flat-rec-contract provide/contract any/c)
(for-template scheme/base scheme/contract unstable/poly-c (utils any-wrap)
(only-in scheme/class object% is-a?/c subclass?/c object-contract class/c init object/c class?)))

View File

@ -5,8 +5,7 @@
(except-in racket/base for for*)
"prims.rkt"
(prefix-in c: (combine-in racket/contract/regions racket/contract/base)))
"base-env.rkt" "base-special-env.rkt" "base-env-numeric.rkt"
"base-env-indexing.rkt" "extra-procs.rkt" "prims.rkt"
"extra-procs.rkt" "prims.rkt"
syntax/parse racket/block racket/match
unstable/sequence unstable/debug "base-types-extra.rkt"
(except-in (path-up "env/type-name-env.rkt"

View File

@ -1,6 +1,6 @@
#lang scheme/base
(require scheme/match scheme/contract)
(require racket/match scheme/contract)
(require "rep-utils.rkt" "free-variance.rkt")
(define (Filter/c-predicate? e)

View File

@ -1,6 +1,6 @@
#lang scheme/base
(require scheme/match scheme/contract "rep-utils.rkt" "free-variance.rkt" "filter-rep.rkt")
(require racket/match scheme/contract "rep-utils.rkt" "free-variance.rkt" "filter-rep.rkt")
(provide object-equal?)
(dpe CarPE () [#:fold-rhs #:base])

View File

@ -2,7 +2,7 @@
(require "../utils/utils.rkt")
(require mzlib/struct mzlib/pconvert
scheme/match
racket/match
syntax/boundmap
"free-variance.rkt"
"interning.rkt"
@ -12,7 +12,7 @@
(for-syntax
scheme/list
(only-in unstable/syntax generate-temporary)
scheme/match
racket/match
(except-in syntax/parse id identifier keyword)
scheme/base
syntax/struct

View File

@ -3,7 +3,7 @@
(require (utils tc-utils)
"rep-utils.rkt" "object-rep.rkt" "filter-rep.rkt" "free-variance.rkt"
mzlib/trace scheme/match mzlib/etc
mzlib/trace racket/match mzlib/etc
scheme/contract unstable/debug
(for-syntax scheme/base syntax/parse))

View File

@ -3,7 +3,7 @@
(require "../utils/utils.rkt"
syntax/kerncase
syntax/parse
scheme/match unstable/debug
racket/match unstable/debug
"signatures.rkt" "tc-metafunctions.rkt"
(types utils convenience union subtype)
(utils tc-utils)

View File

@ -72,5 +72,5 @@
[e:core-expr
(ormap find (syntax->list #'(e.expr ...)))]))
; (require scheme/trace)
; (require racket/trace)
; (trace find-annotation)

View File

@ -12,7 +12,7 @@
(for-syntax syntax/parse racket/base)
racket/contract/private/provide unstable/list
unstable/debug syntax/id-table racket/dict
unstable/syntax scheme/struct-info scheme/match
unstable/syntax scheme/struct-info racket/match
"def-binding.rkt" syntax/parse
(for-template scheme/base "def-export.rkt" scheme/contract))

View File

@ -1,6 +1,6 @@
#lang scheme/base
(require "../utils/utils.rkt" scheme/match unstable/list
(require "../utils/utils.rkt" racket/match unstable/list
(utils tc-utils) (rep type-rep) (types utils union abbrev))
(provide (all-defined-out))

View File

@ -11,7 +11,7 @@
(types resolve)
(only-in (env type-env-structs lexical-env)
env? update-type/lexical env-map env-props replace-props)
scheme/contract scheme/match
scheme/contract racket/match
mzlib/trace unstable/debug unstable/struct
(typecheck tc-metafunctions)
(for-syntax scheme/base))

View File

@ -3,7 +3,7 @@
(require (rename-in "../utils/utils.rkt" [private private-in])
syntax/kerncase mzlib/trace
scheme/match (prefix-in - scheme/contract)
racket/match (prefix-in - scheme/contract)
"signatures.rkt" "tc-envops.rkt" "tc-metafunctions.rkt" "tc-subst.rkt"
"check-below.rkt" "tc-funapp.rkt"
(types utils convenience union subtype remove-intersect type-table filter-ops)

View File

@ -16,7 +16,7 @@
(env type-env-structs lexical-env tvar-env index-env)
(utils tc-utils)
unstable/debug
scheme/match)
racket/match)
(require (for-template scheme/base "internal-forms.rkt"))
(import tc-expr^)

View File

@ -6,7 +6,7 @@
[->* -->*]
[one-of/c -one-of/c])
(rep type-rep filter-rep rep-utils) scheme/list
scheme/contract scheme/match unstable/match scheme/trace
scheme/contract racket/match unstable/match racket/trace
unstable/debug
(for-syntax scheme/base))

View File

@ -12,7 +12,7 @@
mzlib/trace
unstable/debug
racket/function
scheme/match
racket/match
(only-in racket/contract
listof any/c or/c
[->* c->*]

View File

@ -6,7 +6,7 @@
[->* -->*]
[one-of/c -one-of/c])
(rep type-rep filter-rep rep-utils) scheme/list
scheme/contract scheme/match unstable/match unstable/debug
scheme/contract racket/match unstable/match unstable/debug
(for-syntax scheme/base)
"tc-metafunctions.rkt")

View File

@ -4,7 +4,7 @@
syntax/kerncase
unstable/list unstable/syntax syntax/parse unstable/debug
mzlib/etc
scheme/match
racket/match
"signatures.rkt"
"tc-structs.rkt"
"typechecker.rkt"

View File

@ -1,11 +1,9 @@
#lang racket/base
(require (for-syntax racket/base "typecheck/renamer.rkt")
"private/base-special-env.rkt"
"private/base-env.rkt"
"private/base-env-numeric.rkt")
(require (for-syntax racket/base "typecheck/renamer.rkt")
"private/base-special-env.rkt")
(begin-for-syntax (initialize-special))
(begin-for-syntax )
(provide (rename-out [module-begin #%module-begin]
[top-interaction #%top-interaction]
@ -15,16 +13,27 @@
with-type)
(define-syntax (module-begin stx)
(initialize-special)
((dynamic-require 'typed-scheme/private/base-structs 'initialize-structs))
((dynamic-require 'typed-scheme/private/base-env-indexing 'initialize-indexing))
((dynamic-require 'typed-scheme/private/base-env 'init))
((dynamic-require 'typed-scheme/private/base-env-numeric 'init))
((dynamic-require 'typed-scheme/core 'mb-core) stx))
(define-syntax (top-interaction stx)
(initialize-special)
((dynamic-require 'typed-scheme/private/base-structs 'initialize-structs))
((dynamic-require 'typed-scheme/private/base-env-indexing 'initialize-indexing))
((dynamic-require 'typed-scheme/private/base-env 'init))
((dynamic-require 'typed-scheme/private/base-env-numeric 'init))
((dynamic-require 'typed-scheme/core 'ti-core) stx))
(define-syntax (with-type stx)
(initialize-special)
((dynamic-require 'typed-scheme/private/base-structs 'initialize-structs))
((dynamic-require 'typed-scheme/private/base-env-indexing 'initialize-indexing))
((dynamic-require 'typed-scheme/private/base-env 'init))
((dynamic-require 'typed-scheme/private/base-env-numeric 'init))
((dynamic-require 'typed-scheme/core 'wt-core) stx))

View File

@ -2,17 +2,15 @@
(require "../utils/utils.rkt")
(require (rep type-rep object-rep filter-rep rep-utils)
#;"printer.rkt" "utils.rkt" "resolve.rkt"
(require (rep type-rep object-rep filter-rep)
"resolve.rkt"
(utils tc-utils)
scheme/list
scheme/match
scheme/promise
scheme/flonum (except-in scheme/contract ->* ->)
unstable/syntax
(prefix-in c: scheme/contract)
(for-syntax scheme/base syntax/parse)
(for-template scheme/base scheme/contract scheme/promise scheme/tcp scheme/flonum))
racket/list
racket/match
(except-in racket/contract ->* ->)
(prefix-in c: racket/contract)
(for-syntax racket/base syntax/parse)
(for-template racket/base racket/contract racket/promise racket/tcp racket/flonum))
(provide (all-defined-out)
(rename-out [make-Listof -lst]

View File

@ -5,10 +5,10 @@
(utils tc-utils) (only-in (infer infer) restrict)
"abbrev.rkt" (only-in scheme/contract current-blame-format [-> -->] listof)
(types comparison printer union subtype utils remove-intersect)
scheme/list scheme/match scheme/promise
scheme/list racket/match scheme/promise
(for-syntax syntax/parse scheme/base)
unstable/debug syntax/id-table scheme/dict
scheme/trace
racket/trace
(for-template scheme/base))
(provide (all-defined-out))

View File

@ -3,7 +3,7 @@
(require "../utils/utils.rkt"
(rep type-rep rep-utils)
(types union subtype resolve convenience utils)
scheme/match mzlib/trace unstable/debug)
racket/match mzlib/trace unstable/debug)
(provide (rename-out [*remove remove]) overlap)

View File

@ -5,7 +5,7 @@
(env type-name-env)
(utils tc-utils)
(types utils)
scheme/match
racket/match
scheme/contract)
(provide resolve-name resolve-app needs-resolving? resolve)

View File

@ -5,7 +5,7 @@
(utils tc-utils)
(only-in (rep free-variance) combine-frees)
(env index-env tvar-env)
scheme/match
racket/match
scheme/contract)
(provide subst-all substitute substitute-dots substitute-dotted subst

View File

@ -1,15 +1,14 @@
#lang scheme/base
#lang racket/base
(require "../utils/utils.rkt"
(rep type-rep filter-rep object-rep rep-utils)
(utils tc-utils)
(types utils comparison resolve abbrev substitute)
(env type-name-env)
(only-in (infer infer-dummy) unify)
scheme/match unstable/match
mzlib/trace (rename-in scheme/contract
[-> c->]
[->* c->*])
(for-syntax scheme/base syntax/parse))
racket/match unstable/match
(rename-in racket/contract
[-> c->] [->* c->*])
(for-syntax racket/base syntax/parse))
;; exn representing failure of subtyping
;; s,t both types

View File

@ -1,6 +1,6 @@
#lang scheme/base
#lang racket/base
(require unstable/debug scheme/contract "../utils/utils.rkt" syntax/id-table racket/dict racket/match
(require unstable/debug racket/contract "../utils/utils.rkt" syntax/id-table racket/dict racket/match
(rep type-rep object-rep) (only-in (types abbrev utils) tc-results?) (utils tc-utils)
(env init-envs) mzlib/pconvert)

View File

@ -1,11 +1,10 @@
#lang scheme/base
(require "../utils/utils.rkt")
(require (rep type-rep rep-utils)
(require "../utils/utils.rkt"
(rep type-rep rep-utils)
(utils tc-utils)
(types utils subtype abbrev printer comparison)
scheme/match mzlib/trace)
racket/match)
(provide Un)

View File

@ -1,17 +1,15 @@
#lang scheme/base
#lang racket/base
(require "../utils/utils.rkt")
(require (rep type-rep filter-rep object-rep rep-utils)
(require "../utils/utils.rkt"
(rep type-rep filter-rep object-rep rep-utils)
(utils tc-utils)
"substitute.rkt"
(only-in (rep free-variance) combine-frees)
(env index-env tvar-env)
scheme/match
scheme/list
mzlib/trace
scheme/contract
(for-syntax scheme/base syntax/parse))
racket/match
racket/list
racket/contract
(for-syntax racket/base syntax/parse))
(provide fv fv/list fi
instantiate-poly

View File

@ -1,6 +1,6 @@
#lang scheme/base
(require scheme/match scheme/vector scheme/contract)
(require racket/match scheme/vector scheme/contract)
(define-struct any-wrap (val)
#:property prop:custom-write

View File

@ -3,9 +3,7 @@
(require scheme/contract
unstable/location
(for-syntax scheme/base
syntax/kerncase
syntax/parse
"../utils/tc-utils.rkt"
(prefix-in tr: "../private/typed-renaming.rkt")))
(provide require/contract define-ignored)

View File

@ -7,7 +7,7 @@ don't depend on any other portion of the system
(provide (all-defined-out))
(require "syntax-traversal.rkt" racket/dict
syntax/parse (for-syntax scheme/base syntax/parse) scheme/match)
syntax/parse (for-syntax scheme/base syntax/parse) racket/match)
;; a parameter representing the original location of the syntax being currently checked
(define current-orig-stx (make-parameter #'here))
@ -165,8 +165,8 @@ don't depend on any other portion of the system
#:transparent
#:attributes (ty id)
(pattern [nm:identifier ~! ty]
#:fail-unless (list? (identifier-template-binding #'nm)) "not a bound identifier"
#:with id #'#'nm)
#:fail-unless (list? ((if (= 1 (syntax-local-phase-level)) identifier-template-binding identifier-template-binding) #'nm)) "not a bound identifier"
#:with id #'(quote-syntax nm))
(pattern [e:expr ty]
#:with id #'e))
(syntax-parse stx

View File

@ -1,14 +1,14 @@
#lang scheme/base
#lang racket/base
#|
This file is for utilities that are of general interest,
at least theoretically.
|#
(require (for-syntax scheme/base syntax/parse scheme/string)
scheme/contract scheme/match scheme/require-syntax
scheme/provide-syntax mzlib/struct scheme/unit
scheme/pretty mzlib/pconvert syntax/parse)
(require (for-syntax racket/base syntax/parse racket/string)
racket/contract racket/require-syntax
racket/provide-syntax racket/unit
racket/pretty mzlib/pconvert syntax/parse)
;; to move to unstable
(provide reverse-begin list-update list-set)