\ Usage: gforth count-unique.fs interpret ) >body 1 swap +! 2drop else drop nextname create 1 , then ; : process-string ( -- ) get-current counts set-current begin parse-name dup while count-word repeat 2drop set-current ; : show-words ( -- ) [: dup name>string type space name>interpret >body @ 0 u.r cr true ;] counts traverse-wordlist ; \ while process-string1 by itself seems faster, it's not \ in connection with COUNT-WORD (reason unclear) stdin slurp-fid ' process-string execute-parsing show-words