Austin Hastings writes: > Before this gets simonized, let me add that this seems genuinely > useful: It provides a way of constructing a loop in a dimension that > is not really accessible, except via recursion. > > Luke: Would that have to be > > for outer([EMAIL PROTECTED]) ->Â @cp {...} > > ?
-> @cp makes about as much sense as subÂ(@cp). C<outer> returns a list of array references, right? So it binds each one to @cp (the right of -> is a subroutine parameter list, remember?). > > Supposing  had sufficiently low precedence. And supposing  were used > > at all, something I'm not particuarly attached to happening. > > I'm opposed to it: bad huffman coding. That's why it's a non-ascii operator. But I agree, there's really no need for an operator here. > > I believe it could be programmed lazily. Like this: > > > sub _outer_coro(*$first is context(Scalar), > > [EMAIL PROTECTED] is context(Scalar)) > > is coroutine > > { > > if @rest { > > _outer_coro [EMAIL PROTECTED]; > > } > > else { > > yield $first; > > } > > } > > > > sub outer([EMAIL PROTECTED] is context(Scalar)) > > { > > <_outer_coro([EMAIL PROTECTED])> > > } > > I find this code utterly baffling. How does this yield 255.255.0.[0..2] ? It doesn't. You probably noticed by my numerous replys fixing the numerous bugs in that code. Luke