| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
PlutusIR.Transform.Inline.Inline
Description
An inlining pass of *non-recursive* bindings. It includes
(1) unconditional inlining: similar to PreInlineUnconditionally and PostInlineUnconditionally
in the paper 'Secrets of the GHC Inliner'.
(2) call site inlining of fully applied functions. See hs
Synopsis
- inline :: forall tyname name uni fun ann m. ExternalConstraints tyname name uni fun m => AstSize -> Inline
Documentation
Arguments
| :: forall tyname name uni fun ann m. ExternalConstraints tyname name uni fun m | |
| => AstSize | inline threshold |
| -> Bool | should we inline constants? |
| -> InlineHints name ann | |
| -> BuiltinsInfo uni fun | |
| -> Term tyname name uni fun ann | |
| -> m (Term tyname name uni fun ann) |
Inline non-recursive bindings. Relies on global uniqueness, and preserves it. See Note [Inlining and global uniqueness]
Arguments
| :: forall uni fun ann m. (PlutusCore.Annotation Methods def :: InlineHints name a # |