Safe Haskell | None |
---|
- plugin :: Plugin
- optSimp :: RewriteH Core
- optFloat :: RewriteH Core
- optMemo :: RewriteH Core
- optSYB :: RewriteH Core
- exts :: [External]
- letSubstTrivialR :: RewriteH CoreExpr
- letrecSubstTrivialR :: RewriteH CoreExpr
- findTrivial :: t2 -> [(t1, Expr t)] -> [(t1, Expr t)] -> Maybe (t1, Expr t, [(t1, Expr t)], t2)
- letSubstType :: Name -> RewriteH CoreExpr
- inType :: Name -> Type -> Bool
- eqWordElim :: RewriteH CoreExpr
- varInfo2 :: Name -> TranslateH Core String
- varInfo :: RewriteH CoreExpr
- evalFingerprintFingerprints :: RewriteH CoreExpr
- isMemoizedLet :: TranslateH Core ()
- inlineType :: Name -> RewriteH CoreExpr
- smarttdR :: RewriteH Core -> RewriteH Core
- eliminatesType :: Name -> TranslateH CoreExpr ()
- inTypeT :: Name -> TranslateH CoreExpr ()
- force :: RewriteH CoreExpr
- forcePrims :: [Name] -> RewriteH CoreExpr
- forceDeep :: Bool -> [Name] -> RewriteH CoreExpr
- isPrimCall' :: [Name] -> TranslateH CoreExpr ()
- isPrimCall :: [Name] -> CoreExpr -> Bool
- memoize :: RewriteH CoreExpr
- memoFloatApp :: RewriteH CoreExpr
- memoFloatArg :: RewriteH CoreExpr
- memoFloatMemoLet :: RewriteH CoreExpr
- memoFloatLet :: RewriteH CoreExpr
- memoFloatMemoBind :: RewriteH CoreExpr
- memoFloatRecBind :: RewriteH CoreExpr
- memoFloatBind :: RewriteH CoreExpr
- filterBinds' :: [Id] -> [(Id, CoreExpr)] -> ([(Id, CoreExpr)], [(Id, CoreExpr)])
- filterBinds :: [Id] -> [(Id, a)] -> [([Id], (Id, a))] -> ([(Id, a)], [(Id, a)])
- memoFloatLam :: RewriteH CoreExpr
- memoFloatCase :: RewriteH CoreExpr
- memoFloatCast :: RewriteH CoreExpr
- memoFloatAlt :: RewriteH CoreExpr
Documentation
findTrivial :: t2 -> [(t1, Expr t)] -> [(t1, Expr t)] -> Maybe (t1, Expr t, [(t1, Expr t)], t2)Source
inlineType :: Name -> RewriteH CoreExprSource
smarttdR :: RewriteH Core -> RewriteH CoreSource
Apply a Rewrite
in a bottom-up manner, succeeding if they all succeed.
eliminatesType :: Name -> TranslateH CoreExpr ()Source
inTypeT :: Name -> TranslateH CoreExpr ()Source
forcePrims :: [Name] -> RewriteH CoreExprSource
isPrimCall' :: [Name] -> TranslateH CoreExpr ()Source
isPrimCall :: [Name] -> CoreExpr -> BoolSource
memoFloatAlt :: RewriteH CoreExprSource
case (let bnds in e) of wild alts ==> let bnds in (case e of wild alts)
Fails if any variables bound in bnds
occurs in alts
.