[swift-evolution] [Idea] Extending syntax for `extension`
Saagar Jha
saagar at saagarjha.com
Mon Dec 5 16:04:58 CST 2016
How exactly would this work? Would it restrict the extension to only the scope it’s defined in?
Saagar Jha
> On Dec 5, 2016, at 1:48 PM, Braeden Profile via swift-evolution <swift-evolution at swift.org> wrote:
>
> I really enjoy having the ability to write and nesting my code at the appropriate indentation level in my file. Extensions are fabulous, but I wonder—solely for readability/style sake, could we allow you to properly namespace your extensions? Though I don’t know the implementation cost of this, I think it could be useful to be able to write this:
>
> class MathEvaluator
> {
> struct Number
> {
> let value: Double
> }
>
> struct Operation
> {
> let numbers: (Number, Number)
> let transform: (Double, Double) -> Double
> }
>
> extension Number
> {
> var factors: [Double]
> {
> // Calculate and return the factors
> }
> }
> }
>
> …which would be completely equivalent to:
>
> class MathEvaluator
> {
> struct Number
> {
> let value: Double
> }
>
> struct Operation
> {
> let numbers: (Number, Number)
> let transform: (Double, Double) -> Double
> }
> }
>
> extension MathEvaluator.Number
> {
> var factors: [Double]
> {
> // Calculate and return the factors
> }
> }
>
> This change is in the same ball park as this, proposed a week or two ago:
>
> struct MathEvaluator.Number
> {
> let value: Double
>
> var factors: [Double]
> {
> // Calculate and return the factors
> }
> }
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20161205/6832fb8f/attachment.html>
More information about the swift-evolution
mailing list