X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcoreSyn%2FMkExternalCore.lhs;h=a0bccda29e19b21bc3c61a73aa0003894de88da9;hb=f8c52d7fde2d7408b4f734251c373f8d3e2c558e;hp=150ae16b1864b3971851f71f2aad20f92f76af72;hpb=e513c1cc1de895fed5796d16cb67525f4b581b2a;p=ghc-hetmet.git diff --git a/compiler/coreSyn/MkExternalCore.lhs b/compiler/coreSyn/MkExternalCore.lhs index 150ae16..a0bccda 100644 --- a/compiler/coreSyn/MkExternalCore.lhs +++ b/compiler/coreSyn/MkExternalCore.lhs @@ -2,6 +2,12 @@ % (c) The University of Glasgow 2001-2006 % \begin{code} +{-# OPTIONS -w #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details module MkExternalCore ( emitExternalCore @@ -10,16 +16,15 @@ module MkExternalCore ( #include "HsVersions.h" import qualified ExternalCore as C -import Char import Module import CoreSyn import HscTypes import TyCon import TypeRep import Type -import PprExternalCore -- Instances +import PprExternalCore () -- Instances import DataCon -import CoreSyn +import Coercion import Var import IdInfo import Literal @@ -179,7 +184,8 @@ make_ty (NoteTy _ t) = make_ty t make_kind :: Kind -> C.Kind -make_kind (PredTy p) | isEqPred p = panic "coercion kinds in external core not implemented!" +make_kind (PredTy p) | isEqPred p = C.Keq (make_ty t1) (make_ty t2) + where (t1, t2) = getEqPredTys p make_kind (FunTy k1 k2) = C.Karrow (make_kind k1) (make_kind k2) make_kind k | isLiftedTypeKind k = C.Klifted