Replaced infer-dummy with lazy-require.
original commit: ac493a6f44773c43c215e8c5cd5dc6d8e1edcdf1
This commit is contained in:
parent
a3d44f9315
commit
dc0849e298
|
@ -7,11 +7,10 @@
|
|||
racket/sandbox racket/cmdline
|
||||
"random-real.rkt")
|
||||
|
||||
(require (except-in typed-racket/utils/utils infer)
|
||||
(require typed-racket/utils/utils
|
||||
(typecheck typechecker)
|
||||
(utils tc-utils)
|
||||
(types subtype utils)
|
||||
typed-racket/infer/infer-dummy typed-racket/infer/infer)
|
||||
(types subtype utils))
|
||||
|
||||
(require (prefix-in b: (base-env base-env))
|
||||
(prefix-in n: (base-env base-env-numeric)))
|
||||
|
@ -105,7 +104,6 @@
|
|||
(define (get-type e [typecheck (compose tc-expr expand)])
|
||||
(parameterize ([delay-errors? #f]
|
||||
[current-namespace (namespace-anchor->namespace anch)]
|
||||
[infer-param infer]
|
||||
[orig-module-stx (quote-syntax e)])
|
||||
(typecheck (datum->syntax #'here e))))
|
||||
|
||||
|
|
|
@ -15,13 +15,11 @@
|
|||
"module-tests.rkt" ;; pass
|
||||
"contract-tests.rkt"
|
||||
|
||||
(r:infer infer infer-dummy)
|
||||
racket/runtime-path
|
||||
rackunit rackunit/text-ui)
|
||||
|
||||
(provide unit-tests)
|
||||
|
||||
(infer-param infer)
|
||||
|
||||
(define-runtime-path special "special-env-typecheck-tests.rkt")
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#lang scheme/base
|
||||
(require "test-utils.rkt" (for-syntax scheme/base)
|
||||
(rep type-rep)
|
||||
(r:infer infer infer-dummy)
|
||||
(r:infer infer)
|
||||
(types abbrev numeric-tower subtype union remove-intersect)
|
||||
rackunit)
|
||||
|
||||
|
@ -21,7 +21,6 @@
|
|||
#'(test-suite "Tests for intersect"
|
||||
(test-check (format "Restrict test: ~a ~a" t1 t2) type-compare? (restrict t1 t2) res) ...)]))
|
||||
|
||||
(infer-param infer)
|
||||
|
||||
(define (restrict-tests)
|
||||
(restr-tests
|
||||
|
|
|
@ -9,8 +9,7 @@
|
|||
[true-lfilter -true-lfilter]
|
||||
[true-filter -true-filter]
|
||||
[-> t:->]))
|
||||
(except-in (utils tc-utils utils) infer)
|
||||
typed-racket/infer/infer-dummy typed-racket/infer/infer
|
||||
(utils tc-utils utils)
|
||||
(utils mutated-vars)
|
||||
|
||||
rackunit rackunit/text-ui
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
(types subtype numeric-tower union utils abbrev)
|
||||
(rep type-rep)
|
||||
(env init-envs type-env-structs)
|
||||
(r:infer infer infer-dummy)
|
||||
rackunit
|
||||
(for-syntax scheme/base))
|
||||
|
||||
|
@ -22,7 +21,6 @@
|
|||
(begin (test-suite "Tests for subtyping"
|
||||
new-cl ...))))]))
|
||||
|
||||
(infer-param infer)
|
||||
|
||||
|
||||
(define t1 (-mu T (-lst (Un (-v a) T))))
|
||||
|
|
|
@ -19,8 +19,7 @@
|
|||
[true-lfilter -true-lfilter]
|
||||
[true-filter -true-filter]
|
||||
[-> t:->])
|
||||
(except-in (utils tc-utils utils) infer)
|
||||
typed-racket/infer/infer-dummy typed-racket/infer/infer
|
||||
(utils tc-utils utils)
|
||||
(utils mutated-vars)
|
||||
(env type-name-env type-env-structs init-envs)
|
||||
rackunit rackunit/text-ui
|
||||
|
@ -74,7 +73,6 @@
|
|||
[(_ e)
|
||||
#`(parameterize ([delay-errors? #f]
|
||||
[current-namespace (namespace-anchor->namespace anch)]
|
||||
[infer-param infer]
|
||||
[orig-module-stx (quote-syntax e)])
|
||||
(let ([ex (expand 'e)])
|
||||
(parameterize ([mutated-vars (find-mutated-vars ex)])
|
||||
|
@ -85,7 +83,6 @@
|
|||
[(_ e)
|
||||
#`(parameterize ([delay-errors? #f]
|
||||
[current-namespace (namespace-anchor->namespace anch)]
|
||||
[infer-param infer]
|
||||
[orig-module-stx (quote-syntax e)])
|
||||
(let ([ex (expand 'e)])
|
||||
(parameterize ([mutated-vars (find-mutated-vars ex)])
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#lang racket/base
|
||||
|
||||
(require
|
||||
(rename-in "../utils/utils.rkt" [infer r:infer])
|
||||
(types numeric-tower) (env init-envs) (r:infer infer-dummy infer)
|
||||
"../utils/utils.rkt"
|
||||
(types numeric-tower) (env init-envs)
|
||||
"base-env-indexing-abs.rkt")
|
||||
|
||||
(define e (parameterize ([infer-param infer]) (indexing -Integer)))
|
||||
(define e (indexing -Integer))
|
||||
(define (initialize-indexing) (initialize-type-env e))
|
||||
(provide initialize-indexing)
|
||||
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
#lang racket/base
|
||||
|
||||
(require (rename-in "../utils/utils.rkt" [infer r:infer]))
|
||||
(require "../utils/utils.rkt")
|
||||
|
||||
(require (for-syntax racket/base syntax/parse)
|
||||
(utils tc-utils)
|
||||
(env init-envs)
|
||||
(r:infer infer)
|
||||
(only-in (r:infer infer-dummy) infer-param)
|
||||
(types abbrev numeric-tower union filter-ops)
|
||||
(rep object-rep filter-rep type-rep))
|
||||
|
||||
|
@ -21,8 +19,7 @@
|
|||
(begin
|
||||
extra
|
||||
(define e
|
||||
(parameterize ([infer-param infer])
|
||||
(make-env [id (λ () ty)] ...)))
|
||||
(make-env [id (λ () ty)] ...))
|
||||
(define (init)
|
||||
(initialize-type-env e))
|
||||
(provide init)))]
|
||||
|
|
|
@ -11,17 +11,15 @@
|
|||
unstable/sequence "../base-env/base-types-extra.rkt"
|
||||
(path-up "env/type-name-env.rkt"
|
||||
"env/type-alias-env.rkt"
|
||||
"infer/infer-dummy.rkt"
|
||||
"private/parse-type.rkt"
|
||||
"private/type-contract.rkt"
|
||||
"typecheck/typechecker.rkt"
|
||||
"env/type-env-structs.rkt"
|
||||
"env/global-env.rkt"
|
||||
"env/tvar-env.rkt"
|
||||
"infer/infer.rkt"
|
||||
"utils/tc-utils.rkt"
|
||||
"types/utils.rkt")
|
||||
(except-in (path-up "utils/utils.rkt") infer))
|
||||
"utils/utils.rkt"
|
||||
"types/utils.rkt"))
|
||||
|
||||
(provide wt-core)
|
||||
|
||||
|
@ -67,9 +65,7 @@
|
|||
[(id ...) exids]
|
||||
[(ty ...) extys])
|
||||
(local-expand #'(let () (begin (: id ty) ... body ... (values id ...))) ctx null))))
|
||||
(parameterize (;; a cheat to avoid units
|
||||
[infer-param infer]
|
||||
;; do we report multiple errors
|
||||
(parameterize (;; do we report multiple errors
|
||||
[delay-errors? #t]
|
||||
;; this parameter is just for printing types
|
||||
;; this is a parameter to avoid dependency issues
|
||||
|
|
|
@ -1,17 +1,14 @@
|
|||
#lang racket/base
|
||||
|
||||
(require (rename-in "utils/utils.rkt" [infer r:infer])
|
||||
(require "utils/utils.rkt"
|
||||
(except-in syntax/parse id)
|
||||
racket/pretty racket/promise
|
||||
(private type-contract)
|
||||
(types utils)
|
||||
(typecheck typechecker provide-handling tc-toplevel)
|
||||
(env tvar-env type-name-env type-alias-env env-req)
|
||||
(r:infer infer)
|
||||
(utils tc-utils disarm mutated-vars debug)
|
||||
(rep type-rep)
|
||||
(except-in (utils utils) infer)
|
||||
(only-in (r:infer infer-dummy) infer-param)
|
||||
(for-syntax racket/base)
|
||||
(for-template racket/base))
|
||||
|
||||
|
@ -39,9 +36,7 @@
|
|||
(with-handlers
|
||||
(#;[(λ (e) (and (exn:fail? e) (not (exn:fail:syntax? e)) (not (exn:fail:filesystem? e))))
|
||||
(λ (e) (tc-error "Internal Typed Racket Error : ~a" e))])
|
||||
(parameterize (;; a cheat to avoid units
|
||||
[infer-param infer]
|
||||
;; do we report multiple errors
|
||||
(parameterize (;; do we report multiple errors
|
||||
[delay-errors? #t]
|
||||
;; do we print the fully-expanded syntax?
|
||||
[print-syntax? #f]
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
#lang racket/base
|
||||
(require "../utils/utils.rkt"
|
||||
(require (except-in "../utils/utils.rkt" infer)
|
||||
(rep type-rep filter-rep object-rep rep-utils)
|
||||
(utils tc-utils)
|
||||
(types utils resolve base-abbrev numeric-tower substitute)
|
||||
(env type-name-env)
|
||||
(only-in (infer infer-dummy) unify)
|
||||
racket/match unstable/match
|
||||
racket/function
|
||||
unstable/lazy-require
|
||||
|
@ -12,7 +11,9 @@
|
|||
(for-syntax racket/base syntax/parse))
|
||||
|
||||
(lazy-require
|
||||
("union.rkt" (Un)))
|
||||
("union.rkt" (Un))
|
||||
("../infer/infer.rkt" (infer)))
|
||||
|
||||
|
||||
;; exn representing failure of subtyping
|
||||
;; s,t both types
|
||||
|
@ -344,7 +345,7 @@
|
|||
;; use unification to see if we can use the polytype here
|
||||
[((Poly: vs b) s)
|
||||
(=> unmatch)
|
||||
(if (unify vs (list b) (list s)) A0 (unmatch))]
|
||||
(if (infer vs null (list b) (list s) (make-Univ)) A0 (unmatch))]
|
||||
[(s (Poly: vs b))
|
||||
(=> unmatch)
|
||||
(if (null? (fv b)) (subtype* A0 s b) (unmatch))]
|
||||
|
|
Loading…
Reference in New Issue
Block a user