Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^3: Beyond Inside-Out

by xdg (Monsignor)
on May 30, 2007 at 18:30 UTC ( [id://618257]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Beyond Inside-Out
in thread Beyond Inside-Out

Alter objects get garbage collection and thread support from Perl, the class has nothing to do with that. Destructors can be freely used for other purposes.
An Alter-object carries all its data with it, ready to dump and able to be restored

I think these are only true if the object reference is a hash/array that stores the references for each class. If so, you give up encapsulation and the ability to do "black box" (aka "foreign") inheritance.

If Alter uses inside-out techniques behind the scenes and the object reference is a key into data storage maintained by Alter with the references for each object for each class, then you still have all the garbage collection and threading problems inherent to inside-out objects.

Even if you use Hash::Util::Fieldhash, that just pushes the issues into the Perl core and it's not backwards compatible before 5.9.4 (at least, I think not).

-xdg

Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

Replies are listed 'Best First'.
Re^4: Beyond Inside-Out
by Anno (Deacon) on May 30, 2007 at 19:00 UTC
    Alter objects get garbage collection and thread support from Perl, the class has nothing to do with that. Destructors can be freely used for other purposes.

    An Alter-object carries all its data with it, ready to dump and able to be restored

    I think these are only true if the object reference is a hash/array that stores the references for each class. If so, you give up encapsulation and the ability to do "black box" (aka "foreign") inheritance.
    No, that's not so. An Alter object stores its data in a hash that is magically (in the technical sense) attatched to the object (which can be of any type). Magic is unique in that it is inaccessible to normal Perl (except through the interface you want to provide), but is serviced in garbage collection and thread cloning.

    Anno

      Alter object stores its data in a hash that is magically (in the technical sense) attatched to the object

      Ah! Now I get it. A magical hash that is attached to any object? Yes, that does sound like what object properties are supposed to be.

      -xdg

      Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://618257]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (4)
As of 2024-03-28 20:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found