Now, now, that's no way to talk about a century's worth of computing research.

Since you have yet to respond to my original point, I'll expound:

I see Swift's choice of "in" in context of other programming languages that 
admit anonymous inner scopes with little fuss.  Those tend to come from the 
ML-family, which uses

// args in scope
let e = expr in body

Here, what is lacking is visibility of scope, but what is gained is 
composability.  Swift takes this a step further with

let e = { args in body }(expr)

Thus, coming from the C-side of things, you get nearly the same benefits as the 
former, but with the feel of a C-like language.  To change `in` or permute the 
ordering of binder, body, or delimiter detracts from Swift's position in either 
of these.

All the best,

~Robert Widmann

2015/12/27 18:07、Alexander Regueiro <[email protected]> のメッセージ:

> The lambda calculus is a mathematical tool. It’s not designed for 
> readability. Your point is invalid.
> 
>> On 27 Dec 2015, at 23:03, Developer <[email protected]> wrote:
>> 
>> With a proper λ, that's the point.  The lambda calculus doesn't focus on the 
>> delimiter between the binder and the body because it isn't the important 
>> part of an abstraction, the rest is.  I would argue a programming language 
>> shouldn't either.  What is to be gained by having more syntax around a 
>> construct all about anonymity?
>> 
>> ~Robert Widmann
>> 
>> 2015/12/27 17:56、Alexander Regueiro <[email protected]> のメッセージ:
>> 
>>> It’s been agreed by almost everyone that “in” is at the very least a poor 
>>> delimiter. It’s barely noticeable.
>>> 
>>>> On 27 Dec 2015, at 22:54, Developer <[email protected]> wrote:
>>>> 
>>>> Hell, we have Unicode support, why not λ (U+03BB)?  Seriously though, for 
>>>> a C-like language I have to agree that Swift's approach is one of the 
>>>> best.  I can't think of a way of improving it that wouldn't immediately 
>>>> clash with the style and syntax of the language.  Sure you could change a 
>>>> few keywords here and there, but fundamentally 
>>>> 
>>>> { args in body } 
>>>> 
>>>> Strikes a balance between C-like basic blocks and Objective-C-like blocks. 
>>>>  When you start making more of this implicit or shifting it around, you 
>>>> have to necessarily start caring about things like whitespace and implicit 
>>>> scoping (I notice in the example you give, it is immediately less clear 
>>>> which identifiers are bound into what block). Things I don't think Swift 
>>>> wants you to care about, or makes explicit where you should.  Losing a few 
>>>> characters here and there doesn't seem worth it to lose an equal amount of 
>>>> declarative-ness.
>>>> 
>>>> ~Robert Widmann
>>>> 
>>>> 2015/12/27 17:24、Brent Royal-Gordon via swift-evolution 
>>>> <[email protected]> のメッセージ:
>>>> 
>>>>>> In this mail I’m answering several statements made in this thread by 
>>>>>> different people, not only Brent’s mail from which I just picked the 
>>>>>> following snippet:
>>>>>> 
>>>>>>> let names = people.map => person { person.name }
>>>>>> 
>>>>>> For me that is more difficult to read than
>>>>>> 
>>>>>> let names = people.map { person in person.name }
>>>>>> 
>>>>>> Especially when chaining is used, i.e.
>>>>>> 
>>>>>> let names = people.filter => person { person.isFriend }.map => person { 
>>>>>> person.name }
>>>>>> 
>>>>>> (or would I have to add parentheses somewhere with this proposed syntax?)
>>>>>> 
>>>>>> vs.
>>>>>> 
>>>>>> let names = people.filter { person in person.isFriend }.map { person in 
>>>>>> person.name }
>>>>> 
>>>>> I said in the email that => is too visually heavy for this role.
>>>>> 
>>>>> Here's something lighter, although I'm still not satisfied with it, and 
>>>>> not seriously suggesting it:
>>>>> 
>>>>> let names = people.map ~ person { person.name }
>>>>> 
>>>>> Or even:
>>>>> 
>>>>> let names = people.map \person { person.name }
>>>>> 
>>>>> However, I'm really struggling to find anything that I actually like 
>>>>> here. This may be one of those cases where we dislike what's there and 
>>>>> explore a bunch of options, only to find out that the current thing 
>>>>> actually is the least bad alternative after all.
>>>>> 
>>>>> -- 
>>>>> Brent Royal-Gordon
>>>>> Architechies
>>>>> 
>>>>> _______________________________________________
>>>>> swift-evolution mailing list
>>>>> [email protected]
>>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to