I had an idea for how we might be able to unpack coercions in a limited and
conservative way that doesn't get into the general problems of unpacking
constraints. Would this make sense?

1. Move the definition of Coercion from Data.Type.Coercion to GHC.Magic

2. Magically change the type of the Coercion constructor from

  Coercion :: Coercible a b => Coercion a b

to

  Coercion :: a ~R# b => Coercion a b

Now a strict Coercion field will unpack to nothing.
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to