Derp, I slept in today
On Wed, Nov 17, 2021 at 7:39 AM Dan Smith <daniel.sm...@oracle.com> wrote: "Consolidating the user model": followup discussions homed in on how we > model primitive values—whether they're reference-less objects or some other > "value" entity, and how they interact with reference types > I'm in progress writing up the two main models so far as I understand them. "Equality operator for identityless classes": Kevin is concerned that the > new == operator is an attractive nuisance, because it's sometimes, but not > always, equivalent to 'equals' > Summary: for reftypes `==` and `.equals()` ask two different questions, and users almost never really mean `==`, but it's *sometimes *an okay shorthand. That remains true, but when the *"sometimes"* is, exactly, could get much much harder to observe now. Definitely concerned -- but perhaps the question users *actually* mean most of the time is really the "pattern matching" question, after all. (The biggest ergonomic problem of `.equals()` "identityless objects and the type hierarchy": discussed how the > IdentityObject/PrimitiveObject interfaces are used in the "Consolidating > the user model" world > For the moment I think this does probably carry over to WithIdentity/WithoutIdentity or whatever they are called. The question I think is still open (to me) is whether there really are active contractual implications of being identityless or if it's equivalent to being uncommitted; i.e. should a clear-cut identityless class still be able to have an identityful subclass, or does that clearly break something. -- Kevin Bourrillion | Java Librarian | Google, Inc. | kev...@google.com