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

Safe HaskellNone

Language.HERMIT.Primitive.Inline

Contents

Synopsis

Inlining

externals :: [External]Source

Externals for inlining variables.

getUnfoldingSource

Arguments

:: Bool

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

-> Bool

Only succeed if this variable is a case binder.

-> Id 
-> HermitC 
-> HermitM (CoreExpr, Int) 

inline :: RewriteH CoreExprSource

Inline the current variable.

inlineName :: Name -> RewriteH CoreExprSource

If the current variable matches the given name, then inline it.

inlineScrutinee :: RewriteH CoreExprSource

Inline the current variable, using the scrutinee rather than the case alternative if it is a case wild-card binder.

inlineCaseBinder :: RewriteH CoreExprSource

If the current variable is a case wild-card binder, then inline it.

inlineTargets :: TranslateH Core [String]Source

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