Why do Haskell type signature declarations have multiple arrows?

Viewed 2268

Sorry this is worded poorly, but it's hard to describe.

I guess I'll just jump to the example:

add                     :: Integer -> Integer -> Integer
add x y                 =  x + y

why is it:

:: Integer -> Integer -> Integer

instead of:

:: Integer, Integer -> Integer

the arrow is the "Function type-mapping operator", not some kind of separator, no?

3 Answers
Related