sort-classes ( seq -- newseq ) (original) (raw)
sort-classes ( seq -- newseq )
Factor handbook » The language » Objects » Classes » Class linearization
Prev: | class< ( first second -- ? ) |
---|---|
Next: | smallest-class ( classes -- class/f ) |
Inputs
seq | a sequence of classs |
---|
Outputs
newseq | a sequence of classs |
---|
Word description
Outputs a linear sort of a sequence of classes. Larger classes come before their subclasses.
See also
dispatch-order
Definition
USING: classes.private kernel sequences sorting vectors ;
: sort-classes ( seq -- newseq )
[ class-name ] sort-by >vector
[ dup empty? not ]
[ dup largest-class [ swap remove-nth! ] dip ] produce nip ;