X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=utils%2Fext-core%2FCore.hs;h=0fb48b81d4f3200a83cf3fa72e2ce45a28be3b1a;hp=66270cd36ca43b0ce3ff319966c90a23f2e2d056;hb=e4417dcd4679da9c6b18c02ff667199c572bed89;hpb=9f565a397c17568f725b25720a817326744777f0 diff --git a/utils/ext-core/Core.hs b/utils/ext-core/Core.hs index 66270cd..0fb48b8 100644 --- a/utils/ext-core/Core.hs +++ b/utils/ext-core/Core.hs @@ -9,14 +9,15 @@ data Module data Tdef = Data (Qual Tcon) [Tbind] [Cdef] - | Newtype (Qual Tcon) [Tbind] Axiom (Maybe Ty) + -- type constructor; coercion name; type arguments; type rep + -- If we have: (Newtype tc co tbs (Just t)) + -- there is an implicit axiom: + -- co tbs :: tc tbs :=: t + | Newtype (Qual Tcon) (Qual Tcon) [Tbind] (Maybe Ty) data Cdef = Constr (Qual Dcon) [Tbind] [Ty] --- Newtype coercion -type Axiom = (Qual Tcon, [Tbind], (Ty,Ty)) - data Vdefg = Rec [Vdef] | Nonrec Vdef