diff --git a/basis/sorting/human/human.factor b/basis/sorting/human/human.factor index ceef6f2a15..3789d2a771 100644 --- a/basis/sorting/human/human.factor +++ b/basis/sorting/human/human.factor @@ -25,17 +25,17 @@ IN: sorting.human [ digit? ] [ string>number ] find-sequences ; ! For comparing integers or sequences -TUPLE: hybrid obj ; +TUPLE: alphanum obj ; -: ( obj -- hybrid ) - hybrid new +: ( obj -- hybrid ) + alphanum new swap >>obj ; inline -: ( obj -- hybrid ) - hybrid new +: ( obj -- hybrid ) + alphanum new swap dup string? [ w/collation-key ] when >>obj ; inline -M: hybrid <=> +M: alphanum <=> [ obj>> ] bi@ 2dup [ integer? ] bi@ xor [ drop integer? +lt+ +gt+ ? @@ -43,5 +43,5 @@ M: hybrid <=> <=> ] if ; -<< "human" [ find-numbers [ ] map ] define-sorting >> -<< "humani" [ find-numbers [ ] map ] define-sorting >> +<< "human" [ find-numbers [ ] map ] define-sorting >> +<< "humani" [ find-numbers [ ] map ] define-sorting >>