40 lines
678 B
Factor
40 lines
678 B
Factor
IN: temporary
|
|
USING: tools.test generic kernel definitions sequences ;
|
|
|
|
TUPLE: combination-1 ;
|
|
|
|
M: combination-1 perform-combination 2drop { } [ ] each [ ] ;
|
|
|
|
SYMBOL: generic-1
|
|
|
|
generic-1 T{ combination-1 } define-generic
|
|
|
|
[ ] <method> object \ generic-1 define-method
|
|
|
|
[ ] [ { combination-1 { object generic-1 } } forget-all ] unit-test
|
|
|
|
GENERIC: some-generic
|
|
|
|
USE: arrays
|
|
|
|
M: array some-generic ;
|
|
|
|
USE: bit-arrays
|
|
|
|
M: bit-array some-generic ;
|
|
|
|
USE: byte-arrays
|
|
|
|
M: byte-array some-generic ;
|
|
|
|
TUPLE: some-class ;
|
|
|
|
M: some-class some-generic ;
|
|
|
|
TUPLE: another-class some-generic ;
|
|
|
|
[ ] [
|
|
{ some-generic some-class { another-class some-generic } }
|
|
forget-all
|
|
] unit-test
|