<div dir="ltr">I would suggest "Note that this definition is recursive in the case of value object fields, <i>meaning that the value tested by == in that case is the set of field values stored for such fields</i>" -- if this is correct.<div><br></div><div>Where the set of field values stored for a value object field contains a field that is in turn a value object, this recursive definition would imply a recursive application of == to the set of field values stored for that object, would it not? Which sounds awfully close to a deep equals test for value object fields (but not identity fields).<br><div><br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 27, 2024 at 11:24 AM Archie Cobbs <<a href="mailto:archie.cobbs@gmail.com">archie.cobbs@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I am a native English speaker but I also found this slightly confusing :)<br></div><div><br></div><div>The problem is, for better or worse, the word "recursive" is too closely associated with the phrase "deep equals" in people's minds.</div><div><br></div><div>Maybe it could be clarified a bit: "Other field values—both identity and value objects— are compared using the == operator. Note that this definition is recursive in the case of value object fields".<br></div><div><br></div><div>-Archie<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 27, 2024 at 9:08 AM Remi Forax <<a href="mailto:forax@univ-mlv.fr" target="_blank">forax@univ-mlv.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div><div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">So if 'o' is an identity object, like String, the address will be used and if 'o' is itself a value type, like Foo, then == becomes a recursive call.<div><div><br></div><div>Is it more clear ?<br></div></div></div></div></blockquote></div><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">Archie L. Cobbs<br></div></div>
</blockquote></div><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr">Phone: (416) 450-3584 (cell)</div></div>