Refactoring all the private contract stuff into its own playpen.

svn: r16052
This commit is contained in:
Stevie Strickland 2009-09-17 20:55:37 +00:00
parent 3805186531
commit 636adcc142
28 changed files with 112 additions and 112 deletions

View File

@ -29,22 +29,22 @@
;; except the arrow contracts ;; except the arrow contracts
;; ;;
(require scheme/private/contract-base (require scheme/contract/private/base
scheme/private/contract-misc scheme/contract/private/misc
scheme/private/contract-provide scheme/contract/private/provide
scheme/private/contract-guts scheme/contract/private/guts
scheme/private/contract-ds scheme/contract/private/ds
scheme/private/contract-opt scheme/contract/private/opt
scheme/private/contract-basic-opters) scheme/contract/private/basic-opters)
(provide (provide
opt/c define-opt/c ;(all-from "private/contract-opt.ss") opt/c define-opt/c ;(all-from "private/contract-opt.ss")
(except-out (all-from-out scheme/private/contract-ds) (except-out (all-from-out scheme/contract/private/ds)
lazy-depth-to-look) lazy-depth-to-look)
(all-from-out scheme/private/contract-base) (all-from-out scheme/contract/private/base)
(all-from-out scheme/private/contract-provide) (all-from-out scheme/contract/private/provide)
(except-out (all-from-out scheme/private/contract-misc) (except-out (all-from-out scheme/contract/private/misc)
check-between/c check-between/c
string-len/c string-len/c
check-unary-between/c) check-unary-between/c)

View File

@ -1,7 +1,7 @@
#lang scheme/base #lang scheme/base
(provide (all-defined-out)) (provide (all-defined-out))
(require scheme/private/contract-guts) (require scheme/contract/private/guts)
(define empty-case-lambda/c (define empty-case-lambda/c
(flat-named-contract '(case->) (flat-named-contract '(case->)

View File

@ -4,7 +4,7 @@
(require (for-syntax scheme/base)) (require (for-syntax scheme/base))
(require (for-template scheme/base) (require (for-template scheme/base)
(for-template scheme/private/contract-guts) (for-template scheme/contract/private/guts)
(for-template "contract-arr-checks.ss")) (for-template "contract-arr-checks.ss"))
(provide make-/proc ->/h ->*/h ->d/h ->d*/h ->r/h (provide make-/proc ->/h ->*/h ->d/h ->d*/h ->r/h

View File

@ -1,11 +1,11 @@
#lang scheme/base #lang scheme/base
(require scheme/private/contract-guts (require scheme/contract/private/guts
scheme/private/contract-opt scheme/contract/private/opt
"contract-arr-checks.ss") "contract-arr-checks.ss")
(require (for-syntax scheme/base) (require (for-syntax scheme/base)
(for-syntax scheme/private/contract-opt-guts) (for-syntax scheme/contract/private/opt-guts)
(for-syntax scheme/private/contract-helpers) (for-syntax scheme/contract/private/helpers)
(for-syntax "contract-arr-obj-helpers.ss") (for-syntax "contract-arr-obj-helpers.ss")
(for-syntax syntax/stx) (for-syntax syntax/stx)
(for-syntax syntax/name)) (for-syntax syntax/name))

View File

@ -4,7 +4,7 @@
(require (for-syntax scheme/base) (require (for-syntax scheme/base)
(only-in scheme/contract contract) (only-in scheme/contract contract)
(for-syntax (prefix-in a: scheme/private/contract-helpers))) (for-syntax (prefix-in a: scheme/contract/private/helpers)))
;; First, we have the old define/contract implementation, which ;; First, we have the old define/contract implementation, which
;; is still used in mzlib/contract. ;; is still used in mzlib/contract.

View File

@ -1,11 +1,11 @@
#lang scheme/base #lang scheme/base
(require "contract-arrow.ss" (require "contract-arrow.ss"
scheme/private/contract-guts scheme/contract/private/guts
scheme/private/class-internal scheme/private/class-internal
"contract-arr-checks.ss") "contract-arr-checks.ss")
(require (for-syntax scheme/base (require (for-syntax scheme/base
scheme/private/contract-helpers scheme/contract/private/helpers
"contract-arr-obj-helpers.ss")) "contract-arr-obj-helpers.ss"))
(provide mixin-contract (provide mixin-contract

View File

@ -1,7 +1,7 @@
(module class mzscheme (module class mzscheme
(require "private/contract-object.ss") (require "contract/private/object.ss")
(provide (all-from "private/contract-object.ss")) (provide (all-from "contract/private/object.ss"))
;; All of the implementation is actually in private/class-internal.ss, ;; All of the implementation is actually in private/class-internal.ss,
;; which provides extra (private) functionality to contract.ss. ;; which provides extra (private) functionality to contract.ss.

View File

@ -9,34 +9,34 @@ differences from v3:
|# |#
(require "private/contract-arrow.ss" (require "contract/private/arrow.ss"
"private/contract-base.ss" "contract/private/base.ss"
"private/contract-exists.ss" scheme/contract/exists
"private/contract-misc.ss" "contract/private/misc.ss"
"private/contract-provide.ss" "contract/private/provide.ss"
"private/contract-regions.ss" scheme/contract/regions
"private/contract-guts.ss" "contract/private/guts.ss"
"private/contract-ds.ss" "contract/private/ds.ss"
"private/contract-opt.ss" "contract/private/opt.ss"
"private/contract-basic-opters.ss") "contract/private/basic-opters.ss")
(provide (provide
opt/c define-opt/c ;(all-from-out "private/contract-opt.ss") opt/c define-opt/c ;(all-from-out "contract/private/opt.ss")
(except-out (all-from-out "private/contract-ds.ss") (except-out (all-from-out "contract/private/ds.ss")
lazy-depth-to-look) lazy-depth-to-look)
(except-out (all-from-out "private/contract-arrow.ss") (except-out (all-from-out "contract/private/arrow.ss")
making-a-method making-a-method
procedure-accepts-and-more? procedure-accepts-and-more?
check-procedure check-procedure
check-procedure/more) check-procedure/more)
(except-out (all-from-out "private/contract-exists.ss") ?) (except-out (all-from-out scheme/contract/exists) ?)
(except-out (all-from-out "private/contract-misc.ss") (except-out (all-from-out "contract/private/misc.ss")
check-between/c check-between/c
check-unary-between/c) check-unary-between/c)
(all-from-out "private/contract-regions.ss") (all-from-out scheme/contract/regions)
(all-from-out "private/contract-provide.ss") (all-from-out "contract/private/provide.ss")
(all-from-out "private/contract-base.ss")) (all-from-out "contract/private/base.ss"))
;; from contract-guts.ss ;; from contract-guts.ss

View File

@ -3,31 +3,31 @@
;; A stripped down version of scheme/contract for use in ;; A stripped down version of scheme/contract for use in
;; the PLT code base where appropriate. ;; the PLT code base where appropriate.
(require scheme/private/contract-arrow (require "private/arrow.ss"
scheme/private/contract-base "private/base.ss"
scheme/private/contract-misc "private/misc.ss"
scheme/private/contract-provide "private/provide.ss"
scheme/private/contract-guts "private/guts.ss"
scheme/private/contract-ds "private/ds.ss"
scheme/private/contract-opt) "private/opt.ss")
(provide (provide
opt/c define-opt/c ;(all-from-out "private/contract-opt.ss") opt/c define-opt/c ;(all-from-out "private/opt.ss")
(except-out (all-from-out scheme/private/contract-ds) (except-out (all-from-out "private/ds.ss")
lazy-depth-to-look) lazy-depth-to-look)
(except-out (all-from-out scheme/private/contract-arrow) (except-out (all-from-out "private/arrow.ss")
making-a-method making-a-method
procedure-accepts-and-more? procedure-accepts-and-more?
check-procedure check-procedure
check-procedure/more) check-procedure/more)
(except-out (all-from-out scheme/private/contract-misc) (except-out (all-from-out "private/misc.ss")
check-between/c check-between/c
check-unary-between/c) check-unary-between/c)
(all-from-out scheme/private/contract-provide) (all-from-out "private/provide.ss")
(all-from-out scheme/private/contract-base)) (all-from-out "private/base.ss"))
;; from contract-guts.ss ;; from private/guts.ss
(provide any (provide any
and/c and/c

View File

@ -1,6 +1,6 @@
#lang scheme/base #lang scheme/base
(require "contract-guts.ss") (require "private/guts.ss")
(provide new-/c (provide new-/c
?) ?)

View File

@ -18,12 +18,12 @@ v4 todo:
|# |#
(require "contract-guts.ss" (require "guts.ss"
"contract-opt.ss" "opt.ss"
scheme/stxparam) scheme/stxparam)
(require (for-syntax scheme/base) (require (for-syntax scheme/base)
(for-syntax "contract-opt-guts.ss") (for-syntax "opt-guts.ss")
(for-syntax "contract-helpers.ss") (for-syntax "helpers.ss")
(for-syntax syntax/stx) (for-syntax syntax/stx)
(for-syntax syntax/name)) (for-syntax syntax/name))

View File

@ -15,8 +15,8 @@ improve method arity mismatch contract violation error messages?
(require (for-syntax scheme/base) (require (for-syntax scheme/base)
scheme/stxparam scheme/stxparam
"contract-guts.ss" "guts.ss"
"contract-helpers.ss") "helpers.ss")
(define-syntax-parameter current-contract-region (λ (stx) #'(#%variable-reference))) (define-syntax-parameter current-contract-region (λ (stx) #'(#%variable-reference)))

View File

@ -1,10 +1,10 @@
#lang scheme/base #lang scheme/base
(require "contract-guts.ss" (require "guts.ss"
"contract-opt.ss" "opt.ss"
"contract-base.ss") "base.ss")
(require (for-syntax scheme/base (require (for-syntax scheme/base
"contract-opt-guts.ss")) "opt-guts.ss"))
;; ;;
;; opt/pred helper ;; opt/pred helper

View File

@ -5,7 +5,7 @@
build-enforcer-clauses build-enforcer-clauses
generate-arglists) generate-arglists)
(require "contract-opt-guts.ss") (require "opt-guts.ss")
(require (for-template scheme/base) (require (for-template scheme/base)
(for-syntax scheme/base)) (for-syntax scheme/base))

View File

@ -17,13 +17,13 @@ it around flattened out.
|# |#
(require "contract-guts.ss" (require "guts.ss"
"contract-opt.ss" "opt.ss"
mzlib/etc) mzlib/etc)
(require (for-syntax scheme/base) (require (for-syntax scheme/base)
(for-syntax "contract-ds-helpers.ss") (for-syntax "ds-helpers.ss")
(for-syntax "contract-helpers.ss") (for-syntax "helpers.ss")
(for-syntax "contract-opt-guts.ss") (for-syntax "opt-guts.ss")
(for-syntax mzlib/etc)) (for-syntax mzlib/etc))
(provide define-contract-struct (provide define-contract-struct

View File

@ -1,10 +1,10 @@
#lang scheme/base #lang scheme/base
(require "contract-helpers.ss" (require "helpers.ss"
scheme/pretty) scheme/pretty)
(require (for-syntax scheme/base (require (for-syntax scheme/base
"contract-helpers.ss")) "helpers.ss"))
(provide raise-contract-error (provide raise-contract-error
guilty-party guilty-party

View File

@ -2,11 +2,11 @@
(require (for-syntax scheme/base (require (for-syntax scheme/base
scheme/struct-info scheme/struct-info
"contract-helpers.ss" "helpers.ss"
"contract-opt-guts.ss") "opt-guts.ss")
scheme/promise scheme/promise
"contract-opt.ss" "opt.ss"
"contract-guts.ss") "guts.ss")
(provide flat-rec-contract (provide flat-rec-contract
flat-murec-contract flat-murec-contract

View File

@ -1,7 +1,7 @@
#lang scheme/base #lang scheme/base
(require "contract-arrow.ss" (require "arrow.ss"
"contract-guts.ss" "guts.ss"
"class-internal.ss" scheme/private/class-internal
scheme/stxparam) scheme/stxparam)
(require (for-syntax scheme/base)) (require (for-syntax scheme/base))

View File

@ -1,7 +1,7 @@
#lang scheme/base #lang scheme/base
(require syntax/private/boundmap ;; needs to be the private one, since the public one has contracts (require syntax/private/boundmap ;; needs to be the private one, since the public one has contracts
(for-template scheme/base) (for-template scheme/base)
(for-template "contract-guts.ss") (for-template "guts.ss")
(for-syntax scheme/base)) (for-syntax scheme/base))
(provide get-opter reg-opter! opter (provide get-opter reg-opter! opter

View File

@ -1,9 +1,9 @@
#lang scheme/base #lang scheme/base
(require "contract-guts.ss" (require "guts.ss"
scheme/stxparam scheme/stxparam
mzlib/etc) mzlib/etc)
(require (for-syntax scheme/base) (require (for-syntax scheme/base)
(for-syntax "contract-opt-guts.ss") (for-syntax "opt-guts.ss")
(for-syntax mzlib/etc) (for-syntax mzlib/etc)
(for-syntax scheme/stxparam)) (for-syntax scheme/stxparam))

View File

@ -4,11 +4,11 @@
(require (for-syntax scheme/base (require (for-syntax scheme/base
scheme/list scheme/list
(prefix-in a: "contract-helpers.ss")) (prefix-in a: "helpers.ss"))
"contract-arrow.ss" "arrow.ss"
"contract-base.ss" "base.ss"
"contract-exists.ss" scheme/contract/exists
"contract-guts.ss") "guts.ss")
(define-syntax (verify-contract stx) (define-syntax (verify-contract stx)
(syntax-case stx () (syntax-case stx ()

View File

@ -9,11 +9,11 @@
scheme/struct-info scheme/struct-info
syntax/define syntax/define
syntax/kerncase syntax/kerncase
(prefix-in a: "contract-helpers.ss")) (prefix-in a: "private/helpers.ss"))
scheme/splicing scheme/splicing
"contract-arrow.ss" "private/arrow.ss"
"contract-base.ss" "private/base.ss"
"contract-guts.ss") "private/guts.ss")
;; These are useful for all below. ;; These are useful for all below.

View File

@ -1,6 +1,6 @@
#lang scheme #lang scheme
(require "../private/contract-exists.ss") (require scheme/contract/exists)
;; this code builds the list of predicates (in case it changes, this may need to be re-run) ;; this code builds the list of predicates (in case it changes, this may need to be re-run)
#; #;

View File

@ -17,9 +17,9 @@ another. Programmers specify the behavior of a module exports via
@scheme[provide/contract] and the contract system enforces those @scheme[provide/contract] and the contract system enforces those
constraints. constraints.
@note-lib[scheme/contract #:use-sources (scheme/private/contract-ds @note-lib[scheme/contract #:use-sources (scheme/contract/private/ds
scheme/private/contract-base scheme/contract/private/base
scheme/private/contract-guts)] scheme/contract/private/guts)]
@deftech{Contracts} come in two forms: those constructed by the @deftech{Contracts} come in two forms: those constructed by the
various operations listed in this section of the manual, and various various operations listed in this section of the manual, and various

View File

@ -5,7 +5,7 @@
syntax/stx syntax/stx
syntax/kerncase syntax/kerncase
scheme/struct-info scheme/struct-info
scheme/private/contract-helpers scheme/contract/private/helpers
(for-syntax scheme/base (for-syntax scheme/base
syntax/kerncase syntax/kerncase
"rep.ss" "rep.ss"

View File

@ -195,17 +195,17 @@
scheme/mzscheme scheme/mzscheme
scheme/nest scheme/nest
scheme/private/class-internal scheme/private/class-internal
scheme/private/contract-base scheme/contract/private/base
scheme/private/contract-arrow scheme/contract/private/arrow
scheme/private/contract-basic-opters scheme/contract/private/basic-opters
scheme/private/contract-ds scheme/contract/private/ds
scheme/private/contract-ds-helpers scheme/contract/private/ds-helpers
scheme/private/contract-exists scheme/contract/private/exists
scheme/private/contract-guts scheme/contract/private/guts
scheme/private/contract-helpers scheme/contract/private/helpers
scheme/private/contract-misc scheme/contract/private/misc
scheme/private/contract-opt scheme/contract/private/opt
scheme/private/contract-opt-guts scheme/contract/private/opt-guts
scheme/private/define-struct scheme/private/define-struct
scheme/private/define-struct scheme/private/define-struct
scheme/private/for scheme/private/for

View File

@ -11,7 +11,7 @@
(namespace-require '(for-syntax scheme/base)) (namespace-require '(for-syntax scheme/base))
(namespace-require '(for-template scheme/base)) (namespace-require '(for-template scheme/base))
(namespace-require 'scheme/contract) (namespace-require 'scheme/contract)
(namespace-require '(only scheme/private/contract-arrow procedure-accepts-and-more?)) (namespace-require '(only scheme/contract/private/arrow procedure-accepts-and-more?))
(namespace-require 'scheme/class) (namespace-require 'scheme/class)
(namespace-require 'scheme/promise)) (namespace-require 'scheme/promise))
n)) n))