# Difference between revisions of "Type signature"

From HaskellWiki

(short explanation) |
(more links) |
||

Line 3: | Line 3: | ||

inc :: Num a => a -> a |
inc :: Num a => a -> a |
||

</haskell> |
</haskell> |
||

− | that tells, what is the type of a variable. |
+ | that tells, what is the [[type]] of a [[variable]]. |

In the example <hask>inc</hask> is the variable and <hask>Num a => a -> a</hask> is its type, |
In the example <hask>inc</hask> is the variable and <hask>Num a => a -> a</hask> is its type, |
||

− | namely a function type. |
+ | namely a [[function]] type. |

It is considered [[Type signatures as good style|good style]] to add a type signature to every [[top-level variable]]. |
It is considered [[Type signatures as good style|good style]] to add a type signature to every [[top-level variable]]. |

## Revision as of 00:16, 30 December 2010

A **type signature** is a line like

```
inc :: Num a => a -> a
```

that tells, what is the type of a variable.
In the example `inc`

is the variable and `Num a => a -> a`

is its type,
namely a function type.

It is considered good style to add a type signature to every top-level variable.