If you're used to c-style function call syntax, then for a c-style function, e.g.
// defining the function
int plus(int a, int b)
{
return a + b;
}
// elsewhere, calling the function
plus(a, b); // brackets surrounding only the arguments, comma separated
Then the equivalent Haskell code will be
-- defining the function
plus :: Int -> Int -> Int
plus a b = a + b
-- elsewhere, calling the function:
(plus a b) -- brackets surrounding the function and the arguments, no commas
To use the example in your question,
f(comma, separated, args);
This would be equivalent to
(f comma separated args)
But these brackets aren't necessary except sometimes, when the function call is embedded in another expression.
In haskell, this is also equivalent to
((((f) comma) separated) args)
but these extra brackets are not necessary either, they just highlight the way Haskell treats function application (where each function technically only takes one argument); so this final case would be similar to the following c function call:
f(comma)(separated)(args);