newtype and existentials

Ralf Hinze ralf at informatik.uni-bonn.de
Fri Nov 18 08:40:28 EST 2005


> yes.  a newtype declares a new type isomorphic to an existing type.  
>         newtype T = MkT S
> declares T to be isomorphic to S.
> 
> There is no existing Haskell type isomorphic to your Dynamic.

Following your reasoning, shouldn't GHC also reject

> newtype D = D (D -> D)

because there is no existing Haskell type isomorphic to D? And
certainly, System F doesn't have recursive types either.

Cheers, Ralf



More information about the Glasgow-haskell-bugs mailing list