On Tuesday, 24 September 2013 at 13:46:16 UTC, renoX wrote:
On Tuesday, 24 September 2013 at 13:04:10 UTC, deadalnix wrote:
On Tuesday, 24 September 2013 at 11:32:18 UTC, renoX wrote:
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.
You are putting artificial barrier here.
a -> b -> c is a function that take a as parameter and return
a function that take b as parameter and return c. The concept
of multiple parameters and stuff like that exists only in your
mind. You try to map a concept you have in your mind in the
language when it DO NOT exist in the language.
A language is not something set in stone! If the design of a
language requires unecessary visual noise, I dislike it, this
is not as bad as Lisp, but it is still suboptimal.
I think that -> is neither unnecessary nor noise. After having
played with Haskell for a while, I actually find the syntax of D
unnecessarily redundant.
This is not the only 'visual noise' in Haskell: for example
Idris replaced '::' by ':', a good change IMHO.
That is probably because ':' is the list append operator already.
renoX