On Mon, 19 Jun 2017 09:30:41 -0700, brad wrote:
> The way Moose in Perl 5 works around this is to give it a subroutine

> there currently isn't as far as I know, a way to do what you intended.

I'd like this feature as well. I was in IRC asking about whether we could 
restrict a hash in the same way python does, such that %hash<missing-value> 
dies.

It was noted that one can do

  my %h is default(Failure.new);

This would put a Failure in anything that didn't exist, which would detonate 
whenever accessed. Presumably, this would be the same Failure each time, but 
that's probably OK.

It means there is no way of generating a default based on access. I think that 
would look something like:

  my %h is default(-> $key { Failure.new("$key not provided") });

But then how would it know to run the Callable to generate the default, rather 
than simply providing the Callable as the default? I have no answer for that.

Reply via email to