> On 25 Oct 2016, at 13:15, Haravikk <[email protected]> wrote:
> 
> 
> I'm inclined to disagree; the keyword wouldn't be much different from the use 
> of the is keyword to test a type (I even suggested using it since it's 
> shorter than matches and wouldn't require a new term), both are run-time 
> operations except where they can be optimised away so there is some precedent 
> for this.

That’s more an argument for changing the syntax of `is` and `as`, perhaps 
giving them a function like syntax like `type(of:)` not an argument for 
introducing more operators that break the rules. It’s all very well following 
precedent, but when precedent is wrong, let’s not.

> 
> Lastly, on it being more readable the issue isn't general readability but 
> rather discoverability. If you see "if x matches .some(let y)" or "if x is 
> let y?" then there's some immediate context for what's going on the first 
> time you see it. An =~ or ~= operator is less clear as it looks like a weird 
> assignment operator (like +=), doesn't mean the same thing as the tilde 
> operator on its own; the only clue to it being a comparison is that it's used 
> in an if condition.

I’m not sure I like compromising readability just so that people who have no 
Swift experience can understand things a bit more easily.

> 
> I dunno, although I've started using the pattern matching operator, I just 
> don't like it.

It’s a bit similar to Perl’s string pattern matching operator (=~), so to me it 
seems fine and it’s already part of the language. 
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to