..
original commit: 576331e2b2e483c2a0eb0a57a695c5d5d302913f
This commit is contained in:
parent
a940ff584c
commit
772a33bc5b
|
@ -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)))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user