plutus-core-0.1.0.0: Language library for Plutus Core
Safe HaskellNone
LanguageHaskell2010

PlutusIR.Transform.Inline

Description

An inlining pass.

Note that there is (essentially) a copy of this in the UPLC inliner, and the two should be KEPT IN SYNC, so if you make changes here please either make them in the other one too or add to the comment that summarises the differences.

Synopsis

Documentation

inline :: forall tyname name uni fun a m. ExternalConstraints tyname name uni fun m => InlineHints name a -> Term tyname name uni fun a -> m (Term tyname name uni fun a) Source #

Inline simple bindings. Relies on global uniqueness, and preserves it. See Note [Inlining and global uniqueness]

newtype InlineHints name a Source #

Constructors

InlineHints 

Fields

Instances

Instances details
Show (InlineHints name a) Source # 
Instance details

Defined in PlutusCore.InlineUtils

Methods

showsPrec :: Int -> InlineHints name a -> ShowS Source #

show :: InlineHints name a -> String Source #

showList :: [InlineHints name a] -> ShowS Source #

Semigroup (InlineHints name a) Source # 
Instance details

Defined in PlutusCore.InlineUtils

Methods

(<>) :: InlineHints name a -> InlineHints name a -> InlineHints name a Source #

sconcat :: NonEmpty (InlineHints name a) -> InlineHints name a Source #

stimes :: Integral b => b -> InlineHints name a -> InlineHints name a Source #

Monoid (InlineHints name a) Source # 
Instance details

Defined in PlutusCore.InlineUtils

Methods

mempty :: InlineHints name a Source #

mappend :: InlineHints name a -> InlineHints name a -> InlineHints name a Source #

mconcat :: [InlineHints name a] -> InlineHints name a Source #