Marking the *start* of a closure is more difficult than marking the end of the parameter the list. The end of the parameter list and start of the body of a closure (lambda expression) can be easily delineated by `{` in my scheme.
> On 23 Dec 2015, at 21:15, Brent Royal-Gordon <br...@architechies.com> wrote: > >> This is very similar to my proposal. We were later suggesting the use of >> `=>` in place of `in`, but formerly I suggested essentially what you did >> here, but with `func` or `\` in place of `>=` to signify the start of a >> closure expression. > > It seems, though, that you thought *all* closures should be marked with this > character, even parameterless ones. Whereas I propose that: > >>> A no-parameters closure would not require a `=>`; a bare block would still >>> do there. > > Perhaps it's a difference in perspective—I've spent nearly my entire career > using languages where closures were common—but I really don't think closures > need a big, obvious syntactic marker. All we need is a good way to mark the > ambiguous end of the parameter list (the front end if it's outside the > closure, the back end if it's inside). > > Closures are not conceptually a terribly difficult feature—they're just > omitted from many languages because they're difficult to *implement*. We have > to be careful not to make their syntax heavier than it needs to be. > > -- > Brent Royal-Gordon > Architechies > _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution