> On 24 Oct 2016, at 21:38, Martin Waitz via swift-evolution
> <swift-evolution@swift.org> wrote:
>
> Hi,
>
> When using a pattern match operator, I’d prefer to reverse its arguments:
>
> if value matches pattern …
>
> if result =~ .success(let x) { use(x) }
>
> Being used to pattern matching in functional languages, I also do like our
> current syntax.
> Using ~= together with `let` on the left looks very strange to me.
That's interesting point, it does kind of make more sense that way round, but I
wonder if we were to d that a keyword might be even better than an operate,
like:
if result matches .success(let x) { use(x) }
if result matches let x? { use(x) }
And so-on? Maybe matches isn't the right keyword; we could even re-use the is
keyword for something shorter (and just think of a type as a form of pattern)?
I could like the idea of doing:
if result is let x? { use(x) }
My reasoning being that a keyword makes it much more obvious what's going on as
it can read like natural language to convey that it's a form of matching,
wheres ~= as an operator still requires some learning if you've not seen
something similar in another language.
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution