Safe Haskell | None |
---|
- externals :: [External]
- isVar :: (ExtendPath c Crumb, AddBindings c, MonadCatch m) => Name -> Translate c m CoreExpr ()
- simplifyR :: (ExtendPath c Crumb, AddBindings c, ReadBindings c) => Rewrite c HermitM Core
- collectLets :: CoreExpr -> ([(Var, CoreExpr)], CoreExpr)
- letTupleR :: Name -> Rewrite c HermitM CoreExpr
- staticArg :: forall c. (ExtendPath c Crumb, AddBindings c) => Rewrite c HermitM CoreDef
- testQuery :: MonadCatch m => Rewrite c m Core -> Translate c m Core String
- push :: (ExtendPath c Crumb, AddBindings c, ReadBindings c) => Name -> Rewrite c HermitM CoreExpr
- parseCoreExprT :: CoreString -> TranslateH a CoreExpr
- unsafeReplace :: CoreString -> RewriteH CoreExpr
- unsafeReplaceStash :: String -> RewriteH CoreExpr
- inlineAll :: (ExtendPath c Crumb, AddBindings c, ReadBindings c) => [Name] -> Rewrite c HermitM Core
Documentation
isVar :: (ExtendPath c Crumb, AddBindings c, MonadCatch m) => Name -> Translate c m CoreExpr ()Source
simplifyR :: (ExtendPath c Crumb, AddBindings c, ReadBindings c) => Rewrite c HermitM CoreSource
letTupleR :: Name -> Rewrite c HermitM CoreExprSource
Combine nested non-recursive lets into case of a tuple.
staticArg :: forall c. (ExtendPath c Crumb, AddBindings c) => Rewrite c HermitM CoreDefSource
push :: (ExtendPath c Crumb, AddBindings c, ReadBindings c) => Name -> Rewrite c HermitM CoreExprSource
Push a function through a Case or Let expression. Unsafe if the function is not strict.
inlineAll :: (ExtendPath c Crumb, AddBindings c, ReadBindings c) => [Name] -> Rewrite c HermitM CoreSource