- GenCoreBinding(..), GenCoreExpr(..),
- GenCoreArg(..), GenCoreBinder(..), GenCoreCaseAlts(..),
- GenCoreCaseDefault(..), CoreNote(..),
-
- bindersOf, pairsFromCoreBinds, rhssOfBind,
-
- mkGenApp, mkValApp, mkTyApp,
- mkApp, mkCon, mkPrim,
- mkValLam, mkTyLam,
- mkLam,
- collectBinders, collectValBinders, collectTyBinders,
- isValBinder, notValBinder,
-
- collectArgs, initialTyArgs, initialValArgs, isValArg, notValArg, numValArgs,
-
- mkCoLetAny, mkCoLetNoUnboxed, mkCoLetUnboxedToCase,
- mkCoLetsAny, mkCoLetsNoUnboxed, mkCoLetsUnboxedToCase,
- mkCoLetrecAny, mkCoLetrecNoUnboxed,
-
- rhssOfAlts,
-
- -- Common type instantiation...
- CoreBinding,
- CoreExpr,
- CoreBinder,
- CoreArg,
- CoreCaseAlts,
- CoreCaseDefault,
-
- -- And not-so-common type instantiations...
- TaggedCoreBinding,
- TaggedCoreExpr,
- TaggedCoreBinder,
- TaggedCoreArg,
- TaggedCoreCaseAlts,
- TaggedCoreCaseDefault,
-
- SimplifiableCoreBinding,
- SimplifiableCoreExpr,
- SimplifiableCoreBinder,
- SimplifiableCoreArg,
- SimplifiableCoreCaseAlts,
- SimplifiableCoreCaseDefault
+ Expr(..), Alt, Bind(..), AltCon(..), Arg, Note(..),
+ CoreExpr, CoreAlt, CoreBind, CoreArg, CoreBndr,
+ TaggedExpr, TaggedAlt, TaggedBind, TaggedArg,
+
+ mkLets, mkLams,
+ mkApps, mkTyApps, mkValApps, mkVarApps,
+ mkLit, mkIntLitInt, mkIntLit,
+ mkConApp,
+ varToCoreExpr,
+
+ isTyVar, isId,
+ bindersOf, bindersOfBinds, rhssOfBind, rhssOfAlts,
+ collectBinders, collectTyBinders, collectValBinders, collectTyAndValBinders,
+ collectArgs, collectBindersIgnoringNotes,
+ coreExprCc,
+ flattenBinds,
+
+ isValArg, isTypeArg, valArgCount, valBndrCount, isRuntimeArg, isRuntimeVar,
+
+ -- Unfoldings
+ Unfolding(..), UnfoldingGuidance(..), -- Both abstract everywhere but in CoreUnfold.lhs
+ noUnfolding, mkOtherCon,
+ unfoldingTemplate, maybeUnfoldingTemplate, otherCons,
+ isValueUnfolding, isEvaldUnfolding, isCheapUnfolding, isCompulsoryUnfolding,
+ hasUnfolding, hasSomeUnfolding, neverUnfold,
+
+ -- Seq stuff
+ seqRules, seqExpr, seqExprs, seqUnfolding,
+
+ -- Annotated expressions
+ AnnExpr, AnnExpr'(..), AnnBind(..), AnnAlt,
+ deAnnotate, deAnnotate', deAnnAlt,
+
+ -- Core rules
+ CoreRules(..), -- Representation needed by friends
+ CoreRule(..), -- CoreSubst, CoreTidy, CoreFVs, PprCore only
+ IdCoreRule,
+ RuleName,
+ emptyCoreRules, isEmptyCoreRules, rulesRhsFreeVars, rulesRules,
+ isBuiltinRule, ruleName