Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Re: May Thy Closures Be Blessed

by hardburn (Abbot)
on Apr 26, 2004 at 20:22 UTC ( [id://348322]=note: print w/replies, xml ) Need Help??


in reply to Re: May Thy Closures Be Blessed
in thread May Thy Closures Be Blessed

I guess one could say it solves the data inheritance problem - but in an extremely awkward way: the superclass defines the attributes of the subclasses. At least, that's how inheritance is happening in your example.

Yes, this is something I need to think about more. I think it's possible, but the specifics haven't been worked out. (Along with a lot of other ideas).

Much of the power of Closure Objects will depend on how much work you're willing to put into the closure.

First, your closure method eventually stores the attributes in a hash. You are just using the closure to give each object its private lexical hash.

That is how it is currently implemented, but there's no reason why it has to be limited to some access controls and a hash lookup. The technique enforces the "eat your own dogfood" rule (i.e., if you define accessors/mutators on class data, use them even inside the class itself). It allows for a lot of things that would otherwise have to be done by a tied interface.

Frankly, I fail to see how they connect to 'functional programming'.

Closures come straight out of functional programming. Plus I like ideas that combine concepts that are normally thought of as completely seperate.

----
: () { :|:& };:

Note: All code is untested, unless otherwise stated

Replies are listed 'Best First'.
Re: May Thy Closures Be Blessed
by Abigail-II (Bishop) on Apr 26, 2004 at 21:24 UTC
    That is how it is currently implemented, but there's no reason why it has to be limited to some access controls and a hash lookup.
    Oh, sure, but that's isn't anymore true for your closure solution as it is for more traditional methods (IO::* for instance uses blessed handles), or for Inside Out objects.

    Abigail

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (2)
As of 2024-04-19 18:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found