On 9/29/05, Austin Hastings <[EMAIL PROTECTED]> wrote: > Luke Palmer wrote: > >>This is an interesting idea. Perhaps "for" (and "map") shift the > >>minimum arity of the block from the given list and bind the maximum > >>arity. Of course, the minimum arity has to be >= 1 lest an infinite > >>loop occur.
> Or not. We've already seen idioms like >> > for (;;) ... > > If you specify your minimum arity as 0, then you're obviously planning to > deal with it. This presumes that iterators can handle behind-the-scenes > updating, of course. Well, I see two reasons for not allowing arity zero. First, I think it's too easy to come up with a function with minimum arity zero: my @lengths = @list.map:&length # oops, infinite loop Second, you don't get anything by doing this: for @list -> [EMAIL PROTECTED] { ... } As it's equivalent to: loop { ... } Where you use @list instead of @items. Luke