Function parameters and return values
FunctionName :: ParamType -> Return Type
FunctionName :: ParamType -> Param2Type -> Param3Type -> Return Type
Historical Note: This syntax is a variation on the common mathematical notation for indicating function types:
FunctionName :: ParamType x Param2Type x Param3Type -> Return Type
The form used by Haskell comes from a technique in combinatory logic called "currying": "the technique of translating the evaluation of a function that takes multiple arguments into evaluating a sequence of functions, each with a single argument." (Wikipedia article on Currying) Currying is named for a mathematician who was a contemporary of Alan Turing and Alonzo Church, named Haskell Curry. (Coincidence?)