Re: Evolving instance creation

2022-02-24 Thread Brian Goetz
I find DanH's way of presenting it more natural (and makes perfect sense now that its been said that way): it *is* allocating something, just not in the heap.  It is requesting new storage for a new object, which might be in the heap, or the stack, or registers. And we might find that new objec

Re: Evolving instance creation

2022-02-24 Thread Dan Smith
> On Feb 24, 2022, at 8:47 AM, Remi Forax wrote: > > - Original Message - >> From: "Dan Heidinga" >> To: "daniel smith" >> Cc: "valhalla-spec-experts" >> Sent: Thursday, February 24, 2022 4:39:52 PM >> Subject: Re: Evolving instance creation > >> Repeating what I said in the EG meetin

Re: Abstract class with fields implementing ValueObject

2022-02-24 Thread Dan Smith
TLDR: I'm convinced, let's revise our approach so that the JVM never infers interfaces for abstract classes. On Feb 24, 2022, at 8:57 AM, Dan Heidinga mailto:heidi...@redhat.com>> wrote: Whether they can be instantiated is a decision better left to other parts of the spec (in this case, I belie

Re: Abstract class with fields implementing ValueObject

2022-02-24 Thread Dan Heidinga
On Wed, Feb 23, 2022 at 1:36 PM Dan Smith wrote: > > Fred suggested that we enumerate the whole space here. So, some cases to > consider: > > { ACC_PERMITS_VALUE, not } > { has an declaration, not } > { implements IdentityObject, not } > { implements ValueObject, not } > > "implements" here refe

Re: Evolving instance creation

2022-02-24 Thread Remi Forax
- Original Message - > From: "Dan Heidinga" > To: "daniel smith" > Cc: "valhalla-spec-experts" > Sent: Thursday, February 24, 2022 4:39:52 PM > Subject: Re: Evolving instance creation > Repeating what I said in the EG meeting: > > * "new" carries the mental model of allocating space.

Re: Evolving instance creation

2022-02-24 Thread Dan Heidinga
Repeating what I said in the EG meeting: * "new" carries the mental model of allocating space. For identity objects, that's on the heap. For values, that may just be stack space / registers. But it indicates that some kind of allocation / demand for new storage has occurred. * It's important t