> From: "John Rose"
> To: "daniel smith"
> Cc: "Kevin Bourrillion" , "Brian Goetz"
> , "valhalla-spec-experts"
>
> Sent: Jeudi 4 Novembre 2021 02:34:52
> Subject: Re: [External] : Re: Consolidating the user model
> On Nov 3, 2021, at 4:05 PM, Dan Smith < [ mailto:daniel.sm...@oracle.com |
>
> From: "Kevin Bourrillion"
> To: "Brian Goetz"
> Cc: "valhalla-spec-experts"
> Sent: Jeudi 4 Novembre 2021 22:34:54
> Subject: Re: identityless objects and the type hierarchy
> On Wed, Nov 3, 2021 at 12:43 PM Brian Goetz < [ mailto:brian.go...@oracle.com
> |
> brian.go...@oracle.com ] >
On Wed, Nov 3, 2021 at 12:43 PM Brian Goetz wrote:
>
> On 11/3/2021 3:00 PM, Kevin Bourrillion wrote:
>
> Okay, let's stick a pin in proper-value-types (i.e. try to leave them out
> of this discussion) for a moment...
>
> One question is whether the existing design for the bifurcated type
>
An implication of universal generics is that there needs to be
some common protocol that works on both vals and refs. In the
val/ref model, that protocol is objects: both vals and refs are
objects with members that can be accessed via '.'. In the
value/object model, I'm not
On Thu, Nov 4, 2021 at 9:28 AM Dan Smith wrote:
> On Nov 3, 2021, at 6:19 PM, Kevin Bourrillion wrote:
>
> I think my intuitions about boxes tie heavily to 'getClass' behavior (or
>> some analogous reflective operation). "What are you?" should give me
>> different answers for a bare value and a
On Nov 4, 2021, at 10:08 AM, Kevin Bourrillion
mailto:kev...@google.com>> wrote:
Your model is likely enough the best, and I'm simply "resisting" it, but in
that case I'm channeling some of the resistance other users will feel, and we
can hash out how to head it off. But also, occasionally I
On Nov 3, 2021, at 7:34 PM, John Rose
mailto:john.r.r...@oracle.com>> wrote:
There’s a bigger hiccup when you compare all that with good old int:
int iv = 42; // “class int” is NOT a thing, but “class Integer” is
assert iv.getClass() != int.class; // because int is not a class
assert
On Nov 3, 2021, at 6:19 PM, Kevin Bourrillion
mailto:kev...@google.com>> wrote:
I think my intuitions about boxes tie heavily to 'getClass' behavior (or some
analogous reflective operation). "What are you?" should give me different
answers for a bare value and a box. A duck in a box is not the
On Thu, Nov 4, 2021 at 7:56 AM Brian Goetz wrote:
On 11/4/2021 2:54 AM, Kevin Bourrillion wrote:
>
> Point.ref pr = pv; // same object… now it’s on the heap, though, with a
>> real live heap header
>> assert pr.getClass() == Point.class; // same class, but...
>>
>
> Why would we even want
I would summarize what you've been on about as "Hey, developers are used
to primitives and boxes, is there mileage in working within that
framework, rather than tossing it out the window because boxes seem
dirty?" And I think there is something to that.
One way to frame this is that there's
To close the loop, in the initial "Eclair" discussion (which grew out of
a conversation at the last JVMLS), a primitive was a pair of classes,
where the companion class was actually an interface. We haven't
revisited "what is Point.ref" since then, but one possible way to do
this is to say
On 11/4/2021 2:54 AM, Kevin Bourrillion wrote:
Point.ref pr = pv; // same object… now it’s on the heap, though,
with a real live heap header
assert pr.getClass() == Point.class; // same class, but...
Why would we even want this? It would be very surprising/puzzling to me.
On Wed, Nov 3, 2021 at 6:35 PM John Rose wrote:
Let’s see what happens if we say that (a) bare values have headers
>
and (b) Object::getClass allows the user to observe part of the header
> contents.
>
I'm asking specific questions below as best I can, but I must confess that
I don't really
13 matches
Mail list logo