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).
Pm