Function application syntax in Elm does not use parenthesis or commas, and is instead whitespace-sensitive.
To define a function, specify its name
multiplyByTwo and arguments
x, any operations after equal sign
= is what returned from a function.
multiplyByTwo x = x * 2
To call a function, specify its name and arguments:
multiplyByTwo 2 -- 4
Note that syntax like
multiplyByTwo(2) is not necessary (even though the compiler doesn't complain). The parentheses only serve to resolve precedence:
> multiplyByTwo multiplyByTwo 2 -- error, thinks it's getting two arguments, but it only needs one > multiplyByTwo (multiplyByTwo 2) 4 : number > multiplyByTwo 2 + 2 6 : number -- same as (multiplyByTwo 2) + 2 > multiplyByTwo (2 + 2) 8 : number