I'm having problems with com.gigamonkeys.binary-data in sbcl (I have
similar problems in clisp, but I debug more in sbcl).
Note, in the following sequence of events 'iso-8859-1-string,
'iso-8859-1char and 'generic-string are all supposed to be
defined eql specializers on the first argument to the read-value method:
CL-USER> (require :com.gigamonkeys.binary-data)
;loading system definition from
; /home/singollo/.sbcl/systems/com.gigamonkeys.macro-utilities.asd into
; #<PACKAGE "ASDF0">
; registering #<SYSTEM COM.GIGAMONKEYS.MACRO-UTILITIES {A787029}> as
; COM.GIGAMONKEYS.MACRO-UTILITIES
NIL
CL-USER> (in-package :com.gigamonkeys.binary-data)
#<PACKAGE "COM.GIGAMONKEYS.BINARY-DATA">
BINARY-DATA> (intern (string'#:generic-string))
GENERIC-STRING
NIL ;;<--not currently interned
BINARY-DATA> (intern (string '#:ISO-8859-1-STRING))
ISO-8859-1-STRING
NIL ;;<--not currently interned
BINARY-DATA> (intern (string '#:ISO-8859-1-CHAR))
ISO-8859-1-CHAR
NIL ;;<--not currently interned
BINARY-DATA> (read-value 'iso-8859-1-string *some-binary-stream* :length 1)
gives the error message:
"There is no class named ISO-8859-1-STRING."
This means the default read-value method is getting called instead of the
one defined in the define-binary-type macro
The weird thing is slime list all the keyword args as if the method was
defined.
BINARY-DATA> (lisp-implementation-version)
"1.0.7.37"
Anyone have any ideas?
Matt
--
"You do not really understand something unless you
can explain it to your grandmother." - Albert Einstein.
On Sat, 21 Jul 2007 21:28:00 -0500, Matthew Swank wrote:
> CL-USER> (in-package :com.gigamonkeys.binary-data)
> #<PACKAGE "COM.GIGAMONKEYS.BINARY-DATA">
Ok, I'm an idiot. The datatypes are in
:com.gigamonkeys.binary-data.common-datatypes. I like Peter Seibel work,
but the package naming discipline almost seems sadistic.
Matt
--
"You do not really understand something unless you
can explain it to your grandmother." - Albert Einstein