Lots more laziness, and useless require removal.
original commit: b6b840076b275d653843400f18259bf7f67c7a53
This commit is contained in:
parent
63748f9460
commit
e717d29b74
|
@ -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))
|
||||
|
||||
|
|
2
collects/typed-scheme/env/init-envs.rkt
vendored
2
collects/typed-scheme/env/init-envs.rkt
vendored
|
@ -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))
|
||||
|
|
2
collects/typed-scheme/env/type-alias-env.rkt
vendored
2
collects/typed-scheme/env/type-alias-env.rkt
vendored
|
@ -4,7 +4,7 @@
|
|||
syntax/boundmap
|
||||
(utils tc-utils)
|
||||
mzlib/trace
|
||||
scheme/match)
|
||||
racket/match)
|
||||
|
||||
(provide register-type-alias
|
||||
lookup-type-alias
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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^)
|
||||
|
|
|
@ -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^)
|
||||
|
|
|
@ -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^)
|
||||
|
|
|
@ -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^)
|
||||
|
|
|
@ -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^)
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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->*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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))]))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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?)))
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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])
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -72,5 +72,5 @@
|
|||
[e:core-expr
|
||||
(ormap find (syntax->list #'(e.expr ...)))]))
|
||||
|
||||
; (require scheme/trace)
|
||||
; (require racket/trace)
|
||||
; (trace find-annotation)
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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^)
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
mzlib/trace
|
||||
unstable/debug
|
||||
racket/function
|
||||
scheme/match
|
||||
racket/match
|
||||
(only-in racket/contract
|
||||
listof any/c or/c
|
||||
[->* c->*]
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue
Block a user