EG meeting, 2021-11-17

Kevin Bourrillion kevinb at google.com
Wed Nov 17 17:41:52 UTC 2021


Derp, I slept in today


On Wed, Nov 17, 2021 at 7:39 AM Dan Smith <daniel.smith at 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. | kevinb at google.com


More information about the valhalla-spec-observers mailing list