Release plans

Simon Peyton-Jones simonpj at microsoft.com
Tue Apr 17 08:57:34 EDT 2007


| Just to show what kind of problems we are currently facing. The
| following type checks in our EHC compiler and in Hugs, but not in the
| GHC:
|
| module Test where
|
| data T s = forall x. T (s -> (x -> s) -> (x, s, Int))
|
| run :: (forall s . T s) -> Int
| run ts  = case ts of
|              T g -> let (x,_, b) =  g x id
|                     in b

And indeed it should be rejected!

If you think it should be rejected, can you give me the translation into System F + data types?  I don't think there is one, and that's why GHC rejects it.

Simon



More information about the Glasgow-haskell-users mailing list