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.