Name, PrimRep, FieldLabel (loop Type.Type)
then
- Var (loop Const.Con, loop IdInfo.IdInfo,
+ Var (loop CoreSyn.CoreExpr, loop IdInfo.IdInfo,
loop Type.GenType, loop Type.Kind)
then
VarEnv, VarSet, ThinAir
then
PrimOp (PprType, TysWiredIn)
then
- IdInfo (loop CoreSyn.CoreRules, loop CoreUnfold.Unfolding)
+ CoreSyn
then
- Const (PrimOp.PrimOp, TysWiredIn.stringTy)
+ IdInfo (CoreSyn.Unfolding, CoreSyn.CoreRules)
then
- Id (Const.Con(..)), CoreSyn
+ Id (lots from IdInfo)
then
CoreFVs, PprCore
then
- CoreUtils (PprCore.pprCoreExpr, CoreFVs.exprFreeVars)
+ CoreUtils (PprCore.pprCoreExpr, CoreFVs.exprFreeVars,
+ CoreSyn.isEvaldUnfolding CoreSyn.maybeUnfoldingTemplate)
then
- OccurAnal (ThinAir.noRepStrs -- an awkward dependency)
+ OccurAnal (CoreUtils.exprIsTrivial)
then
- CoreUnfold (loop OccurAnal.globalOccurAnalyse)
+ CoreUnfold (OccurAnal.occurAnalyseGlobalExpr)
then
Rules (Unfolding), Subst (Unfolding, CoreFVs), CoreTidy (noUnfolding)
then