[swift-evolution] [swift-evolution-announce] [Review] SE-0110: Distinguish between single-tuple and multiple-argument function types

Paul Cantrell cantrell at pobox.com
Thu Jun 30 18:00:28 CDT 2016

> 	* What is your evaluation of the proposal?

+1 Yes please.

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

Tuple ↔︎ arg conversion magic as it stands in the language is currently more confusing than useful. I’m in favor of all efforts to remove such magic, and hoping for future features that are both more explicit and more robust.

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

Yes. The tuple/arg distinction grows ever stronger.

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

Many languages do just fine forcing individual access to arguments (i.e. no args tuples at all).

It is useful to be able to forward args en masse or call arbitrary functions with a single tuple, but Swift’s current functionality doesn’t really do this very well in practice. If we wanted either the higher-order meta-ness of functional languages or the fungibility of Javascript’s arguments var, Swift’s current behavior is not the starting point I’d choose for that.

We aren’t losing much with this proposal, either in current capability or room for future expansion.

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

Only a quick skim.


More information about the swift-evolution mailing list