semantics of copy and mirror Peter McGoron (21 Mar 2026 17:39 UTC)
Re: semantics of copy and mirror Daniel Ziltener (21 Mar 2026 23:06 UTC)
Re: semantics of copy and mirror Peter McGoron (22 Mar 2026 00:10 UTC)
Re: semantics of copy and mirror Daniel Ziltener (23 Mar 2026 20:12 UTC)
Re: semantics of copy and mirror John Cowan (23 Mar 2026 21:03 UTC)
Re: semantics of copy and mirror Daniel Ziltener (27 Mar 2026 21:33 UTC)
Re: semantics of copy and mirror jobol (24 Mar 2026 06:46 UTC)
Re: semantics of copy and mirror Daniel Ziltener (27 Mar 2026 21:41 UTC)

Re: semantics of copy and mirror jobol 24 Mar 2026 06:45 UTC

Le Mon, 23 Mar 2026 21:12:44 +0100,
Daniel Ziltener <xxxxxx@lyrion.ch> a écrit :

(snip)

> Okay. I adjusted the `copy` message doc accordingly, and added a
> `deep-copy` message that is declared as optional for implementers. I
> definitely won't be able to implement this in pure R7RS, nor in my
> "day to day" dialect of Chicken, but I think now that deep-copying is
> a potentially valuable mechanic for some.

Hi Daniel,

I also have doubts about 'deep-copy'.

However, if implementing or specifying that method, I propose to add
arguments to exclude ancestor objects from the deep-copy and keeping it
inherited. I also propose that *the-root-object* and mirror are
excluded by default except if false (or true) is given as argument.

Example:

  (apply x 'deep-copy ((x 'mirror) 'immediate-ancestor-list)))

is equivalent to the shallow copy

  (x 'copy)

(snip)