- GenCoreBinding(..), GenCoreExpr(..),
- GenCoreArg(..), GenCoreBinder(..), GenCoreCaseAlts(..),
- GenCoreCaseDefault(..),
- Coercion(..),
-
- bindersOf, pairsFromCoreBinds, rhssOfBind,
-
- mkGenApp, mkValApp, mkTyApp, mkUseApp,
- mkApp, mkCon, mkPrim,
- mkValLam, mkTyLam, mkUseLam,
- mkLam,
- collectBinders, isValBinder, notValBinder,
-
- collectArgs, 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, TaggedBndr(..),
+
+ mkLets, mkLams,
+ mkApps, mkTyApps, mkValApps, mkVarApps,
+ mkLit, mkIntLitInt, mkIntLit,
+ mkConApp,
+ varToCoreExpr,
+
+ isTyVar, isId, cmpAltCon, cmpAlt, ltAlt,
+ bindersOf, bindersOfBinds, rhssOfBind, rhssOfAlts,
+ collectBinders, collectTyBinders, collectValBinders, collectTyAndValBinders,
+ collectArgs,
+ coreExprCc,
+ flattenBinds,
+
+ isValArg, isTypeArg, valArgCount, valBndrCount, isRuntimeArg, isRuntimeVar,
+
+ -- Unfoldings
+ Unfolding(..), UnfoldingGuidance(..), -- Both abstract everywhere but in CoreUnfold.lhs
+ noUnfolding, evaldUnfolding, mkOtherCon,
+ unfoldingTemplate, maybeUnfoldingTemplate, otherCons,
+ isValueUnfolding, isEvaldUnfolding, isCheapUnfolding, isCompulsoryUnfolding,
+ hasUnfolding, hasSomeUnfolding, neverUnfold,
+
+ -- Seq stuff
+ seqExpr, seqExprs, seqUnfolding,
+
+ -- Annotated expressions
+ AnnExpr, AnnExpr'(..), AnnBind(..), AnnAlt,
+ deAnnotate, deAnnotate', deAnnAlt, collectAnnBndrs,
+
+ -- Core rules
+ CoreRule(..), -- CoreSubst, CoreTidy, CoreFVs, PprCore only
+ RuleName, seqRules,
+ isBuiltinRule, ruleName, isLocalRule, ruleIdName