High Quality Content by WIKIPEDIA articles! In computer science, a type signature defines the inputs and outputs for a function, subroutine or method. A type signature includes at least the function name and the number of its arguments. In some programming languages, it may also specify the function's return type, the types of its arguments, or errors it may pass back.Notice that the type of the result can ...Full description
High Quality Content by WIKIPEDIA articles! In computer science, a type signature defines the inputs and outputs for a function, subroutine or method. A type signature includes at least the function name and the number of its arguments. In some programming languages, it may also specify the function's return type, the types of its arguments, or errors it may pass back.Notice that the type of the result can be regarded as everything past the first supplied argument. This is a consequence of currying, which is made possible by Haskell's support for first-class functions. That is, given a function that takes in two inputs, but had one argument supplied, the function is "curried" to produce a function of one argument-the one that is not supplied. Thus calling f(x), where f :: a -> b -> c, yields a new function f' :: b -> c which can be called f'(b) to produce c.