{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface AnnCoreSyn where import BasicLit(BasicLit) import CoreSyn(CoreAtom, CoreExpr) import CostCentre(CostCentre) import Id(Id) import Outputable(NamedThing, Outputable) import PreludePS(_PackedString) import PreludeRatio(Ratio(..)) import PrimKind(PrimKind) import PrimOps(PrimOp) import TyCon(TyCon) import TyVar(TyVar) import UniType(UniType) data AnnCoreBinding a b c = AnnCoNonRec a (c, AnnCoreExpr' a b c) | AnnCoRec [(a, (c, AnnCoreExpr' a b c))] data AnnCoreCaseAlternatives a b c = AnnCoAlgAlts [(Id, [a], (c, AnnCoreExpr' a b c))] (AnnCoreCaseDefault a b c) | AnnCoPrimAlts [(BasicLit, (c, AnnCoreExpr' a b c))] (AnnCoreCaseDefault a b c) data AnnCoreCaseDefault a b c = AnnCoNoDefault | AnnCoBindDefault a (c, AnnCoreExpr' a b c) type AnnCoreExpr a b c = (c, AnnCoreExpr' a b c) data AnnCoreExpr' a b c = AnnCoVar b | AnnCoLit BasicLit | AnnCoCon Id [UniType] [CoreAtom b] | AnnCoPrim PrimOp [UniType] [CoreAtom b] | AnnCoLam [a] (c, AnnCoreExpr' a b c) | AnnCoTyLam TyVar (c, AnnCoreExpr' a b c) | AnnCoApp (c, AnnCoreExpr' a b c) (CoreAtom b) | AnnCoTyApp (c, AnnCoreExpr' a b c) UniType | AnnCoCase (c, AnnCoreExpr' a b c) (AnnCoreCaseAlternatives a b c) | AnnCoLet (AnnCoreBinding a b c) (c, AnnCoreExpr' a b c) | AnnCoSCC CostCentre (c, AnnCoreExpr' a b c) data BasicLit data CostCentre data Id data PrimOp data TyCon data TyVar data UniType deAnnotate :: (a, AnnCoreExpr' b c a) -> CoreExpr b c instance Eq BasicLit instance Eq PrimOp instance Eq TyCon instance Eq TyVar instance Eq UniType instance Ord BasicLit instance Ord TyCon instance Ord TyVar instance NamedThing TyCon instance NamedThing TyVar instance Outputable BasicLit instance Outputable PrimOp instance Outputable TyCon instance Outputable TyVar instance Outputable UniType