RosettaCodeData/Task/Ordered-words/Lang5/ordered-words.lang5
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

37 lines
813 B
Text

: >string-index
"" split
"&'0123456789abcdefghijklmnopqrstuvwxyz" "" split
swap index collapse ;
: chars "" split length swap drop ;
: cr "\n" . ;
: nip swap drop ;
: ordered?
dup grade subscript != '+ reduce if 0 else -1 then ;
: filtering
[] '_ set
0 do read
2dup chars
<=
if dup >string-index ordered?
if 2dup chars
<
if nip dup chars swap
[] '_ set
then
_ swap append '_ set
'. . # progress dot
else drop
then
else drop
then
eof if break then loop
cr _ . cr
;
: ordered-words
'< 'unixdict.txt open 'fh set
fh fin filtering fh close ;
ordered-words