;;; spellcheck benchmark ; read the word dictionary ; read words from standard input and print those words ; which do not appear in the dictionary ; both the dictionary and standard input have only one word per line ; no line will exceed 128 characters (including newline) (require 'utils) (define input (open-input-file "User.Dict.Words")) (define dict (make-hash-table string=? 10000)) (define (main) (for-each-line (lambda (line) (hash-table-set! dict line #t)) input) (for-each-line (lambda (word) (if (not (hash-table-ref dict word)) (print word)))))