[swift-evolution] Allowing Characters for use as Custom Operators
Jo Albright
me at jo2.co
Thu Jan 7 03:31:10 CST 2016
As my obsession grows with custom operators. I have come across wanting to use small words or 1-2 alphabetical characters as custom operators. I noticed that “as” and “is” are character based operators and figured it wouldn’t hurt to propose the allowance of character based custom operators.
Here are my reasons for allowing them:
1. easier to read “within” vs “>*<“ or “|*|”
2. potential opportunity to build an educational library to help explain expressions (see below)
infix operator plus { associativity left precedence 200 }
public func plus (lhs: Int, rhs: Int) -> Int {
return lhs + rhs
}
let totalApples = 5 plus 5
3. potential to write more like a sentence (this isn’t as high of a need, but again a good for entry into the language)
postfix operator oz { }
postfix operator cup { }
postfix operator gal { }
public func oz (inout _ lhs: Double) -> Double {
return lhs
}
public func cup (inout _ lhs: Double) -> Double {
return lhs *= 8.0
}
public func gal (inout _ lhs: Double) -> Double {
return lhs *= 128.0
}
let totalLiquidInOunces = 5oz plus 2cup plus 1gal
I spent awhile looking to make sure this hasn’t been proposed before. I apologize if it is a repeat.
Thanks
Nerd . Designer . Developer
Jo Albright
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160107/26917f6c/attachment.html>
More information about the swift-evolution
mailing list