[swift-evolution] When to use argument labels, part DEUX
Dave Abrahams
dabrahams at apple.com
Mon Feb 8 07:23:41 CST 2016
on Mon Feb 08 2016, Thorsten Seitz <swift-evolution at swift.org> wrote:
> I agree that positioning the preposition depending on whether a
> default value is present is unfortunate, but I don't agree that it
> would complicate the rules significantly as it just adds a very simple
> special case for one rule.
Heh, but then people will really demand a special case for move(from: a,
to: b)
> Is the problem that it complicates API evolvement significant enough
> to outweigh the advantage of this rule?
That's one problem. I think we should also be concerned about rules
that create a feeling of non-uniformity and un-predictability across
code. For example, you don't want to see something like this:
removeAllBricks(having: .CrackleGlazeFinish)
removeAllBeamsHaving(.RottenWood)
> Closure arguments with default values won't profit from it if written
> as trailing closure, of course.
>
> No good idea how to remedy that (trailing argument label?? probably not).
I think that's a whole 'nother bag o' worms, and, yes, some language
syntax might be needed. IOW, the issue goes beyond mere guidelines.
> -Thorsten
>
> Am 08. Februar 2016 um 12:47 schrieb Matthew Judge via swift-evolution
> <swift-evolution at swift.org>:
>
> Agree that basing the preposition location on whether there is a default value is
> unfortunate. The problem is "Zone" is not redundant/needless when calling it with the
> default value.
>
> copyWith()
>
> If I were asking "what zone?" Ok it's the default zone, but I'm just asking "with what?"
>
> On Feb 7, 2016, at 10:48, Dave Abrahams via swift-evolution
> <swift-evolution at swift.org> wrote:
>
> on Sat Feb 06 2016, Douglas Gregor <swift-evolution at swift.org> wrote:
>
> On Feb 6, 2016, at 10:08 PM, Dave Abrahams via swift-evolution
> <swift-evolution at swift.org> wrote:
>
> on Sat Feb 06 2016, Thorsten Seitz
> <swift-evolution at swift.org> wrote:
>
> So the preposition should move into the argument label if the argument is
> optional?
>
> copy(withZone: zone = nil)
>
> That's a good idea.
>
> It seems unfortunate that the placement of the preposition should
>
> change depending on whether there is a default argument or not,
>
> especially since it is reasonable to imagine that an API evolves to
>
> gain a default argument later on.
>
> You're right; it would complicate the rules significantly, too.
>
> - Doug
>
> -Thorsten
>
> Am 06.02.2016 um 14:45 schrieb Matthew Judge via swift-evolution
>
> <swift-evolution at swift.org>:
>
> Very first method
>
> copyWith(zone: Zone = nil)
>
> can be called as
>
> copyWith()
>
> I'm assuming this is still something we don't want right?
>
> On Feb 6, 2016, at 02:16, Douglas Gregor via swift-evolution
>
> <swift-evolution at swift.org> wrote:
>
> On Feb 5, 2016, at 1:32 PM, Dave Abrahams via swift-evolution
>
> <swift-evolution at swift.org>
> wrote:
>
> Given all the awesome feedback I've gotten on this thread, I
> went back
>
> to the drawing board and came up with something new; I think
> this one
>
> works. The previously-stated goals still apply:
>
> [snip goals]
>
> P.S. Doug is presently working on generating new importer
> results, based
>
> on these guidelines, for your perusal. They should be ready
> soon.
>
> Here’s a link:
>
> https://github.com/apple/swift-3-api-guidelines-review/pull/10/files
>
> Feedback welcome!
>
> - Doug
>
> _______________________________________________
>
> swift-evolution mailing list
>
> swift-evolution at swift.org
>
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
>
> swift-evolution mailing list
>
> swift-evolution at swift.org
>
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
>
> swift-evolution mailing list
>
> swift-evolution at swift.org
>
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> --
>
> -Dave
>
> _______________________________________________
>
> swift-evolution mailing list
>
> swift-evolution at swift.org
>
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
>
> swift-evolution mailing list
>
> swift-evolution at swift.org
>
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> --
>
> -Dave
>
> _______________________________________________
>
> swift-evolution mailing list
>
> swift-evolution at swift.org
>
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
--
-Dave
More information about the swift-evolution
mailing list