in reply to Re^2: regarding 1.02 (was Re: IO::Lambda: call for participation)
in thread IO::Lambda: call for participation

One thing that is still not entirely clear here is how the $socket parameter gets passed aroud - or rather: why it needs to be passed in two ways - as a shared variable in the closure and via context? Actually - maybe I know the answer - this is because the "conditions" read from the context.
  • Comment on Re^3: regarding 1.02 (was Re: IO::Lambda: call for participation)

Replies are listed 'Best First'.
Re^4: regarding 1.02 (was Re: IO::Lambda: call for participation)
by tilly (Archbishop) on Jan 14, 2009 at 11:57 UTC
    It needs to be passed in the context because the dispatch engine needs to know about $socket so it knows when to dispatch to the closure. $socket also needs to be available in the closure, so the easiest way to do that is to make it part of the closure. However if you want the context is also available in @_. It just takes more work to get it from there.