EG meeting, 2021-12-15

2021-12-15 Thread Dan Smith
EG Zoom meeting today at 5pm UTC (9am PDT, 12pm EDT). Possible topics: "JEP update: Value Objects": discussed some details about inferred superinterfaces, including impact on JVMTI "basic conceptual model": Kevin shared his notes describing key Java programming model concepts, in anticipation

We have to talk about "primitive".

2021-12-15 Thread Kevin Bourrillion
(Okay, so we're doing this) I think the rename to "primitive classes" happened during my outage last year. When I came back I made the decision to like it. Since then, I've found that in my explanatory model I'm fighting against it constantly. I think it may actually be fatally flawed. The point

Re: We have to talk about "primitive".

2021-12-15 Thread Brian Goetz
Background: the textbook definition of "primitive" is centered on their nature of being elements-not-molecules, and I see no dispute about it. Also, there's no disputing the fact that we're allowed to adopt a different meaning if we so choose. So that's not even the fatal flaw. Yes, that's

Re: We have to talk about "primitive".

2021-12-15 Thread Dan Smith
On Dec 15, 2021, at 12:17 PM, Brian Goetz mailto:brian.go...@oracle.com>> wrote: The main problem I think we can't escape is that we'll still need some word that means only the eight predefined types. (For the sake of argument let's assume we can pick one and lean hard on it, whether that's "pr

Re: We have to talk about "primitive".

2021-12-15 Thread Kevin Bourrillion
On Wed, Dec 15, 2021 at 11:17 AM Brian Goetz wrote: > Background: the textbook definition of "primitive" is centered on their > nature of being elements-not-molecules, and I see no dispute about it. > Also, there's no disputing the fact that we're allowed to adopt a different > meaning if we so c

Re: [External] : Re: We have to talk about "primitive".

2021-12-15 Thread Brian Goetz
It took us a while to unravel this one, but I think we did. The JMM says that loads and stores of references, and of 32-bit-and-smaller primitive values, are atomic with respect to other loads and stores of the same variable.  This means that you'll see a valid value, though it could be a stal

Re: We have to talk about "primitive".

2021-12-15 Thread Kevin Bourrillion
On Wed, Dec 15, 2021 at 12:10 PM Dan Smith wrote: Yes, this is a good list. Add to it: > - They are named with a lower-case keyword > - They exclusively get to use special operators (for now) > (Well that parenthetical turns my blood cold) Leaning away from that though: I'm most worried abou

Re: [External] : Re: We have to talk about "primitive".

2021-12-15 Thread John Rose
On 15 Dec 2021, at 15:06, Brian Goetz wrote: It took us a while to unravel this one, but I think we did. … What this says is that tearing/non-tearing is a property of reference-vs-primitive-ness; accessing a (fat) value through a reference gives you *more guarantees* than accessing it directly

Re: We have to talk about "primitive".

2021-12-15 Thread John Rose
On 15 Dec 2021, at 10:42, Kevin Bourrillion wrote: … The main problem I think we can't escape is that we'll still need some word that means only the eight predefined types. (For the sake of argument let's assume we can pick one and lean hard on it, whether that's "predefined", "built-in", "e