What is the significance of the parenthesis in a function definition in Haskell with respect to the data type of parameters.
For example:
doStuff Name -> Age -> String
doStuff (NameConstr a) (AgeConstr b) = "Nom: " ++ a ++ ", age: " ++ b
with the following defined somewhere beforehand:
data Name = NameConstr String
data Age = AgeConstr Integer
Could the function parameters a and b be captured in a way that negates the need for parenthesis here?
FYI, I'm working through:
- http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/#type-construction
- http://learnyouahaskell.com/types-and-typeclasses ,
and I just can't seem grasp this finer detail yet.