- GenCoreBinding(..), GenCoreExpr(..),
- GenCoreArg(..), GenCoreBinder(..), GenCoreCaseAlts(..),
- GenCoreCaseDefault(..),
- Coercion(..),
-
- bindersOf, pairsFromCoreBinds, rhssOfBind,
-
- mkGenApp, mkValApp, mkTyApp, mkUseApp,
- mkApp, mkCon, mkPrim,
- mkValLam, mkTyLam, mkUseLam,
- mkLam,
- collectBinders, collectUsageAndTyBinders, collectValBinders,
- isValBinder, notValBinder,
-
- collectArgs, initialTyArgs, initialValArgs, isValArg, notValArg, numValArgs,
-
- mkCoLetAny, mkCoLetNoUnboxed, mkCoLetUnboxedToCase,
- mkCoLetsAny, mkCoLetsNoUnboxed, mkCoLetsUnboxedToCase,
- mkCoLetrecAny, mkCoLetrecNoUnboxed,
-
- rhssOfAlts,
-
- -- Common type instantiation...
- SYN_IE(CoreBinding),
- SYN_IE(CoreExpr),
- SYN_IE(CoreBinder),
- SYN_IE(CoreArg),
- SYN_IE(CoreCaseAlts),
- SYN_IE(CoreCaseDefault),
-
- -- And not-so-common type instantiations...
- SYN_IE(TaggedCoreBinding),
- SYN_IE(TaggedCoreExpr),
- SYN_IE(TaggedCoreBinder),
- SYN_IE(TaggedCoreArg),
- SYN_IE(TaggedCoreCaseAlts),
- SYN_IE(TaggedCoreCaseDefault),
-
- SYN_IE(SimplifiableCoreBinding),
- SYN_IE(SimplifiableCoreExpr),
- SYN_IE(SimplifiableCoreBinder),
- SYN_IE(SimplifiableCoreArg),
- SYN_IE(SimplifiableCoreCaseAlts),
- SYN_IE(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,
+
+ -- 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