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". DamianThread Previous | Thread Next