variants: update for recent slots change
parent
910748819d
commit
8783dda864
|
@ -1,5 +1,5 @@
|
||||||
! (c)2009 Joe Groff bsd license
|
! (c)2009 Joe Groff bsd license
|
||||||
USING: kernel math tools.test variants ;
|
USING: kernel math tools.test variants slots ;
|
||||||
IN: variants.tests
|
IN: variants.tests
|
||||||
|
|
||||||
VARIANT: list
|
VARIANT: list
|
||||||
|
@ -20,6 +20,7 @@ VARIANT: list
|
||||||
[ 4 ]
|
[ 4 ]
|
||||||
[ 5 6 7 8 nil <cons> <cons> <cons> <cons> list-length ] unit-test
|
[ 5 6 7 8 nil <cons> <cons> <cons> <cons> list-length ] unit-test
|
||||||
|
|
||||||
|
[ nil t ] [ list initial-value ] unit-test
|
||||||
|
|
||||||
VARIANT: list2 ;
|
VARIANT: list2 ;
|
||||||
VARIANT-MEMBER: list2 nil2
|
VARIANT-MEMBER: list2 nil2
|
||||||
|
|
|
@ -8,8 +8,8 @@ IN: variants
|
||||||
PREDICATE: variant-class < mixin-class "variant" word-prop ;
|
PREDICATE: variant-class < mixin-class "variant" word-prop ;
|
||||||
|
|
||||||
M: variant-class initial-value*
|
M: variant-class initial-value*
|
||||||
dup members [ no-initial-value ]
|
dup members [ drop f f ]
|
||||||
[ nip first dup word? [ initial-value* ] unless ] if-empty ;
|
[ nip first dup word? [ t ] [ initial-value* ] if ] if-empty ;
|
||||||
|
|
||||||
: define-tuple-class-and-boa-word ( class superclass slots -- )
|
: define-tuple-class-and-boa-word ( class superclass slots -- )
|
||||||
pick [ define-tuple-class ] dip
|
pick [ define-tuple-class ] dip
|
||||||
|
|
Loading…
Reference in New Issue