Type signatures as good style
(mention rank n types)
(→Answer: link to type signature)
|(One intermediate revision by one user not shown)|
Latest revision as of 00:12, 30 December 2010
 1 Question
Since Haskell type checkers can automatically derive types of expressions why shall I put explicit type signatures in my programs?
 2 Answer
Using explicit type signatures is good style and GHC with option
-Wall warns about missing signatures.
Signatures are a good documentation and not all Haskell program readers have a type inference algorithm built-in.
There are also some cases where the infered signature is too general for your purposes.
emptyString :: ShowS emptyString = id
Even more, for some type extensions the automatic inference fails,e.g. the higher-order types used by
runST :: (forall s . ST s a) -> a
cannot be inferred in general, because the problem is undecidable. In GHC, they are enabled with the language pragma
 3 How to add a bunch of signatures?
Ok, this convinced me. How can I add all the signatures I did not write so far?