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

PlutusCore.Evaluation.Machine.ExBudget

Synopsis

Documentation

data ExBudget Source #

Constructors

ExBudget 

Instances

Instances details
FromJSON ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

parseJSON ∷ Value → Parser ExBudget

parseJSONList ∷ Value → Parser [ExBudget]

omittedFieldMaybe ExBudget

ToJSON ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

toJSONExBudget → Value

toEncodingExBudget → Encoding

toJSONList ∷ [ExBudget] → Value

toEncodingList ∷ [ExBudget] → Encoding

omitFieldExBudgetBool

Monoid ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Semigroup ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Generic ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Associated Types

type Rep ExBudgetTypeType Source #

Show ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

NFData ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

rnfExBudget → () Source #

Eq ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

NoThunks ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

noThunks ∷ Context → ExBudgetIO (Maybe ThunkInfo)

wNoThunks ∷ Context → ExBudgetIO (Maybe ThunkInfo)

showTypeOfProxy ExBudgetString

Pretty ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

prettyExBudgetDoc ann #

prettyList ∷ [ExBudget] → Doc ann #

Serialise ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

encodeExBudget → Encoding

decode ∷ Decoder s ExBudget

encodeList ∷ [ExBudget] → Encoding

decodeList ∷ Decoder s [ExBudget]

PrettyBy config ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

prettyBy ∷ config → ExBudgetDoc ann Source #

prettyListBy ∷ config → [ExBudget] → Doc ann Source #

Lift ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

liftQuote m ⇒ ExBudget → m Exp Source #

liftTyped ∷ ∀ (m ∷ TypeType). Quote m ⇒ ExBudgetCode m ExBudget Source #

type Rep ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

type Rep ExBudget = D1 ('MetaData "ExBudget" "PlutusCore.Evaluation.Machine.ExBudget" "plutus-core-1.30.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)))

minusExBudgetExBudgetExBudgetExBudget 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.

Methods

exBudgetBuiltin ∷ fun → exBudgetCat Source #

Instances

Instances details
ExBudgetBuiltin fun () Source #

A dummy ExBudgetBuiltin instance to be used in monads where we don't care about costing.

Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

exBudgetBuiltin ∷ fun → () Source #

ExBudgetBuiltin fun (ExBudgetCategory fun) Source # 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.Internal

Methods

exBudgetBuiltin ∷ fun → ExBudgetCategory fun Source #

newtype ExRestrictingBudget Source #

Instances

Instances details
Monoid ExRestrictingBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Semigroup ExRestrictingBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Show ExRestrictingBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

NFData ExRestrictingBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

rnfExRestrictingBudget → () Source #

Eq ExRestrictingBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Pretty ExRestrictingBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

PrettyBy config ExRestrictingBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

prettyBy ∷ config → ExRestrictingBudgetDoc 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

Instances details
StringModifier LowerInitialCharacter Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

enormousBudgetExRestrictingBudget 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.