Re: Alternative to IdentityObject & ValueObject interfaces

2022-03-23 Thread Dan Smith
On Mar 22, 2022, at 5:56 PM, Dan Smith mailto:daniel.sm...@oracle.com>> wrote: - Variable types: I don't see a good way to get the equivalent of an 'IdentityObject' type. It would involve tracking the 'identity' property through the whole type system, which seems like a huge burden for the occ

EG meeting, 2022-03-23

2022-03-23 Thread Dan Smith
EG Zoom meeting today at *4pm* UTC (9am PDT, 12pm EDT). Thanks for the feedback in the "Alternative to IdentityObject & ValueObject interfaces" thread. We can continue that discussion.

Re: [External] : Re: Alternative to IdentityObject & ValueObject interfaces

2022-03-23 Thread Brian Goetz
My thinking on this topic has evolved a bit.  At first, we thought about conditional methods as being completely ad-hoc, such as: interface List {         long sum(); } Here, the sum() method exists as an island in various specializations.  This was practical in the first iteration of the te

Re: Alternative to IdentityObject & ValueObject interfaces

2022-03-23 Thread Dan Heidinga
(Sorry Dan, you're receiving this twice. I accidentally sent it off list first) > Here's another more stable encoding, though, that feels less fiddly to me > than what I originally wrote: > > ACC_VALUE means "allows value object instances" > > ACC_IDENTITY means "allows identity object instances

Re: Alternative to IdentityObject & ValueObject interfaces

2022-03-23 Thread Dan Heidinga
> As Dan points out, the main thing we give up by backing off from these > interfaces is the static typing; we don't get to use `IdentityObject` as a > parameter type, return type, or type bound. And the only reason we've come > up with so far to want that is a pretty lame one -- locking. Duri

Re: Alternative to IdentityObject & ValueObject interfaces

2022-03-23 Thread Remi Forax
- Original Message - > From: "Maurizio Cimadamore" > To: "daniel smith" , "valhalla-spec-experts" > > Sent: Wednesday, March 23, 2022 11:23:26 AM > Subject: Re: Alternative to IdentityObject & ValueObject interfaces > On 22/03/2022 23:56, Dan Smith wrote: >> Other abstract classes and i

Re: Alternative to IdentityObject & ValueObject interfaces

2022-03-23 Thread Remi Forax
Hi Brian, i've maybe have twisted mind but i read your email as a rebuttal of both IdentityObject/ValueObject and identity/value modifiers. As you said, an identity object and a value object are less dis-similar now that they were in the past: a value class now reuse the method equals and has

Re: Alternative to IdentityObject & ValueObject interfaces

2022-03-23 Thread Brian Goetz
Thanks Dan for putting the work in to provide a credible alternative. Let me add some background for how we came up with these things.  At some point we asked ourselves, what if we had identity and value classes from day 1?  How would that affect the object model?  And we concluded at the time

Re: Alternative to IdentityObject & ValueObject interfaces

2022-03-23 Thread Maurizio Cimadamore
On 22/03/2022 23:56, Dan Smith wrote: Other abstract classes and interfaces are fine being neither (thus supporting both kinds of subclasses). I feel that for such a proposal to be really useful (but that's true for the interface-based approach as well IMHO), you need a way for the _use si