75 lines
1.8 KiB
Scheme
75 lines
1.8 KiB
Scheme
#lang scheme/base
|
|
|
|
;; A stripped down version of scheme/contract for use in
|
|
;; the PLT code base where appropriate.
|
|
|
|
(require "private/arrow.ss"
|
|
"private/base.ss"
|
|
"private/misc.ss"
|
|
"private/provide.ss"
|
|
"private/guts.ss"
|
|
"private/ds.ss"
|
|
"private/opt.ss")
|
|
|
|
(provide
|
|
opt/c define-opt/c ;(all-from-out "private/opt.ss")
|
|
(except-out (all-from-out "private/ds.ss")
|
|
lazy-depth-to-look)
|
|
|
|
(except-out (all-from-out "private/arrow.ss")
|
|
making-a-method
|
|
procedure-accepts-and-more?
|
|
check-procedure
|
|
check-procedure/more)
|
|
(except-out (all-from-out "private/misc.ss")
|
|
check-between/c
|
|
check-unary-between/c)
|
|
(all-from-out "private/provide.ss")
|
|
(all-from-out "private/base.ss"))
|
|
|
|
;; from private/guts.ss
|
|
|
|
(provide any
|
|
and/c
|
|
any/c
|
|
none/c
|
|
make-none/c
|
|
|
|
guilty-party
|
|
exn:fail:contract2?
|
|
exn:fail:contract2-srclocs
|
|
|
|
contract-violation->string
|
|
|
|
contract?
|
|
contract-name
|
|
contract-proc
|
|
|
|
flat-contract?
|
|
flat-contract
|
|
flat-contract-predicate
|
|
flat-named-contract
|
|
|
|
contract-first-order-passes?
|
|
|
|
;; below need docs
|
|
|
|
make-proj-contract
|
|
|
|
contract-stronger?
|
|
|
|
coerce-contract/f
|
|
coerce-contract
|
|
coerce-contracts
|
|
coerce-flat-contract
|
|
coerce-flat-contracts
|
|
|
|
build-compound-type-name
|
|
raise-contract-error
|
|
|
|
proj-prop proj-pred? proj-get
|
|
name-prop name-pred? name-get
|
|
stronger-prop stronger-pred? stronger-get
|
|
flat-prop flat-pred? flat-get
|
|
first-order-prop first-order-get)
|