{-
Should result with: (hugs1.4 and hbc comply)
-------------------------------------------------------------------------------
(True,True,True)
-------------------------------------------------------------------------------
but nhc13 gives:
-------------------------------------------------------------------------------
(False, True, True)
-------------------------------------------------------------------------------
As of 20/11/97, now get core dumped...
-}
class Queue t where
emptyQ :: t Int
newtype StrictNull a = StrictNull ()
instance Queue StrictNull where
emptyQ = StrictNull ()
data Queue t => Test t = Test (t Int) Int
eg = newNode `seq` True
where newNode = Test (emptyQ::(StrictNull Int)) 0
data Test2 = Test2 Int Int
eg2 = newNode `seq` True
where newNode = Test2 0 0
eg3 = seq newNode $ True
where newNode = Test (emptyQ::(StrictNull Int)) 0
main = print (eg,eg2,eg3)