plutus-core-1.60.0.0: Language library for Plutus Core
Safe HaskellSafe-Inferred
LanguageHaskell2010

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}

Documentation

inline #

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]

inlinePass #

Arguments

:: forall uni fun ann m. (PlutusCore.Annotation

Methods

def :: InlineHints name a #