On Sat, 26 Oct 2002, Damian Conway wrote:
: Larry mused:
: 
: 
: > Now I'm wondering whether these should be split into:
: > 
: >      +&    +|    +!              - bitwise operations on int
: >      +&=   +|=   +!=
: > 
: >      ~&    ~|    ~!              - bitwise operations on str
: >      ~&=   ~|=   ~!=
: 
: I think this is UME (Unnecessary Multiplication of Entities), especially
: given:
: 
: >     +$x .| +$y
: >     ~$x .| ~$y

Well, yes, but what does

     +$x .| ~$y

do?  I guess in a multimethod world it's too ambiguous to dispatch...

We're also missing the actual C operators that are guaranteed to return 0 or 1:

    $x ?& $y    # C's $x && $y
    $x ?| $y    # C's $x || $y
    $x ?! $y    # C's, er, !!$x ^ !!$y

: > I think a good case can be made for *not* defining the corresponding
: > super assignment operators: &=, |=, and umm...I guess it would have
: > to be !=, er...
: 
: I suspect disjunctive superpositions will get a great deal
: of use as sets, and so the ability to add an element to an
: existing set:
: 
:       $set |= $new_element;
: 
: might be appreciated. But it's no big thing.

Yes, but we certainly can't have !=.  Another argument for not using
! for xor.  I guess _ is available as a kind of | laying down.
Can't have "x".  We could use "o" as short for "one or other".

    $either = 1 o 2;
    $set o= 1;
    $comp = o $mask;
    if $x oo $y
    $c = $a ~o $b

That's very distinctive.  I think I could get to like it.

: > I'd still love to the double angles for a qw synonym.
: 
: I was hoping we'd be able to generalize << from the heredoc introducer to
: the file slurp operator. But I can certainly see the attraction of:
: 
:       use enum <<d'oh ray me far solar tea>>;
: 
: ;-)

Actually, I meant the French double-angle quotes.

Larry

Reply via email to