Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
- 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)
-
newtype
InlineHints
name a =
InlineHints
{
- shouldInline :: a -> name -> Bool
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 #
InlineHints | |
|
Instances
Show ( InlineHints name a) Source # | |
Defined in PlutusCore.InlineUtils |
|
Semigroup ( InlineHints name a) Source # | |
Defined in PlutusCore.InlineUtils (<>) :: 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 # | |
Defined in PlutusCore.InlineUtils mempty :: InlineHints name a Source # mappend :: InlineHints name a -> InlineHints name a -> InlineHints name a Source # mconcat :: [ InlineHints name a] -> InlineHints name a Source # |