Dave Whipp wrote:

Damian Conway wrote:

And what you'd need to write would be:

    $sum  = (try{ [+] @values } err 0);


The "err ..." idiom seems too useful to have it break in this case. Afterall, the purpose of "err 0" is to tell the stupid computer that I know what to do with the empty-array scenario.

Feels like fine grained control over fatalness is needed (and not just per-function). For example "use fatal :void_context_only" would be nice, but wouldn't help in this case. This needs "use fatal :void_or_assign".

What it probably needs is: "use fatal :untested"

That is, die unless the failed result is in a boolean or "definedean" context.

This might even be a more reasonably dwimmy default, with 'use fatal :always' being required to get "always throw the exception".

Damian

Reply via email to