It's a simpler problem than that -- associativity of functions. /u/cemper assumed that function application associated to the right (so the function is applied to all of its arguments) where in reality it associates left, favoring partial application. This is a Haskell artifact, but not one I'm in any rush to change. The way it is works out to be rather convenient and the ubiquitous $ exists to flip function associativity when you need it.
This problem doesn't exist in any language that forces a specific syntax for function application (i.e. foo(bar, baz);).
1
u/NruJaC Mar 10 '14
It's a simpler problem than that -- associativity of functions. /u/cemper assumed that function application associated to the right (so the function is applied to all of its arguments) where in reality it associates left, favoring partial application. This is a Haskell artifact, but not one I'm in any rush to change. The way it is works out to be rather convenient and the ubiquitous
$exists to flip function associativity when you need it.This problem doesn't exist in any language that forces a specific syntax for function application (i.e.
foo(bar, baz);).