For coding efficiency, we use a byte tag to indicate the type rather than the symbol returned from type-of. Turns out all lisps but lispworks have short-float = single-float and long-float = double- float, but the lisp spec provides for four different types. Therefore short-float is not a subtype of single-float as is true in most lisps. Up until lispworks, there was no need for special handling of the short-float type, so while I'll still store it as a single-float, I'll use the new tag to properly coerce the type on deserialization so the types are the same (otherwise it fails the regression suite).

There are other, similar issues but none so far that require new tags.

Ian


On Mar 16, 2007, at 3:18 PM, Pierre THIERRY wrote:

Scribit Ian Eslick dies 16/03/2007 hora 14:59:
As you say, I wasn't going to add a new version of the database
format just to read alpha release databases, and so my question was
to see if it was a big problem for someone.

It's an alpha release. Depending on it's behaviour is a mistake already.
:-)

IMHO, don't wait too long for an answer, and change the serializer.

BTW, why is this change needed? Shouldn't every object serialized
according to the value of (type-of object) ?

That would be a good ticket to add the Trac  database
(http://trac.common-lisp.net/elephant) if you'd like to do  so.
Although there may already be one there if you want to check first.

I'll check and add it.

Quickly,
Pierre
--
[EMAIL PROTECTED]
OpenPGP 0xD9D50D8A
_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Attachment: PGP.sig
Description: This is a digitally signed message part

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to