X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FcoreSyn%2FMkExternalCore.lhs;h=e7d79e616270742fb5cec8881557b1defd3bf39a;hp=21b389dc19225381fb66aadfa5804f516c8af0be;hb=71cad0e1783707f325973a537b3b0a74300bd866;hpb=9f8e195e69e54c733eb93b2e2e39c2ebe818ce62 diff --git a/compiler/coreSyn/MkExternalCore.lhs b/compiler/coreSyn/MkExternalCore.lhs index 21b389d..e7d79e6 100644 --- a/compiler/coreSyn/MkExternalCore.lhs +++ b/compiler/coreSyn/MkExternalCore.lhs @@ -115,7 +115,8 @@ make_exp (App e (Type t)) = C.Appt (make_exp e) (make_ty t) make_exp (App e1 e2) = C.App (make_exp e1) (make_exp e2) make_exp (Lam v e) | isTyVar v = C.Lam (C.Tb (make_tbind v)) (make_exp e) make_exp (Lam v e) | otherwise = C.Lam (C.Vb (make_vbind v)) (make_exp e) -make_exp (Let b e) = C.Let (make_vdef b) (make_exp e) +make_exp (Cast e co) = C.Cast (make_exp e) (make_ty co) +make_exp (Let b e) = C.Let (make_vdef emptyNameSet b) (make_exp e) -- gaw 2004 make_exp (Case e v ty alts) = C.Case (make_exp e) (make_vbind v) (make_ty ty) (map make_alt alts) make_exp (Note (SCC cc) e) = C.Note "SCC" (make_exp e) -- temporary @@ -174,11 +175,11 @@ 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 (FunTy k1 k2) = C.Karrow (make_kind k1) (make_kind k2) make_kind k | isLiftedTypeKind k = C.Klifted | isUnliftedTypeKind k = C.Kunlifted --- | isUnboxedTypeKind k = C.Kunboxed Fix me | isOpenTypeKind k = C.Kopen make_kind _ = error "MkExternalCore died: make_kind"