@Larry, I see your point, but when I said 'identity', I was thinking about referential identity, not wether that object has identity in the user application.
Cheers On Nov 19, 2016 7:15 PM, "Larry Garfield" <la...@garfieldtech.com> wrote: > I'm not Paul, but... > > If you have a data storage system using CRAP (Create Read Archive Purge) > instead of CRUD, or EventSourcing, or any other system that needs to > maintain history, then you need stored objects that have identities > (document abc revision 123, for instance) so you can reference them. In > order to maintain history, however, when you load that data into a classed > object you do NOT want that object to be mutable, because there is, by > design, no way to "update" that object in place in storage. Rather, you'd > want to have a special "new object" class that is mutable, persist that to > storage, and then on load of historical data you want a read-only object to > expose to application code. That object will still have an identity, > however. > > I'm actually working on such a library on the side right now. > > --Larry Garfield > > On 11/16/2016 11:57 AM, Silvio Marijić wrote: > >> @Paul, >> I understand that immutable doesn't automatically apply value object. Can >> you give us some examples where immutable object should have identity? >> >> Cheers >> On Nov 16, 2016 4:48 PM, "Paul Jones" <pmjone...@gmail.com> wrote: >> >> On Nov 16, 2016, at 07:57, Silvio Marijić <marijic.sil...@gmail.com> >>>> >>> wrote: >>> >>>> Hi, >>>> >>>> To anyone who is interested in this RFC. What do you think what behavour >>>> >>> we >>> >>>> should have when you try to compare two immutable objects by identity >>>> >>> like >>> >>>> this: >>>> >>> I don't mean to be overly-nitpicky here, but it strikes me that the issue >>> might not be "immutable object" so much as "value object." >>> >>> That is, an immutable object (or at least a read-only object) might very >>> well have an identity. But a *value* object, in addition to read-only or >>> immutable, would have no identity proper. >>> >>> Maybe using the alternative term (if it applies) would help to clarify >>> the >>> situation. >>> >>> >>> -- >>> Paul M. Jones >>> pmjone...@gmail.com >>> http://paul-m-jones.com >>> >>> Modernizing Legacy Applications in PHP >>> https://leanpub.com/mlaphp >>> >>> Solving the N+1 Problem in PHP >>> https://leanpub.com/sn1php >>> >>> >>> >>> >>> > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >