2 ms·
Haskell doesn't use a comma to separate function arguments because it doesn't try to follow tradition, but rather tries to take a step back, and rethink what a
by runeks 10y ago
Haskell doesn't use a comma to separate function arguments because it doesn't try to follow tradition, but rather tries to take a step back, and rethink what a programming language is, using components that are as modular as possible. -> is not arbitrary notation, it's the symbol for a profunctor[1], and it has a very precise mathematical meaning. It's not made to be recognizable by programmers that are familiar with C notation, because that's a very high price to pay for the loss of generality offered.
If you had chosen to separate the arguments to a function using a comma, you would have to invent new syntax to describe linearity (because you have one less comma than number of arguments). Many languages constantly invent new syntax to describe useful add-ons, until their compilers are too complex to maintain at reasonable cost. Haskell avoids this by having carefully chosen which constructs to build the language out of, instead of going for recognizability/tradition.
[1] https://en.m.wikipedia.org/wiki/Profunctor https://en.m.wikipedia.org/wiki/Profunctor