plutus-core-1.39.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 Source #

Arguments

∷ ∀ tyname name uni fun ann m. ExternalConstraints tyname name uni fun m 
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 Source #

Arguments

∷ ∀ uni fun ann m. (Typecheckable uni fun, GEq uni, Ord ann, ExternalConstraints TyName Name uni fun m) 
Bool

should we inline constants?

PirTCConfig uni fun 
InlineHints Name ann 
BuiltinsInfo uni fun 
Pass m TyName Name uni fun ann 

inlinePassSC Source #

Arguments

∷ ∀ uni fun ann m. (Typecheckable uni fun, GEq uni, Ord ann, ExternalConstraints TyName Name uni fun m) 
Bool

should we inline constants?

PirTCConfig uni fun 
InlineHints Name ann 
BuiltinsInfo uni fun 
Pass m TyName Name uni fun ann 

newtype InlineHints name a Source #

Constructors

InlineHints 

Fields

Instances

Instances details
Monoid (InlineHints name a) 
Instance details

Defined in PlutusCore.Annotation

Methods

memptyInlineHints name a Source #

mappendInlineHints name a → InlineHints name a → InlineHints name a Source #

mconcat ∷ [InlineHints name a] → InlineHints name a Source #

Semigroup (InlineHints name a) 
Instance details

Defined in PlutusCore.Annotation

Methods

(<>)InlineHints name a → InlineHints name a → InlineHints name a Source #

sconcatNonEmpty (InlineHints name a) → InlineHints name a Source #

stimesIntegral b ⇒ b → InlineHints name a → InlineHints name a Source #

Show (InlineHints name a) 
Instance details

Defined in PlutusCore.Annotation

Methods

showsPrecIntInlineHints name a → ShowS Source #

showInlineHints name a → String Source #

showList ∷ [InlineHints name a] → ShowS Source #