: check-classoids ( members -- members )
dup [ classoid? ] all?
- [ [ classoid? ] reject throw-not-classoids ] unless ;
+ [ [ classoid? ] reject not-classoids ] unless ;
ERROR: not-a-classoid object ;
: check-classoid ( object -- object )
- dup classoid? [ throw-not-a-classoid ] unless ;
+ dup classoid? [ not-a-classoid ] unless ;
: <anonymous-union> ( members -- classoid )
check-classoids
INSTANCE: anonymous-complement classoid
: <anonymous-complement> ( object -- classoid )
- dup classoid? [ 1array throw-not-classoids ] unless
+ dup classoid? [ 1array not-classoids ] unless
anonymous-complement boa ;
M: anonymous-complement rank-class drop 3 ;
: largest-class ( seq -- n elt )
dup [ [ class< ] with any? not ] curry find-last
- [ throw-topological-sort-failed ] unless* ;
+ [ topological-sort-failed ] unless* ;
: sort-classes ( seq -- newseq )
[ class-name ] sort-with >vector