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
FromJSON ExBudget Source # | |
ToJSON ExBudget Source # | |
Monoid ExBudget Source # | |
Semigroup ExBudget Source # | |
Generic ExBudget Source # | |
Show ExBudget Source # | |
NFData ExBudget Source # | |
Defined in PlutusCore.Evaluation.Machine.ExBudget | |
Eq ExBudget Source # | |
NoThunks ExBudget Source # | |
Pretty ExBudget Source # | |
Serialise ExBudget Source # | |
PrettyBy config ExBudget Source # | |
Lift ExBudget Source # | |
type Rep ExBudget Source # | |
Defined in PlutusCore.Evaluation.Machine.ExBudget type Rep ExBudget = D1 ('MetaData "ExBudget" "PlutusCore.Evaluation.Machine.ExBudget" "plutus-core-1.36.0.0-inplace" 'False) (C1 ('MetaCons "ExBudget" 'PrefixI 'True) (S1 ('MetaSel ('Just "exBudgetCPU") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExCPU) :*: S1 ('MetaSel ('Just "exBudgetMemory") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExMemory))) |
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 # | |
Show ExRestrictingBudget Source # | |
Defined in PlutusCore.Evaluation.Machine.ExBudget | |
NFData ExRestrictingBudget Source # | |
Defined in PlutusCore.Evaluation.Machine.ExBudget rnf ∷ ExRestrictingBudget → () Source # | |
Eq ExRestrictingBudget Source # | |
Pretty ExRestrictingBudget Source # | |
Defined in PlutusCore.Evaluation.Machine.ExBudget pretty ∷ ExRestrictingBudget → Doc ann Source # prettyList ∷ [ExRestrictingBudget] → Doc ann Source # | |
PrettyBy config ExRestrictingBudget Source # | |
Defined in PlutusCore.Evaluation.Machine.ExBudget prettyBy ∷ config → ExRestrictingBudget → Doc ann Source # prettyListBy ∷ config → [ExRestrictingBudget] → Doc ann Source # |
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
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.