Mon, 21 Jan 2002 02:19:01 -0800
At 2002-01-21 02:04, Koen Claessen wrote:
>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
That's it! Consider:
class C a where
emptyList :: [a]
instance C Int where
emptyList = 
instance C Char where
emptyList = "Hello"
Clearly emptyList has type "(C a) => [a]"...
So in the original example, (validActions actor) cannot be compared to
the empty list because its value may depend on the type of u. This would
not be possible if there were no (Action u) context.
Ashley Yakeley, Seattle WA