plutus-core-1.36.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]

omittedField :: Maybe ExBudget

ToJSON ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

toJSON :: ExBudget -> Value

toEncoding :: ExBudget -> Encoding

toJSONList :: [ExBudget] -> Value

toEncodingList :: [ExBudget] -> Encoding

omitField :: ExBudget -> Bool

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 ExBudget :: Type -> Type Source #

Show ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

NFData ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

rnf :: ExBudget -> () 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 -> ExBudget -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> ExBudget -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy ExBudget -> String

Pretty ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

pretty :: ExBudget -> Doc ann #

prettyList :: [ExBudget] -> Doc ann #

Serialise ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

encode :: ExBudget -> 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 -> ExBudget -> Doc ann #

prettyListBy :: config -> [ExBudget] -> Doc ann #

Lift ExBudget Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

lift :: Quote m => ExBudget -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => ExBudget -> Code 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.36.0.0-7ehJj5tIPqoJIiiivXkX9N" '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.

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

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

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

Instances details
StringModifier LowerInitialCharacter Source # 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

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.