Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data ExBudget = ExBudget {}
- minusExBudget :: ExBudget -> ExBudget -> ExBudget
- class ExBudgetBuiltin fun exBudgetCat where
- exBudgetBuiltin :: fun -> exBudgetCat
- newtype ExRestrictingBudget = ExRestrictingBudget {}
- data LowerInitialCharacter
- enormousBudget :: ExRestrictingBudget
Documentation
Instances
minusExBudget :: ExBudget -> ExBudget -> ExBudget Source #
Subract one ExBudget
from another. Does not guarantee that the result is positive.
class ExBudgetBuiltin fun exBudgetCat where Source #
A class for injecting a Builtin
into an exBudgetCat
.
We need it, because the constant application machinery calls spendBudget
before reducing a
constant application and we want to be general over exBudgetCat
there, but still track the
built-in functions category, hence the ad hoc polymorphism.
exBudgetBuiltin :: fun -> exBudgetCat Source #
Instances
ExBudgetBuiltin fun () Source # | A dummy |
Defined in PlutusCore.Evaluation.Machine.ExBudget exBudgetBuiltin :: fun -> () Source # | |
ExBudgetBuiltin fun (ExBudgetCategory fun) Source # | |
Defined in UntypedPlutusCore.Evaluation.Machine.Cek.Internal exBudgetBuiltin :: fun -> ExBudgetCategory fun Source # |
newtype ExRestrictingBudget Source #
Instances
Monoid ExRestrictingBudget Source # | |
Semigroup ExRestrictingBudget Source # | |
Defined in PlutusCore.Evaluation.Machine.ExBudget | |
Show ExRestrictingBudget Source # | |
Defined in PlutusCore.Evaluation.Machine.ExBudget | |
NFData ExRestrictingBudget Source # | |
Defined in PlutusCore.Evaluation.Machine.ExBudget rnf :: ExRestrictingBudget -> () Source # | |
Eq ExRestrictingBudget Source # | |
Defined in PlutusCore.Evaluation.Machine.ExBudget (==) :: ExRestrictingBudget -> ExRestrictingBudget -> Bool Source # (/=) :: ExRestrictingBudget -> ExRestrictingBudget -> Bool Source # | |
Pretty ExRestrictingBudget Source # | |
Defined in PlutusCore.Evaluation.Machine.ExBudget pretty :: ExRestrictingBudget -> Doc ann # prettyList :: [ExRestrictingBudget] -> Doc ann # | |
PrettyBy config ExRestrictingBudget Source # | |
Defined in PlutusCore.Evaluation.Machine.ExBudget prettyBy :: config -> ExRestrictingBudget -> Doc ann # prettyListBy :: config -> [ExRestrictingBudget] -> Doc ann # |
data LowerInitialCharacter Source #
This is used elsewhere to convert cost models into JSON objects where the names of the fields are exactly the same as the names of the builtins.
Instances
StringModifier LowerInitialCharacter Source # | |
Defined in PlutusCore.Evaluation.Machine.ExBudget getStringModifier :: String -> String |
enormousBudget :: ExRestrictingBudget Source #
When we want to just evaluate the program we use the Restricting
mode with an enormous
budget, so that evaluation costs of on-chain budgeting are reflected accurately in benchmarks.