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

PlutusIR.Transform.EvaluateBuiltins

Description

A pass that tries to evaluate builtin applications in the program.

This functions as a generic constant-folding pass, but which handles arbitrary builtins.

Documentation

evaluateBuiltins Source #

Arguments

∷ ∀ tyname name uni fun a. (ToBuiltinMeaning uni fun, Typeable tyname, Typeable name) 
⇒ Bool

Whether to be conservative and try to retain logging behaviour.

→ BuiltinsInfo uni fun 
→ CostingPart uni fun 
→ Term tyname name uni fun a 
→ Term tyname name uni fun a 

evaluateBuiltinsPass Source #

Arguments

∷ (Typecheckable uni fun, GEq uni, Applicative m) 
⇒ PirTCConfig uni fun 
→ Bool

Whether to be conservative and try to retain logging behaviour.

→ BuiltinsInfo uni fun 
→ CostingPart uni fun 
→ Pass m TyName Name uni fun a