[swift-evolution] Changing the curried static methods

Erica Sadun erica at ericasadun.com
Mon Mar 14 10:30:08 CDT 2016

> On Mar 14, 2016, at 8:39 AM, Brandon Williams <mbw234 at gmail.com> wrote:
> Sorry for the confusion, I’m not looking for help to model something in particular. These are examples to show the difference between the current curried static convention and the one I think is more expressive.
> To iterate, right now CGRect.insetBy(rect)(insets) just reads incorrectly to me. Considering that Swift aims to be expressive through method names and argument labels, I would expect this to be CGRect.insetBy(insets)(rect).

Ah. I think I finally understand what you're getting at.

You'd like to be able to create a version of the call *with arguments* before applying the call to a receiver. Right?

But isn't currying in that form dead? Or is the Class.member(instance) currying going to persist into Swift 3?

-- E

More information about the swift-evolution mailing list