Richard
In GHC.Ptr we see

type role Ptr representational

data Ptr a = Ptr Addr# deriving (Eq, Ord)
with no comments.  Why is Ptr representational?
In the same module we have castPtr, which unpacks and repacks a Ptr.  If Ptr 
was phantom, we could use coerce.  And that in turn would actually make a lot 
of code more efficient - there are lots of calls to castPtr.
Simon

_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs

Reply via email to