Ambiguous types
Koen Claessen
koen@cs.chalmers.se
Mon, 21 Jan 2002 11:04:56 +0100 (MET)
| Of course not, show doesn't know how to show things of
| arbitrary type [a]. But null is supposed to work on
| _any_ list. And just from the type of emptyList,
| Haskell knows that it is a list of something.
But from the type you give the function `emptyList':
emptyList :: Ord a => [a]
we cannot derive that the type of the function `emptyList'
does not matter for its result. So, the type checker will
complain.
If you change the implementation of a function without
changing its type, the type checker should still accept the
program.
/Koen.