[comp.lang.forth] HELP

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