{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface FloatIn where import BasicLit(BasicLit) import CoreSyn(CoreAtom, CoreBinding, CoreCaseAlternatives, CoreExpr) import CostCentre(CostCentre) import Id(Id, IdDetails) import IdInfo(IdInfo) import PlainCore(PlainCoreExpr(..), PlainCoreProgram(..)) import PrimOps(PrimOp) import TyVar(TyVar) import UniType(UniType) import Unique(Unique) data CoreBinding a b {-# GHC_PRAGMA CoNonRec a (CoreExpr a b) | CoRec [(a, CoreExpr a b)] #-} data CoreExpr a b {-# GHC_PRAGMA CoVar b | CoLit BasicLit | CoCon Id [UniType] [CoreAtom b] | CoPrim PrimOp [UniType] [CoreAtom b] | CoLam [a] (CoreExpr a b) | CoTyLam TyVar (CoreExpr a b) | CoApp (CoreExpr a b) (CoreAtom b) | CoTyApp (CoreExpr a b) UniType | CoCase (CoreExpr a b) (CoreCaseAlternatives a b) | CoLet (CoreBinding a b) (CoreExpr a b) | CoSCC CostCentre (CoreExpr a b) #-} data Id {-# GHC_PRAGMA Id Unique UniType IdInfo IdDetails #-} type PlainCoreExpr = CoreExpr Id Id type PlainCoreProgram = [CoreBinding Id Id] floatInwards :: [CoreBinding Id Id] -> [CoreBinding Id Id] {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}