Re: User model: terminology

2022-05-06 Thread forax
> From: "Kevin Bourrillion" > To: "Remi Forax" > Cc: "Brian Goetz" , "valhalla-spec-experts" > > Sent: Wednesday, May 4, 2022 11:42:21 PM > Subject: Re: User model: terminology > On Wed, May 4, 2022 at 8:44 AM Remi Forax < [ ma

Re: [External] : Re: User model: terminology

2022-05-05 Thread Brian Goetz
As a general meta-observation, the whole point of the "let's throw all the pieces in the air" discussions is that often, when you break some existing assumptions, you can reassemble the pieces in a lower energy state -- but you usually can't get there in one move.  So usually in the middle of t

Re: User model: terminology

2022-05-04 Thread Kevin Bourrillion
On Wed, May 4, 2022 at 8:44 AM Remi Forax wrote: > - A term for all non-identity classes. (Previously, all classes had > identity.) > > I've used the term "immediate", immediate object vs reference object. > Note that the temporal meaning (right now) is much much stronger in people's minds tha

Re: [External] : Re: User model: terminology

2022-05-04 Thread Brian Goetz
While on the subject of defaults: we've been treating B2 as the default kind of non-identity class, on the theory that it is the smallest hop away from identity classes, and also that it covers a broader range (all the existing value-based classes.)  Is that still the default we want? Flipping

Re: [External] : Re: User model: terminology

2022-05-04 Thread Brian Goetz
What *is* identity? I'll claim it's exactly like an ordinary immutable field-based property, with one special provision: it is *always* auto-assigned to be unique, and thus can never be copied. That feels to me like it tells the whole story. So the difference between these kinds of objects

Re: User model: terminology

2022-05-04 Thread Kevin Bourrillion
My favorite kind of thread... At the risk of inducing groans, a reminder that much of my own terminology backstory is found in Data in Java Programs , and that when there are places we disagree below, the disa

Re: [External] : Re: User model: terminology

2022-05-04 Thread Brian Goetz
 - A term for those non-identity classes which do not _require_ a reference.  These must have a valid zero, and give rise to two types, what we've been calling the "ref" and "val" projections. I like "zero-default" (as opposite of null-default) but mostly because it's a valid hyph

Re: User model: terminology

2022-05-04 Thread Remi Forax
> From: "Brian Goetz" > To: "valhalla-spec-experts" > Sent: Wednesday, May 4, 2022 5:05:24 PM > Subject: User model: terminology > Let's talk about terminology. (This is getting dangerously close to a > call-for-bikeshed, so let's exercise

User model: terminology

2022-05-04 Thread Brian Goetz
Let's talk about terminology.  (This is getting dangerously close to a call-for-bikeshed, so let's exercise restraint.) Currently, we have primitives and classes/references, where primitives have box/wrapper reference companions.  The original goal of Bucket 3 was to model primitive/box pairs.