On Nov 10, 2017, at 6:05 PM, Slava Pestov via swift-evolution 
<swift-evolution@swift.org> wrote:
>> On Nov 10, 2017, at 6:01 PM, Chris Lattner <sa...@nondot.org> wrote:
>> 
>> It is.  It is strictly sugar, as mentioned in the proposal.
> 
> All new code has a cost.

Indeed, I’m quite aware of that!

>> I do not expect any SIL or IRGen changes associated with this proposal, just 
>> type checker changes.  The type checker changes should be straight-forward, 
>> but you can evaluate that when there is a patch.
> 
> Like I said, the type checker’s code for solving member constraints and 
> applying the solution is already a rats-nest of special cases to deal with 
> the rich semantics of method calls in Swift. We’ve been trying to simplify it 
> over time and fix bugs, and adding new special cases is a step in the wrong 
> direction.

A strict interpretation of your paragraph above says that no new thing should 
ever be added to the language, which I am sure is not what  you mean.

That said, I understand what you’re concerned with.  However, your approach 
with this pitch has been completely unconstructive and unhelpful.  There is a 
time and place where evaluation of the impact can take place: that’s when the 
patch is available.  You are correct that all extensions come at a cost, which 
is why the cost and the *benefit* have to be weighed.

>> Our goal is for Swift to be awesome, not comparable to “other statically 
>> typed languages”.
> 
> Ok, but being awesome is not the same as adding every possible feature to the 
> language.

I’m scratching my head and wondering if you seriously believe that you’re 
informing something that isn’t obvious.

>> swift-evolution isn’t about priorities.  I’m not asking someone else to 
>> implement this, and you don’t tell me how I spend my engineering time :-) :-)
> 
> Again, my point here is that implementing a new feature is just the first 
> step. New code also has to be maintained going forward.

Again, I’m pretty aware of how long term software projects works.

>> I’m open to requiring these to be the same type if there is a benefit to 
>> doing so. What benefit do you see?
> 
> Can you think of a case where they have to be different?

Yes, it is easy to imagine cases where the parameters are all that matters.  In 
that case the result would be Void.

-Chris

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to