in reply to Re: Functional Programming & method rewriting
in thread Functional Programming & method rewriting

would a double-closure be an application of the factory design pattern

I am sorry to pick nits, but this is something that seems to be confused a lot. I wouldn't really call this a double closure. It's just a closure that uses anonymous subroutines. The inner subroutines are not stored anywhere, so they don't have a chance to close around their lexical environment.

  • Comment on Re^2: Functional Programming & method rewriting

Replies are listed 'Best First'.
Re^3: Functional Programming & method rewriting
by Anonymous Monk on Oct 29, 2004 at 17:46 UTC
    Nope, they close very briefly around @args, as wrong as that is, they do. Whether they are used once or twice or thrice is indifferent to the fact that @args is lexically picked up.

      That's true, but if you used that as the definition of "closure", then every subroutine that is in a lexical environment is a closure. That makes the term practically useless.

      I think it's more useful to consider a closure to be a subroutine that closes around its lexical environment, and uses it to maintain state between invocations. It may not be as technically accurate, but it captures the meaning I think is most common, and definitely more useful.