[elephant-devel] get-instance-by-value where value is a list
Ian Eslick
eslick at media.mit.edu
Fri Sep 26 20:43:41 UTC 2008
Currently none of the stores support comparing lists. I think we
could add this to the BDB backend, but it would require a change in
the way that lists are serialized that wouldn't be backwards
compatible. Even if we did it for BDB, I don't think we can do it for
the postmodern or CL-SQL stores.
Unfortunately strings are the only unbounded data item that can be
correctly compared by all stores. Consequently, they are the only way
to store lists in indexed slots and get the expected behavior.
Think of this re-encoding as a means to generate a signature for a
class of objects that is guaranteed to have the same total order as
the original objects under lisp 'equal.
Sometimes the elegance of the hack depends on how you look at it. :)
Ian
On Sep 26, 2008, at 4:26 PM, Frank Schorr wrote:
> (using ele version 0.9 on lispworks/win32)
>
> I'm storing a list in an indexed slot of a persistent object.
> Retrieving the object with
> get-instance-by-value, where value is #'equal to the stored list,
> does not seem to work.
>
> One could print the list to a string and use the string for
> indexing, but I believe there
> is a better "design pattern".
>
> How do you store (nested) lists in indexed slots ?
>
>
> Thank you for your help.
>
> Frank
>
> _______________________________________________________________________
> Jetzt neu! Schützen Sie Ihren PC mit McAfee und WEB.DE. 30 Tage
> kostenlos testen. http://www.pc-sicherheit.web.de/startseite/?
> mc=022220
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
More information about the elephant-devel
mailing list