newtype and existentials

Ross Paterson ross at soi.city.ac.uk
Fri Nov 18 08:43:46 EST 2005


On Fri, Nov 18, 2005 at 01:31:46PM -0000, Simon Peyton-Jones wrote:
> 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.
> 
> In concrete terms, the newtype constructor is discarded before we get to
> System F; but we can't do that with an existential.

The first argument, but not the second, also applies to

	newtype T = MkT (forall a. S)




More information about the Glasgow-haskell-bugs mailing list