Subject: Re: Deep copy in lisp: how?
From: rpw3@rigden.engr.sgi.com (Rob Warnock)
Date: 2000/04/15
Newsgroups: comp.lang.lisp
Message-ID: <8d8e2b$17i6$1@fido.engr.sgi.com>
Joerg-Cyril Hoehle <hoehle-sorry@tzd.dont.telekom.spam.de.me> wrote:
+---------------
| Kent M. Pitman article http://world.std.com/~pitman/PS/EQUAL.html
| about why there can't be an all general copy...
| I sincerely hope that by now, you read both this and Tim Bradshaw's
| article at http://www.cley.com/articles/one-step-beyond.pdf
+---------------

One of the examples in Tim's paper was very telling -- a "queue" object
which contains pointers to *shared* sub-structure. If one had *any*
lingering doubts about the impossibility of a "universal" or "generic"
copy doing the right thing, that example would surely blow them away.

Objects may have *application*-defined internal consistency invariants
which are destroyed by copying, and a general copy operator *can't* know
(in general) how to preserve (or at least, restore) those invariants
through the copying process.


-Rob

-----
Rob Warnock, 41L-955		rpw3@sgi.com
Applied Networking		http://reality.sgi.com/rpw3/
Silicon Graphics, Inc.		Phone: 650-933-1673
1600 Amphitheatre Pkwy.		PP-ASEL-IA
Mountain View, CA  94043