Bartosz Milewski seems to like D more than C++ now :)

Max Samukha maxsamukha at gmail.com
Tue Sep 24 05:06:21 PDT 2013


On Tuesday, 24 September 2013 at 11:32:18 UTC, renoX wrote:
> On Tuesday, 24 September 2013 at 09:15:37 UTC, Timon Gehr wrote:
>> On 09/23/2013 02:08 PM, renoX wrote:
>>> On Friday, 20 September 2013 at 15:23:20 UTC, Paulo Pinto 
>>> wrote:
>>>> Am 20.09.2013 16:24, schrieb renoX:
>>>>> That said, he made the same mistake as Haskell's authors: 
>>>>> currying is a
>>>>> *mathematical detail* which shouldn't obscure function type:
>>>>> 'f: a->b->c' is less readable than 'f: a,b->c'.
>>>>>
>>>>> renoX
>>>>
>>>> That is standard in all languages of the ML family, not only 
>>>> Haskell.
>>>
>>> I know, but 'standard' doesn't mean that it is a good idea..
>>>
>>> renoX
>>
>> Neither does 'mathematical detail' mean it is obscure, 
>> unreadable or a mistake as you seem to imply.
>
> I'm not sure you understood my point: a 'normal' function takes 
> inputS and produce an output, in the notation: a,b->c you can 
> clearly see the inputS and the output with a minimum of 'syntax 
> noise' around them.
> In the notation a -> b -> c, the 'syntax noise' is bigger 
> (those arrows between the input parameters are much more 'heavy 
> on the eye' than a quote), and what does it bring?
> Nothing..
>
> It's the notation which makes the function type less readable 
> which I consider a mistake.
>
> renoX

A 'normal' function in Haskell takes exactly one object and 
returns exactly one object. a -> b -> c is actually a -> (b -> c) 
because -> is right-associative. It's perfectly readable for 
people in the Haskell subculture. You'll have hard time 
convincing them otherwise :)


More information about the Digitalmars-d mailing list