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
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to