A Tangential Discourse on Lisp and the Lineage of Languages
Levi Pearson
levi at cold.org
Mon Mar 13 13:55:27 MST 2006
On Mar 13, 2006, at 11:35 AM, Bryan Sant wrote:
>
> When I run sbcl and then the load instruction, I get the following
> error:
>
> debugger invoked on a SB-INT:STREAM-DECODING-ERROR in thread
> 3085018816:
> decoding error on stream
> #<SB-SYS:FD-STREAM for "file \"/usr/share/dict/words\"" {9075801}>
> (:EXTERNAL-FORMAT :UTF-8):
> the octet sequence (243 110 10 65) cannot be decoded.
>
> Why can't lisp parse the words file? UTF8 problem?
That's what it looks like, but it works on my Debian box with sbcl
0.9.9 and a /usr/share/dict/words with extended chars, but it's
encoded in latin-1, afaict. What versions of things are you using?
Is the words file actually encoded in utf-8, or did it get confused
about it somehow? You might try replacing the (defvar *words* form
with this, to force latin-1:
(defvar *words*
(with-open-file (words *words-file* :direction :input :external-
format :latin-1)
(let ((hash (make-hash-table :test 'equal)))
(loop (let ((line (read-line words nil)))
(if line
(setf (gethash line hash) t)
(return))))
hash)))
--Levi
More information about the PLUG
mailing list