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

PlutusIR.Transform.StrictifyBindings

Description

Pass to convert the following non-strict bindings into strict bindings, which have less overhead:

  • non-strict bindings whose RHSs are pure
  • non-strict bindings that are strict in the body

Documentation

strictifyBindings ∷ (ToBuiltinMeaning uni fun, HasUnique name TermUnique, HasUnique tyname TypeUnique, Eq name) ⇒ BuiltinsInfo uni fun → Term tyname name uni fun a → Term tyname name uni fun a Source #

strictifyBindingsPass ∷ ∀ m uni fun a. (Typecheckable uni fun, GEq uni, Applicative m) ⇒ PirTCConfig uni fun → BuiltinsInfo uni fun → Pass m TyName Name uni fun a Source #