> On Mar 5, 2021, at 6:32 PM, John Rose <[email protected]> wrote:
> 
> On Mar 5, 2021, at 3:11 PM, Brian Goetz <[email protected]> wrote:
>> 
>> 
>> Or:
>> 
>>    case &&e:
> 
> Yes, I was reticent about that, but perhaps
> unary “&&” is a reasonable marker for
> “go into expression land”.  It could also
> help to mark in-args for deconstructor
> methods.

Ah, you have put your finger on what bothers me about using the specific symbol 
`&&` in this specific way: it looks like a unary operator, and unary operators 
bind tight.

        case && x > 0:

looks like it ought to mean

        case ((&& x) > 0):

Now,

        case var _ && x > 0:

clearly does the job, and the abbreviated form

        case _ && x > 0:

I could get behind.  But even that is beginning to be a lot of noise to 
introduce the guard.

Maybe we are just trying too hard.  Maybe we should use && to introduce guards, 
but

        case var _ && x > 0:

can be abbreviated as

        when x > 0:

?

Reply via email to