Re: Structures as literals
"David McClain (as dbm at refined-audiometrics dot com)" <[email protected]>
| Newsgroups | gmane.lisp.lispworks.general |
|---|---|
| Message-ID | <[email protected]> |
But even in the case where we don’t care about shared objects at the Lisp level, I do care at the transmission level. I want to minimize the size of transmitted data. And shared object refs are much shorter than nearly anything that might be shared. > On Mar 3, 2026, at 08:40, David McClain <[email protected]> wrote: > > > >> On Mar 3, 2026, at 08:29, Tim Bradshaw (as tfb at cley dot com) <[email protected]> wrote: >> >> Consider two Lisp images L and L'. At some point, L sends and object o to L', which in L' is o'. At some later point L sends it again resulting in o''. If you want it to be the case that o' and o'' are identical in L' (so they are EQL), then L has to keep track of every object it has ever sent which can still be referenced in L. And worse, L can't know (unless L' tells it) that o' can still be referenced in L' at the point it sends o for the second time. > > > Yes, this is what my (and Ross’s) package actually does, for objects sent within one encoding. Anything within the encoded packet will be properly shared with commonality. > > Two separate encodings, which both happen to share an object, will produce two separate objects on the receiving end. > > So you could argue that this is incorrect. Or you should have realized that each encoding packet describes an island universe, and you shouldn’t have split it into two separate encodings. > > I have never run into a problem in this regard.