1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface Core2Def where
3 import BinderInfo(BinderInfo)
4 import CmdLineOpts(GlobalSwitch, SwitchResult)
5 import CoreSyn(CoreBinding, CoreExpr)
6 import DefSyn(DefBindee, DefProgram(..))
7 import Id(Id, IdDetails)
9 import PlainCore(PlainCoreProgram(..))
10 import UniType(UniType)
13 data CoreBinding a b {-# GHC_PRAGMA CoNonRec a (CoreExpr a b) | CoRec [(a, CoreExpr a b)] #-}
14 data DefBindee {-# GHC_PRAGMA DefArgExpr (CoreExpr Id DefBindee) | DefArgVar Id | Label (CoreExpr Id DefBindee) (CoreExpr Id DefBindee) #-}
15 type DefProgram = [CoreBinding Id DefBindee]
16 data Id {-# GHC_PRAGMA Id Unique UniType IdInfo IdDetails #-}
17 type PlainCoreProgram = [CoreBinding Id Id]
18 c2d :: UniqFM (CoreExpr Id DefBindee) -> CoreExpr (Id, BinderInfo) Id -> CoreExpr Id DefBindee
19 {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
20 core2def :: (GlobalSwitch -> SwitchResult) -> [CoreBinding Id Id] -> [CoreBinding Id DefBindee]
21 {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SL" _N_ _N_ #-}