<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.3.2">
</HEAD>
<BODY>
Yes --- in my opinion (which gets more humble everyday), you just need to <BR>
reset the entire slot with setf.<BR>
<BR>
I can't think of a better solution right now.<BR>
<BR>
One could, of course, store the list as separate persistent data items, or<BR>
use a btree for the entire list. This would make the change to a single item<BR>
of the list more or less automatically saved; however, the great advantage of <BR>
Elephant is that that it allows you to use the LISP data-space design that <BR>
you prefer more or less directly, and changing that defeats some of the <BR>
advantage of using Elephant.<BR>
<BR>
<BR>
<BR>
<BR>
On Fri, 2006-02-17 at 12:00 +0100, Tayssir John Gabbour wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
<FONT COLOR="#000000">Hi,</FONT>
<FONT COLOR="#000000">How do people deal with the following problem... suppose I have a</FONT>
<FONT COLOR="#000000">persistent object with a slot that holds a list. And I mutate the list</FONT>
<FONT COLOR="#000000">with RPLACA. (Perhaps an innocent-looking SETF which expands into</FONT>
<FONT COLOR="#000000">RPLACA.) Well, this won't be stored persistently.</FONT>
<FONT COLOR="#000000">How do people deal with this situation? Basically just always use</FONT>
<FONT COLOR="#000000">methods which set the entire slot? Are there any tricks to keep from</FONT>
<FONT COLOR="#000000">having to do this?</FONT>
<FONT COLOR="#000000">Thanks,</FONT>
<FONT COLOR="#000000">Tayssir</FONT>
<FONT COLOR="#000000">_______________________________________________</FONT>
<FONT COLOR="#000000">elephant-devel site list</FONT>
<FONT COLOR="#000000"><A HREF="mailto:elephant-devel@common-lisp.net">elephant-devel@common-lisp.net</A></FONT>
<FONT COLOR="#000000"><A HREF="http://common-lisp.net/mailman/listinfo/elephant-devel">http://common-lisp.net/mailman/listinfo/elephant-devel</A></FONT>
</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>