On Fri, 16 Nov 2007, jeff p wrote:
> A function is an expression whose type is an arrow; e.g. Int -> Int.
> The type of taxRate is (Fractional t) => t.
I had this misunderstanding too, when starting with Haskell. In other
languages there are functions with zero, one or more arguments. In
contrast to that, Haskell functions have exactly one argument and one
result, which I find is a nice thing. In other languages this is
asymmetric, you can have multiple arguments but only one result. It is not
possible to pass a struct to a function that expects multiple arguments.
However, due to heavy usage of Schoenfinkel form in Haskell's standard
functions the situation is similar in Haskell.