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 :)