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