One thing I'm really bothered by in C# and ES6 are no-argument methods:

() => { foo() }   // GROSS

The syntax of C# isn't so bad, though, when there's no return type:

foo.map((bar) => bar.boz)

but those double-parens bother me and my eyes a bit, so this definitely looks 
better:

foo.map { (bar) => bar.boz }

I think I'd even prefer that to:

foo.map { (bar) in bar.boz }


What if we just agreed to replace "in" with "=>"? Would that be an improvement 
in your eyes? I could stand behind that proposal.

(btw Chris & team — THANK YOU for the Ruby-style trailing closure syntax, it 
was such a treat to see it last summer!)

A.


> On Dec 23, 2015, at 8:33 AM, Alexander Regueiro <alex...@gmail.com> wrote:
> 
> This was my first proposal, and was changed my second, but this syntax is 
> inspired by C#, where a lambda expression is of one of the following forms:
> 
> (Type1 param1, …) => foo // single-statement expression
> (Type1 param1, …) => { …; return foo; } // multi-statement expression
> 
> Haskell also uses syntax closer to this than to Swift, not to mention ML/F#.
> 
>> On 23 Dec 2015, at 02:30, Andrey Tarantsov <and...@tarantsov.com> wrote:
>> 
>> So I believe the opinion of the core team and the community would be 
>> generally in opposition to the style you want. I understand your arguments, 
>> but somehow they are against the entire experience of me (and, presumably, 
>> others) as developers.
>> 
>> To continue our friendly banter, though, do you mind sharing your 
>> background? When I read this, I wasn't sure if you're serious or trolling:
>> 
>>> I would propose changing it from:
>>> 
>>> { (param_list) -> return_type in … }
>>> 
>>> to something cleaner like:
>>> 
>>> (param_list) -> return_type => { … }
>> 
>> I wonder if doing something like Haskel a lot makes you more used to that 
>> sort of arrow constructs?
>> 
>> This is written in good faith; I hope I used the right tone to indicate that.
>> 
>> A.
>> 
> 

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to