original commit: 576331e2b2e483c2a0eb0a57a695c5d5d302913f
This commit is contained in:
Robby Findler 2002-03-19 01:25:58 +00:00
parent a940ff584c
commit 772a33bc5b

View File

@ -504,7 +504,8 @@
false? any? false? any?
union symbols union symbols
subclass?/c implementation?/c is-a?/c subclass?/c implementation?/c is-a?/c
listof) listof vectorof
mixin-contract make-mixin-contract/<%> make-mixin-contract/%)
(define-syntax (name stx) (define-syntax (name stx)
(syntax-case stx () (syntax-case stx ()
@ -570,4 +571,18 @@
(lambda (v) (lambda (v)
(and (vector? v) (and (vector? v)
(andmap p (vector->list v)))))) (andmap p (vector->list v))))))
)
(define mixin-contract
(class?
. ->d .
subclass?/c))
(define (make-mixin-contract/<%> <%>)
((and/f class? (implementation?/c <%>))
. ->d .
subclass?/c))
(define (make-mixin-contract/% %)
((and/f class? (subclass?/c %))
. ->d .
subclass?/c)))