Name, PrimRep, FieldLabel (loop Type.Type)
then
- Var (loop Const.Con, loop IdInfo.IdInfo,
+ PrelNames
+then
+ Var (Name, loop CoreSyn.CoreExpr, loop IdInfo.IdInfo,
loop Type.GenType, loop Type.Kind)
then
VarEnv, VarSet, ThinAir
then
- Class (loop TyCon.TyCon, loop Type.Type, loop InstEnv.InstEnv)
+ Class (loop TyCon.TyCon, loop Type.Type)
then
- TyCon (loop Type.Type, loop Type.Kind, loop DataCon.DataCon)
+ TyCon (loop Type.Type, loop Type.Kind, loop DataCon.DataCon, loop Generics.GenInfo)
then
Type (loop DataCon.DataCon, loop Subst.substTy)
then
- DataCon, TysPrim, Unify, PprType
+ TysPrim (Type), PprEnv (loop DataCon.DataCon, Type)
+then
+ Unify, PprType (PprEnv)
+then
+ Literal (TysPrim, PprType), DataCon
then
- InstEnv (Unify)
+ TysWiredIn (DataCon.mkDataCon, loop MkId.mkDataConId, loop Generics.mkGenInfo)
then
- IdInfo (loop CoreRules.CoreRules)
- TysWiredIn (DataCon.mkDataCon, loop MkId.mkDataConId)
+ PrimOp (PprType, TysWiredIn)
then
- PrimOp (PprType, TysWiredIn, IdInfo.StrictnessInfo)
+ CoreSyn
then
- Const (PrimOp.PrimOp, TysWiredIn.stringTy)
+ IdInfo (CoreSyn.Unfolding, CoreSyn.CoreRules)
then
- Id (Const.Con(..)), CoreSyn
+ Id (lots from IdInfo)
then
- CoreUtils (loop PprCore.pprCoreExpr), CoreFVs
+ CoreFVs, PprCore
+then
+ 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)
+ Rules (Unfolding), Subst (Unfolding, CoreFVs), CoreTidy (noUnfolding), Generics (mkTopUnfolding)
then
MkId (CoreUnfold.mkUnfolding, Subst)
-
+then
+ PrelInfo (MkId)