Re: The interfaces IdentityObject and ValueObject must die !

2022-01-26 Thread forax
> From: "John Rose" > To: "daniel smith" > Cc: "Remi Forax" , "valhalla-spec-experts" > > Sent: Thursday, January 27, 2022 2:18:03 AM > Subject: Re: The interfaces IdentityObject and ValueObject must die ! > On 26 Jan 2022, at 16:36, Dan Smith wrote: >> An instance of a class is also an

Re: The interfaces IdentityObject and ValueObject must die !

2022-01-26 Thread John Rose
On 26 Jan 2022, at 16:36, Dan Smith wrote: An instance of a class is also an instance of (and carries the properties of) its superclasses. Value objects are instances of the class Object. I can imagine a design in which we say that instances of Object may be either identity or value

Re: The interfaces IdentityObject and ValueObject must die !

2022-01-26 Thread Dan Smith
On Jan 26, 2022, at 4:36 PM, fo...@univ-mlv.fr wrote: But this isn't a property of the *class*, it's a property of the *type*, as used at a particular use site. If you want to know whether an array is flattened, the class of the component can't tell you. The

Re: The interfaces IdentityObject and ValueObject must die !

2022-01-26 Thread John Rose
[Sorry disregard last content-free message. Still getting used to a new mail client.] On 26 Jan 2022, at 7:42, Dan Smith wrote: If we do not use interfaces, the runtime class of java.lang.Object can be Object, being an identity class or not is a just a bit in the reified class, not a

Re: The interfaces IdentityObject and ValueObject must die !

2022-01-26 Thread John Rose
On 26 Jan 2022, at 7:42, Dan Smith wrote: On Jan 26, 2022, at 2:18 AM, fo...@univ-mlv.fr wrote: In other words: I don't see a use case for distinguishing between primitive and value classes with different interfaces. Primitive classes does not allow nulls and

Re: The interfaces IdentityObject and ValueObject must die !

2022-01-26 Thread John Rose
On 26 Jan 2022, at 7:42, Dan Smith wrote: > For me, it's like opening the door of your house to an elephant because it > has a nice hat and saying you will fix that with scotch-tape each time it > touches something. > > Ha. This sounds like maybe there's a French idiom involved, but anyway we

Re: The interfaces IdentityObject and ValueObject must die !

2022-01-26 Thread forax
> From: "daniel smith" > To: "Remi Forax" > Cc: "valhalla-spec-experts" > Sent: Wednesday, January 26, 2022 4:42:30 PM > Subject: Re: The interfaces IdentityObject and ValueObject must die ! >> On Jan 26, 2022, at 2:18 AM, [ mailto:fo...@univ-mlv.fr | >> fo...@univ-mlv.fr ] wrote: >>> In

SoV-3: constructor questions

2022-01-26 Thread Dan Heidinga
After re-reading the State of Valhalla part 3 again [1], I have a couple of questions on constructor handling: 1) The rules for handling ACC_PERMITS_VALUE are different between SoV-2 and SoV-3 in that the language imposes constraints the VM doesn't check. Is this deliberate? SoV-2 says: > The

Re: The interfaces IdentityObject and ValueObject must die !

2022-01-26 Thread Dan Smith
On Jan 26, 2022, at 2:18 AM, fo...@univ-mlv.fr wrote: In other words: I don't see a use case for distinguishing between primitive and value classes with different interfaces. Primitive classes does not allow nulls and are tearable, following your logic, there should be

Re: The interfaces IdentityObject and ValueObject must die !

2022-01-26 Thread forax
- Original Message - > From: "daniel smith" > To: "Remi Forax" > Cc: "valhalla-spec-experts" > Sent: Wednesday, January 26, 2022 6:20:07 AM > Subject: Re: The interfaces IdentityObject and ValueObject must die ! >> On Jan 25, 2022, at 2:39 PM, Remi Forax wrote: >> >> I think we