[swift-evolution] [Review] SE-0084: Allow trailing commas in parameter lists and tuples

Rob Napier robnapier at gmail.com
Tue May 10 15:57:51 CDT 2016

On Tue, May 10, 2016 at 2:53 PM, Chris Lattner via swift-evolution <
swift-evolution at swift.org> wrote:

>         * What is your evaluation of the proposal?

Trailing commas is clearly very useful in the collections case. While that
case is more common than functions and tuples, I don't see any reason that
collections should be treated as a special case. Why should some
comma-separated lists allow trailing commas and some not?

This seems a reasonable move towards consistency and is useful in some
cases while not harmful in others. When in doubt, I'd rather broad rules
("trailing commas are allowed in comma-separated lists") rather than
special cases. This improves teachability.

It also improves diffs when functions pick up new parameters, particularly
ones with default values. This is particularly common (and expected) in
constructors. That's valuable.

>         * Is the problem being addressed significant enough to warrant a
> change to Swift?

As a language rule simplification, I believe it's worth a change if it
doesn't introduce problematic corner cases. The fact that it improves diffs
is no less valuable for functions than it is for collections.

>         * Does this proposal fit well with the feel and direction of Swift?

Yes; it definitely feels Swifty in the same way that it does for
collections. There's no reason for Swift to treat them differently.

>         * If you have used other languages or libraries with a similar
> feature, how do you feel that this proposal compares to those?

I've seen this in Perl, Python, and Go. Basically every language I've used
that allows trailing commas in collections also allows them in function
calls. In Go, the trailing comma is mandatory in some cases. This has been
nice for consistency.

>         * How much effort did you put into your review? A glance, a quick
> reading, or an in-depth study?

Quick reading.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160510/b7f6394e/attachment.html>

More information about the swift-evolution mailing list