Damian Conway <[EMAIL PROTECTED]> writes:

> Piers Cawley wrote:
>
>> Whilst I don't wish to get Medieval on your collective donkey I must
>> say that I'm really not sure of the utility of the proposed infix
>> superposition ops. I'm a big fan of any/all/one/none, I just think
>> that
>>     one(any($a, $b, $c), all($d, $e, $f))
>> Is a good deal more intention revealing than the superficially
>> appealing than
>>     ($a & $b & $c) ^ ( $d | $e | $f )
>
> I very much doubt that most people will write either of those.
> I suspect it will be quite unusual to see nested superpositions
> in code. Most folks are going to be using them for simple but
> very common checks like:
>
>       if ( $start & $finish < 0 } {
>               ($finish,$start) = [-]($start,$finish);         # hyper negate
>       }
>
>       if ( $start | $finish < 0 ) {
>               print "Bad index\n" and die;
>       }
>
>       given $start {
>               when 1|3|5|7|9   { print "That's odd...\n" }
>               when 2|4|6|8|10  { print "Even so...\n" }
>               default          { print "Taking off shoes...\n" }
>       }
>
>       my $seen = $start | $finish;
>       for <> -> $next {
>               print $next unless $next == $seen;
>               $seen |= $next;
>       }

But given a decent Collection hierarchy:

    my $seen = Set.new($start,$finish);

    for <> -> $next {
        print $next unless $next =~ $seen;
        $seen.insert($next);
    }

Which is somewhat more explicit about what's going on. But I'll grant
you, the comparator stuff is rather neat...

>> which takes rather more decoding. And if you *do* want to use such
>> operators, surely you could just do use ops ':superpositions'; in
>> an appropriate lexical scope. Am I missing something?
>
> Yes. That superpositions are going to be so widely used once people
> catch on, that users going to curse us every time they have to write
> C<use ops ':superpositions';> at the start of every scope.

I think we could really use a 'science fiction' article about
superpositions. Sort of like the Q::S talk, but without the 'in
constant time' jokes.

-- 
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