[baltimorepm] Closures and Late-Binding Subroutine Calls
Barry, Mike
Mike.Barry at refworks-cos.com
Thu Apr 26 08:49:40 PDT 2012
It also sounds like a good use case for Moose::Role where
the role requires the composing class to implement a method.
-MikeB.
On Apr 26, 2012, at 11:28 AM, Brad Lhotsky wrote:
> As per our IM conversation, look at using Sub::Exporter in PackageA so
> you can pull that into PackageB however you'd like.
>
> 2012/4/26 Alan Grover <awgrover at gmail.com>:
>> This sounds like "dynamic" context from before the days of "lexical"
>> context (see early lisp).
>>
>> And I haven't tried that sort of Evil in perl yet. It's not a concept
>> that is in favor, though it has some applications. Cf. "goto".
>>
>> Putting the closure in a special package (e.g. "MyDynamicPackage"), and
>> autoload, plus hunting up the stack ("caller()") for the package/context
>> where you want to resolve it, might do it.
>>
>> Also, this is how "hygenic" macros work (again, in scheme/lisp):
>> variables bind to the lexical context of the macro, but "free" variables
>> bind to the execution context. Maybe look for various "macro" mechanisms
>> in cpan?
>>
>> On 04/26/2012 10:24 AM, Stephen Belcher wrote:
>>> Hi all,
>>>
>>> I'm wondering if anyone has an answer to
>>> this? https://gist.github.com/2499830
>>>
>>> Essentially, I want to create a coderef while in the scope of one
>>> package, and delay binding of the subroutine calls until the actual
>>> execution, which will happen in or relative to another package, meaning
>>> that the subroutines that eventually resolve will be the ones located in
>>> the second package, not the first. This is different from what normally
>>> happens in closures.
>>>
>>> I can think of a few ways around the problem I'm trying to solve which
>>> aren't pretty, but I really like this one, cause I'm going for pretty,
>>> and I hope the answer's not just "you can't do that in Perl without XS
>>> Dark Magicks and/or a source filter".
>>>
>>> --Stephen
>>>
>>>
>>> _______________________________________________
>>> Baltimore-pm mailing list
>>> Baltimore-pm at pm.org
>>> http://mail.pm.org/mailman/listinfo/baltimore-pm
>>
>> --
>> Alan Grover
>> awgrover at mail.msen.com
>> +1.734.476.0969
>>
>> (The "email signature" and/or digital-signature
>> are only for informational and integrity purposes
>> and does not constitute a legal signature)
>>
>>
>> _______________________________________________
>> Baltimore-pm mailing list
>> Baltimore-pm at pm.org
>> http://mail.pm.org/mailman/listinfo/baltimore-pm
>
>
>
> --
> Brad Lhotsky
> _______________________________________________
> Baltimore-pm mailing list
> Baltimore-pm at pm.org
> http://mail.pm.org/mailman/listinfo/baltimore-pm
>
More information about the Baltimore-pm
mailing list