From: Chun T. (binghe) <bin...@gm...> - 2006-08-04 07:45:51
|
Thanks you very much! With your help and some necessary changes by me, I can run Simon Leinen's SYSMAN ( cl-snmp[1] ) on SBCL 0.9.14 now. I also read your representation page, very useful to help understanding sbcl, thanks again. It seems that sbcl have been the most advanced open-source CL implementation, even LispWorks doesn't have some language feature. binghe [1] http://common-lisp.net/project/cl-snmp On Friday 04 August 2006 14:40, Christophe Rhodes wrote: > "Chun Tian (binghe)" <bin...@gm...> writes: > > When "public" be passwd into this function, type error happend. I have to > > change simple-base-string to simple-string to bypass this. > > Right. > > > I think the question I actually wants to know is WHY > > > > (typep "public" '(simple-array base-char (*))) > > > > is NIL? Character is not number or (unsigned-byte 8), now I know this. > > > > And this information is just useful: > > > > * (type-of "public") > > (SIMPLE-ARRAY CHARACTER (6)) > > * (typep "public" '(simple-array base-char (*))) > > nil > > The #\" reader macro character creates a simple array specialized to > character. In some implementations, character and base-char are > type-equivalent, in which case the string you get from #\" will be a > simple-base-string; however, in sbcl, base-char is distinct from > character, and so simple-base-string is distinct from (simple-array > character (*)). > > > But in CLISP and LispWorks, I both get different answer from SBCL: > > > > CLISP: > > [1]> (type-of "public") > > (SIMPLE-BASE-STRING 6) > > [2]> (typep "public" '(simple-array base-char (*))) > > T > > LispWorks: > > CL-USER 1 > (type-of "public") > > SIMPLE-BASE-STRING > > CL-USER 2 > (typep "public" '(simple-array base-char (*))) > > T > > > > So how to explain this? Is it a just-in-SBCL behavior? > > Clisp and LispWorks do not have a distinct base-char separate from > character. You might find > <http://www.doc.gold.ac.uk/~mas01cr/talks/2005-04-24%20Amsterdam/presentati >on.html> helpful. ------------------------------------------------------- |