<interactive>:1:0:
No instance for (Num (t -> t))
arising from a use of `*' at <interactive>:1:0-8
Possible fix: add an instance declaration for (Num (t -> t))
In the expression: (+) 1 * 3 2
In the definition of `it': it = (+) 1 * 3 2
<interactive>:1:6:
No instance for (Num (t1 -> t -> t))
arising from the literal `3' at <interactive>:1:6-8
Possible fix: add an instance declaration for (Num (t1 -> t -> t))
In the second argument of `(*)', namely `3 2'
In the expression: (+) 1 * 3 2
In the definition of `it': it = (+) 1 * 3 2
Prelude>
Name:
Anonymous2012-01-08 2:51
Functions have higher precedence than operators.
Your first line means this:
((+) 1 2) * 3
Your second line means this:
((+) 1) * 3 2
which is naturally invalid