#!/usr/bin/guile -s !# (use-modules (sxml ssax) (os process) (ice-9 rdelim) (srfi srfi-14)) (or (= (length (program-arguments)) 2) (begin (display "usage: sxw2words SXW-FILE\n" (current-error-port)) (exit 1))) (define sxw-file (cadr (program-arguments))) (define (get-dict-words) (let ((port (open-input-file "/usr/share/dict/words"))) (let lp ((words '()) (line (read-line port))) (if (eof-object? line) (sort! (reverse! words) string-ci? (car words) (car dict-words)) (lp words (cdr dict-words) out)) (else (lp (cdr words) dict-words (cons (car words) out))))) ;;; arch-tag: 6c2617d3-32a4-4a4d-8914-48c7ee1b5ad8