#include "HsVersions.h"
module AnnCoreSyn (
- AnnCoreBinding(..), AnnCoreExpr(..),
+ AnnCoreBinding(..), SYN_IE(AnnCoreExpr),
AnnCoreExpr'(..), -- v sad that this must be exported
AnnCoreCaseAlts(..), AnnCoreCaseDefault(..),
deAnnotate -- we may eventually export some of the other deAnners
) where
-import Ubiq{-uitous-}
+IMP_Ubiq(){-uitous-}
import CoreSyn
\end{code}
| AnnSCC CostCentre
(AnnCoreExpr val_bdr val_occ tyvar uvar annot)
+
+ | AnnCoerce Coercion
+ (GenType tyvar uvar)
+ (AnnCoreExpr val_bdr val_occ tyvar uvar annot)
\end{code}
\begin{code}
deAnnotate (_, AnnLam binder body)= Lam binder (deAnnotate body)
deAnnotate (_, AnnApp fun arg) = App (deAnnotate fun) arg
deAnnotate (_, AnnSCC lbl body) = SCC lbl (deAnnotate body)
+deAnnotate (_, AnnCoerce c ty body) = Coerce c ty (deAnnotate body)
deAnnotate (_, AnnLet bind body)
= Let (deAnnBind bind) (deAnnotate body)