[project @ 1996-02-06 14:32:22 by dnt]
[ghc-hetmet.git] / ghc / compiler / simplCore / SimplUtils.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface SimplUtils where
3 import BinderInfo(BinderInfo)
4 import CoreSyn(CoreCaseAlternatives, CoreExpr)
5 import Id(Id)
6 import SimplEnv(SimplEnv)
7 import SimplMonad(SimplCount)
8 import SplitUniq(SplitUniqSupply)
9 import TyVar(TyVar)
10 import UniType(UniType)
11 etaExpandCount :: CoreExpr a Id -> Int
12 floatExposesHNF :: Bool -> Bool -> Bool -> CoreExpr a Id -> Bool
13 mkCoLamTryingEta :: [Id] -> CoreExpr Id Id -> CoreExpr Id Id
14 mkCoTyLamTryingEta :: [TyVar] -> CoreExpr Id Id -> CoreExpr Id Id
15 mkIdentityAlts :: UniType -> SplitUniqSupply -> SimplCount -> (CoreCaseAlternatives (Id, BinderInfo) Id, SimplCount)
16 simplIdWantsToBeINLINEd :: Id -> SimplEnv -> Bool
17 type_ok_for_let_to_case :: UniType -> Bool
18