hermit-0.1.1.0: Haskell Equational Reasoning Model-to-Implementation Tunnel

Safe HaskellSafe-Infered

Language.HERMIT.Primitive.Inline

Synopsis

Documentation

configurableInlineSource

Arguments

:: Bool

Inline the scrutinee instead of the patten match (for case binders).

-> Bool

Only inline if this variable is a case binder.

-> RewriteH CoreExpr 

The implementation of inline, an important transformation. This *only* works on a Var of the given name. It can trivially be prompted to more general cases.

ensureDepth :: Int -> TranslateH Core BoolSource

Ensure all the free variables in an expression were bound above a given depth. Assumes minimum depth is 0.

inlineTargets :: TranslateH Core [String]Source

Get list of possible inline targets. Used by shell for completion.