Damian Conway <[EMAIL PROTECTED]> writes:
> Incidentally, the table of C<=~> comparisons (Table 1) at:
>
>       http://dev.perl.org/perl6/apocalypse/4
>
> suggests that hash/hash matching is equivalent to:
>
>       match if grep exists $a{$_}, $b.keys
>
> I hope to convince Larry that it would be better if it were equivalent to:
>
>       match if any($a.keys) =~ any($b.keys)

That certainly seems more 'smart matchy' (does that make sense?)

> so that each key is recursively C<=~>-matched against each key.
>
> I'd prefer that because if I hope to convince Larry to allow hash
> keys to be any scalar value (not just strings). That way the "keys
> as a set" idiom might actually be usable.

I thought he was already convinced of that one. And even if he's not,
setting up the smart match in the second form means less work when
someone does:

  # Like a hash, but with arbitrary keys.
  class Dictionary is HASH { ... }

Not that changing =~ would be that much work anyway...
     

-- 
Piers

   "It is a truth universally acknowledged that a language in
    possession of a rich syntax must be in need of a rewrite."
         -- Jane Austen?

Reply via email to