mouse@cheops.eecs.unsw.oz (Micro Mouse) (11/28/89)
Could someone please repost this to "The Software Libraries of the Forth RoundTable on GEnie" by midnight 31 november or before if posible please. This is an entry for "THE CHALLENGE OF SORTS" in Forth Dimensions Vol XI, No3. DAVID DOUPE ---- cut here (F-83) uuencoded --------- begin 644 sort.blk M7',@17AP;&%N871I;VX@<V-R965N(&9O<B!-97)G92!3;W)T("`@("`@("`@ M("`@("`@.#DM,3$M,C0@1$0@("`@(%1H;W5G:"!M97)G92!S;W)T(&ES(&YO M="!S<&5C=&%C=6QA<FQY(&9A<W0@:70@9&]E<R!H879E('1H92!A9'9A;G1A M9V4@=&AA="!I="!I<R!A(%-404),12!S;W)T+"!I92!S;W)T:6YG(&]N(&]N M92!K97D@("`@("`@*&9I96QD*2!D;V5S(&YO="!D:7-T=7)B('!R979I;W5S M('-O<G1I;F<@;W!E<F%T:6]N<R!D;VYE(&]N("`@(&]T:&5R(&ME>7,N($%L M<V\L(&ET(&ES($\H;B!L;V<@;BD@+B!4:&4@8V]N=&5S="!R97%U:7)E;65N M=',@("!R97-U;'0@:6X@<F5D=6-E9"!E9F9I8VEE;F-Y(&9O<B!T:&ES(&EM M<&QE;65M=&%T:6]N+B`@("`@("`@("`@("!4:&5S92!S8W)E96YS("@@,2`V M(%1(4E4@*2!R97!L86-E("@@-B`X(%1(4E4I(&EN('1H92!A<G1I8VQE+B`@ M22!H879E(&YO="!I;F-L=61E9"!T:&4@<V-R965N<R!P=6)L:7-H960@:6X@ M1F]R=&@@1&EM96YS:6]N<RX@("!!=71H;W(Z($1A=FED($1O=7!E("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`Q,S`@1FQE=&-H97(@4W0@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@5V]O;&QA:')A("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@($Y35R`R M,#(U("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("!!55-44D%,24$@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<&@@*#(I,S@W+3@W M,C`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@($UU M8V@@=&AA;FMS('1O(%-U<V%N($UE<G)I='0@0T%#32!V;VP@,C@@(S$@2F%N M(#$Y.#4@86YD("`@("`@("!*($%M<W1E<F1A;2!">71E(%-E<'0@,3DX-2X@ M4"Y3+B!-*R!A;F0@32HO(&%R96XG="!I;B!M>2!&.#,@+EP@07)R87D@9F]R M(&5M97)G:6YG(&QI<W1S("`@("`@("`@("`@("`@("`@("`@("`@.#DM,3$M M,C,@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@0U)%051%($1!5$$R("@@+2T@ M82!0.D%R<F%Y(&9O<B!E;65R9VEN9R!L:7-T<RD@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@($E414U3($-%3$Q3($%,3$]4("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@5D%224%" M3$4@3BU$051!,B`@*"`M+2!A(%`Z0V]U;G0@9F]R(&YE=VQY(&5M97)G:6YG M(&QI<W0@*2`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@.B!3,B$@*"!N("T@*2`@3BU$051!,B!`("!#14Q,4R!$051!,B`K M("$@(#$@3BU$051!,B`K(2`@("`@("`@("`@("`@("`@("`@("`@(%-43U)% M4R`A55-%(#L@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`H(&UE<F=E+7-O<G0@("`Q("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@(#@Y+30M."!D9"`I("`@5D%2 M24%"3$4@03$@(%9!4DE!0DQ%($$R("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@(%9!4DE!0DQ%($XQ("!605))04),12!.,B`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@*"!P;VEN=&5R M<R`F(&-O=6YT97)S('1O('1H92!T=V\@8W5R<F5N="!S=6)L:7-T<R`I("`@ M("`@("`@("`@5D%224%"3$4@4$PQ(%9!4DE!0DQ%(%!,,B`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`H('!O:6YT97)S('1O(&QA M=&5S="!I=&5M(R!S96QE8W1E9"!I;B!E86-H('-U8FQI<W0@*2`@("`@("`@ M("`Z($$Q0"`@*"`M(&X@*2`@03$@0"!30"`[("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@.B!!,D`@("@@+2!N("D@($$R($`@4T`@ M.R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`Z($E.0T$Q("@@+2!F("D@(#$@03$@*R$@(#$@4$PQ M("LA("!03#$@0"!.,2!`(#X@.R`@("`@("`@("`@("`@("`H($AA=FEN9R!C M:&]S96X@9G)O;2!S=6)L:7-T,2P@:6YC<F5M96YT($$Q(&%N9"!03#$L('1H M96X@("`@("`@("`@("`@("`@("`@("`@("`@("`@('1E<W0@:68@<W5B;&ES M=#$@:7,@97AH875S=&5D("D@("`@("`@("`Z($E.0T$R("@@+2!F("D@(#$@ M03(@*R$@(#$@4$PR("LA("!03#(@0"!.,B!`(#X@.R`@("`@("`@("`@("`@ M("`H($AA=FEN9R!C:&]S96X@9G)O;2!S=6)L:7-T,BP@:6YC<F5M96YT($$R M(&%N9"!03#(L('1H96X@("`@("`@("`@("`@("`@("`@("`@("`@("`@('1E M<W0@:68@<W5B;&ES=#(@:7,@97AH875S=&5D("D@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@*"!M97)G92US;W)T("`@,B`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`X."TT+3DM(&1D("D@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`Z(#Q-4D<^("`H("T@*2`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("!"14=)3B`@03)`("!!,4`@ M($-/35!!4D4@("TQ(#T@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@($E&("`@03)`("!3,B$@24Y#03(@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@248@($XQ($`@4$PQ($`@+2`Q M*R`P("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@1$\@("!!,4`@4S(A("`Q($$Q("LA("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@($Q/3U`@("!%6$E4("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(%1(14X@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@($5,4T4@($$Q0"!3,B$@($E.0T$Q($E&($58250@5$A%3B`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("!42$5.("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M($%'04E.("`[("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("@@;65R9V4M<V]R="`@(#,@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@.#DM-"TX(&1D("D@("`Z(%-%5"U54"U-4D<@*"!S,2!N,2!S,B!N M,B`M("!S,2`I("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("!.,B`A($$R("$@3C$@(2!$55`@03$@(2`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@,2`@4$PQ("$@,2!03#(@(2`@,"!.+41! M5$$R("$@(#L@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@.B!43SY&4D]-+4U/5D4@*"!S,2`M(',Q("D@1$%403(@("!/5D52 M("!#14Q,4R!$051!("L@*"!S,2!S(&0@*2`@("`@("`@("`@("`@("`@("`@ M($XM1$%403(@0"!#14Q,4R`@*"!S,2!S(&0@;B`I($U/5D4@.R`@("`@("`@ M*"!4:&ES(&1O97,@;F]T(&EN8W)E;65N="!T:&4@8V]U;G1E9"!F971C:&5S M(&%N9"!S=&]R97,@*2`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(#H@35)'("@@ M<S$@;C$@<S(@;C(@+2!S,2!N,2MN,B`I("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@(%-%5"U54"U-4D<@(#Q-4D<^("!43SY&4D]- M+4U/5D4@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`H(',Q("D@ M("!.,2!`($XR($`@*R`@.R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`Z(%)!+5-03$E4("@@<S$@;B`M(',Q M(&XQ(',R(&XR("D@("`H(&XQ/#T@;C(@*2`@("`@("`@("`@("`@("`@("`@ M("`@("`@,B`O34]$(%-705`@3U9%4B`K(#Y2(#)$55`@*R!2/B`[("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`H(&UE<F=E+7-O M<G0@("`T("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(#@Y+30M M."!D9"`I("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@(#H@,D-(2U-705`@("@@;B`M M("D@("@@8V]M<&%R92!A;B!A9&IA8V5N="!P86ER("8@<W=A<"!I9B!N96,I M("`@("`@("`@("`@("`@($154"!30"!/5D52(#$K(%-`(%-705`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!#3TU005)%("`M M,2`]("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@248@("`@1%50(#$K($580TA!3D=%($58250@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@($5,4T4@($123U`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("!42$5.("`@.R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("@@5&AI<R!C;W5L9"!B92!D;VYE('%U:6-K97(@=VET:"`R0"!A M;F0@,B$@<VEN8V4@:71E;7,@87)E("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("!A;'=A>7,@861J86-E;G0@*2`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@(#H@35-/0TQ)4"`H(',Q(&XQ("T@<S$@;C$@ M4#I$96%L('=I=&@@<F5C=7)S:6]N(&5X:70@8V]N9&ET:6]N<RD@("`@("!$ M55`@,B`]("!)1B`@3U9%4B`@,D-(2U-705`@4CX@1%)/4"!%6$E4("!42$5. M("`@("`@("`@("`@("`@("`@1%50(#(@/"`@248@(%(^($123U`@15A)5"!4 M2$5.("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@.R`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@*"!M97)G92US;W)T("`@-2`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`X.2TQ,"TQ-R`I("`@("`@ M("`@("`@*"`@5$A)4R!)4R!42$4@34%)3B!!3$=/4DE42$T@("D@("`@("`@ M("`@("`@("`@("`@("`@("`Z(#Q-4T]25#X@("@@<S$@;C$@+2!S,2!N,2`I M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M35-/0TQ)4"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@(%)!+5-03$E4("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!214-54E-% M("`R4U=!4"`@4D5#55)312`@,E-705`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@35)'("`[("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@.B!-4T]25"`@*"`C("T@*2`P(%-705`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`\35-/4E0^("`R1%)/4"`@(#L@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@)R!-4T]25"!)4R!33U)4("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ -("`@("`@("`@("`@("`@ ` end