[swift-evolution] Symmetrical operators
Андрей Володин
siddok at gmail.com
Sun Nov 13 13:38:58 CST 2016
Hi, list!
I’m thinking about proposal that would add a possibility to save some time on creating symmetrical binary operators.
The latest code example from my math lib:
@inline(__always)
public static func *(lhs: Angle, rhs: Float) -> Angle {
return Angle(lhs.degrees * rhs)
}
@inline(__always)
public static func *(lhs: Float, rhs: Angle) -> Angle {
return Angle(rhs.degrees * lhs)
}
The API of Angle doesn’t really matter here, what’s important is that I have to write another operator to make it symmetrical. Not so hard: 3 lines of code. It can even refer to original implementation, instead of duplicating the logic. But I think it would be nice to have something like symmetrical keyword, just like we have associativity and precedence.
I also bet that all operators should be asymmetrical by default.
Any thoughts?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20161113/a3e889c5/attachment.html>
More information about the swift-evolution
mailing list