This makes sense. If nobody objects I'll prepare a proposal today. By the way, on the topic of design topics: is there any core team support for removing associated type inference? I have a proposal there that I would like to move into the formal review stage at some point.
Best, Austin Sent from my iPhone > On Jun 28, 2016, at 9:33 AM, Douglas Gregor <[email protected]> wrote: > > >> On Jun 27, 2016, at 10:40 PM, Charlie Monroe <[email protected]> >> wrote: >> >> Oh, I see. The issue is then the following: >> >> let x = f >> x(1, 2) // Error: Missing argument labels 'a:b:' in call >> >> let y: (Int, Int) -> () = f >> f(1, 2) // OK >> >> Which requires you to write x(a: 1, b: 2). I must admit, however, that I >> always liked this behavior… > > Right, that’s the issue. The idea behind this is that it’s a simplification > to the type system to eliminate argument labels from types, so we can > eliminate some extra subtyping relationships (e.g., between function types > with labels and ones without labels). Essentially, argument labels become > part of the names of declarations (only!), which is consistent with our view > that the names of functions/methods/initializers include all of the argument > names. > > - Doug > >> >>> On Jun 28, 2016, at 7:06 AM, Austin Zheng <[email protected]> wrote: >>> >>> I think the point is to get rid of the argument labels. 'x' should be typed >>> simply (Int, Int) -> (). >>> >>> That being said, right now the argument labels in the type don't seem to >>> actually affect anything, so like Chris I'm not sure what the >>> counter-proposal is. >>> >>> (cc. Doug) >>> >>> Best, >>> Austin >>> >>>>> On Jun 27, 2016, at 10:04 PM, Charlie Monroe <[email protected]> >>>>> wrote: >>>>> >>>>> This came from a short list of topics Doug provided me, but the basic >>>>> issue is that: >>>>> >>>>> func f(a : Int, b : Int) { >>>>> let x = f // x has type (a: Int, b: Int) -> () >>>>> } >>>>> >>>>> I’m not exactly sure what the counterproposal is. >>>> >>>> My guess is to require let x = f(a:,b:) (specifying arguments)? >>>> >>>>> >>>>> -Chris >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> swift-evolution mailing list >>>>> [email protected] >>>>> https://lists.swift.org/mailman/listinfo/swift-evolution >>>> >>> >> > _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
