On Sat, Jul 31, 2010 at 10:56:47AM -0600, David Green wrote:
> It's not unreasonable, especially if that's what you expect.  
> But it's even more reasonable to expect this to work:
>       given $something { 
>               when True { say "That's the truth!" }
>               when 42 { say "Good answer!" }
>               when "viaduct" { say "You guessed the secret word!" }
>       }

I'm not so sure about this.  There's an argument to be made that
the C<when 42> and C<when "viaduct"> cases should never be reachable,
since both C<42> and C<"viaduct"> are considered "true" values...

... unless you want C<when True> to do a value-and-type check,
in which case it doesn't exactly follow the pattern for smartmatching
of the other builtin types (which only check value equivalence, 
not type equivalence).  


Reply via email to