On Tue, Mar 10, 2009 at 03:40:20AM -0700, Vasily Chekalkin wrote:
> + multi method reduce(Code $expression) {
> + my Int $arity = $expression.count;
> + die('Cannot reduce() using a unary or nullary function.') if $arity
> < 2;
> +
> + my $list := @.list or fail('Cannot reduce() empty list');
Why is one condition 'die' and the other condition 'fail'?
> + my $res = $list.shift;
Note that $list might not be something that can be shifted -- 'shift'
is only available for Arrays and Iterators.
So, patch rejected, at least this version of it.
Pm