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?
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to