If I recall correctly there was a thread with a similar idea which instead 
would create a new operator for mutation or a new way of method invocation, 
such that mutating methods would be called with &. or something similar. e.g.

foo&.add(5)

I think the consensus was that that was not a particularly familiar syntax and 
it would add a decent amount of noise.

There may have also been some issues with the grammar, I can't recall.

> On Apr 21, 2016, at 11:40 PM, Krishna Kumar via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> Hey
> 
> I think adding “&” to methods will reduce the readability of the code. Also, 
> keyword “mutating” makes it super clear and readable that my method is 
> mutating the values.
> 
> 1. mutating func add(value: Double){…}
> 
> 2. func add&(value: Double){…}
> 
> I think it’s easy to skip the information encoded into the 2nd function which 
> is this function is mutating a value as compared to 1st. When I read 1st 
> function I start reading with keyword “mutating” making its intentions clear 
> to me.
> 
> Also, it might become a symbol nightmare with following type signature of a 
> function-
> 
> func nightmare&(title: String?) -> String? -> String?{…}
> 
> I can see the advantage of using “&” when calling a function. It makes clear 
> at the call site that this method is mutating but still I don’t find 
> eliminating “mutating” a good step for the reasons mentioned above.
> 
> Maybe we can think of some better solution.
> 
> Thanks
> 
> -Krishna
> 
>> On Apr 21, 2016, at 10:38 PM, Daniel Steinberg via swift-evolution 
>> <swift-evolution@swift.org> wrote:
>> 
>> swift-evolution@swift.org
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to