scalus.uplc.eval
package scalus.uplc.eval
Members list
Type members
Classlikes
trait BudgetSpender
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class CountingBudgetSpenderobject NoBudgetSpenderclass RestrictingBudgetSpenderclass TallyingBudgetSpender
case class BuiltinCostModel(addInteger: CostingFun[TwoArguments], subtractInteger: CostingFun[TwoArguments], multiplyInteger: CostingFun[TwoArguments], divideInteger: CostingFun[TwoArguments], quotientInteger: CostingFun[TwoArguments], remainderInteger: CostingFun[TwoArguments], modInteger: CostingFun[TwoArguments], equalsInteger: CostingFun[TwoArguments], lessThanInteger: CostingFun[TwoArguments], lessThanEqualsInteger: CostingFun[TwoArguments], appendByteString: CostingFun[TwoArguments], consByteString: CostingFun[TwoArguments], sliceByteString: CostingFun[ThreeArguments], lengthOfByteString: CostingFun[OneArgument], indexByteString: CostingFun[TwoArguments], equalsByteString: CostingFun[TwoArguments], lessThanByteString: CostingFun[TwoArguments], lessThanEqualsByteString: CostingFun[TwoArguments], sha2_256: CostingFun[OneArgument], sha3_256: CostingFun[OneArgument], blake2b_256: CostingFun[OneArgument], verifyEd25519Signature: CostingFun[ThreeArguments], verifyEcdsaSecp256k1Signature: CostingFun[ThreeArguments], verifySchnorrSecp256k1Signature: CostingFun[ThreeArguments], appendString: CostingFun[TwoArguments], equalsString: CostingFun[TwoArguments], encodeUtf8: CostingFun[OneArgument], decodeUtf8: CostingFun[OneArgument], ifThenElse: CostingFun[ThreeArguments], chooseUnit: CostingFun[TwoArguments], trace: CostingFun[TwoArguments], fstPair: CostingFun[OneArgument], sndPair: CostingFun[OneArgument], chooseList: CostingFun[ThreeArguments], mkCons: CostingFun[TwoArguments], headList: CostingFun[OneArgument], tailList: CostingFun[OneArgument], nullList: CostingFun[OneArgument], chooseData: CostingFun[SixArguments], constrData: CostingFun[TwoArguments], mapData: CostingFun[OneArgument], listData: CostingFun[OneArgument], iData: CostingFun[OneArgument], bData: CostingFun[OneArgument], unConstrData: CostingFun[OneArgument], unMapData: CostingFun[OneArgument], unListData: CostingFun[OneArgument], unIData: CostingFun[OneArgument], unBData: CostingFun[OneArgument], equalsData: CostingFun[TwoArguments], mkPairData: CostingFun[TwoArguments], mkNilData: CostingFun[OneArgument], mkNilPairData: CostingFun[OneArgument], serialiseData: CostingFun[OneArgument])
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
object BuiltinCostModel
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
BuiltinCostModel.type
class BuiltinError(builtin: DefaultFun, term: Term, cause: Throwable, env: CekValEnv) extends StackTraceMachineError
Attributes
- Supertypes
-
class StackTraceMachineErrorclass MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
class BuiltinException(msg: String) extends MachineError
Attributes
- Supertypes
-
class MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class DeserializationErrorclass KnownTypeUnliftingError
class BuiltinTermArgumentExpectedMachineError(term: Term, env: CekValEnv) extends StackTraceMachineError
Attributes
- Supertypes
-
class StackTraceMachineErrorclass MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
class CekMachine(val params: MachineParams, budgetSpender: BudgetSpender, logger: Logger, platformSpecific: PlatformSpecific) extends BuiltinsMeaning
CEK machine implementation based on Cardano Plutus CEK machine.
CEK machine implementation based on Cardano Plutus CEK machine.
The CEK machine is a stack-based abstract machine that is used to evaluate UPLC terms.
Value parameters
- budgetSpender
-
The budget spender implementation
- logger
-
The logger implementation
- params
-
The machine parameters MachineParams
- platformSpecific
-
The platform specific implementation of certain functions used by builtins
Attributes
- See also
- Note
-
The machine is stateless and can be reused for multiple evaluations. All the state is expected to be in the
budgetSpenderandloggerimplementations. - Example
-
val term = LamAbs("x", Apply(Var(NamedDeBruijn("x", 0)), Var(NamedDeBruijn("x", 0)))) val cek = new CekMachine(MachineParams.defaultParams, NoBudgetSpender, NoLogger, JVMPlatformSpecific) val res = cek.runCek(term) - Supertypes
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
object CekMachineCosts
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
CekMachineCosts.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
enum CekValue
Attributes
- Supertypes
-
trait Enumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
trait CostModel
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait OneArgumentclass ConstantCostclass LinearCosttrait SixArgumentsclass ConstantCosttrait ThreeArgumentsclass AddedSizesclass ConstantCostclass LinearInXclass LinearInYclass LinearInZtrait TwoArgumentsclass AddedSizesclass ConstAboveDiagonalclass ConstBelowDiagonalclass ConstantCostclass LinearInXclass LinearInXAndYclass LinearInYclass LinearOnDiagonalclass MaxSizeclass MinSizeclass MultipliedSizesclass SubtractedSizesShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
final class CountingBudgetSpender extends BudgetSpender
Attributes
- Supertypes
class DeserializationError(fun: DefaultFun, value: CekValue) extends BuiltinException
Attributes
- Supertypes
-
class BuiltinExceptionclass MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
class EvaluationFailure(env: CekValEnv) extends StackTraceMachineError
Attributes
- Supertypes
-
class StackTraceMachineErrorclass MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
object ExBudget
enum ExBudgetCategory
Attributes
- Supertypes
-
trait Enumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
object ExMemory
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ExMemory.type
class KnownTypeUnliftingError(expected: DefaultUni, actual: CekValue) extends BuiltinException
Attributes
- Supertypes
-
class BuiltinExceptionclass MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
trait Logger
class MachineError(msg: String) extends RuntimeException
Attributes
- Supertypes
-
class RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class BuiltinExceptionclass DeserializationErrorclass KnownTypeUnliftingErrorclass StackTraceMachineErrorclass BuiltinErrorclass EvaluationFailureclass MissingCaseBranchclass NonConstrScrutinizedclass OutOfExBudgetErrorclass UnknownBuiltinShow all
The Plutus CEK machine parameters.
The Plutus CEK machine parameters.
Value parameters
- builtinCostModel
-
The builtin cost model
- machineCosts
-
The machine costs
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
object MachineParams
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
MachineParams.type
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
object MemoryUsage
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
MemoryUsage.type
class MissingCaseBranch(val tag: Long, env: CekValEnv) extends StackTraceMachineError
Attributes
- Supertypes
-
class StackTraceMachineErrorclass MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
object NoBudgetSpender extends BudgetSpender
Attributes
- Supertypes
- Self type
-
NoBudgetSpender.type
class NonConstrScrutinized(val value: CekValue, env: CekValEnv) extends StackTraceMachineError
Attributes
- Supertypes
-
class StackTraceMachineErrorclass MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
class NonFunctionalApplicationMachineError(arg: CekValue, env: CekValEnv) extends StackTraceMachineError
Attributes
- Supertypes
-
class StackTraceMachineErrorclass MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
class NonPolymorphicInstantiationMachineError(value: CekValue, env: CekValEnv) extends StackTraceMachineError
Attributes
- Supertypes
-
class StackTraceMachineErrorclass MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
trait OneArgument extends CostModel
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class ConstantCostclass LinearCost
object OneArgument
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
OneArgument.type
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
class OpenTermEvaluatedMachineError(name: NamedDeBruijn, env: CekValEnv) extends StackTraceMachineError
Attributes
- Supertypes
-
class StackTraceMachineErrorclass MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
class OutOfExBudgetError(budget: ExBudget, env: CekValEnv) extends StackTraceMachineError
Attributes
- Supertypes
-
class StackTraceMachineErrorclass MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
Plutus VM facade.
Plutus VM facade.
Value parameters
- platformSpecific
-
The platform specific implementation of certain functions used by VM builtins
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object VM
final class RestrictingBudgetSpender(val maxBudget: ExBudget) extends BudgetSpender
Attributes
- Supertypes
trait SixArguments extends CostModel
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class ConstantCost
object SixArguments
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
SixArguments.type
class StackTraceMachineError(msg: String, val env: CekValEnv) extends MachineError
Attributes
- Supertypes
-
class MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class BuiltinErrorclass EvaluationFailureclass MissingCaseBranchclass NonConstrScrutinizedclass OutOfExBudgetErrorclass UnknownBuiltinShow all
enum StepKind
Attributes
- Supertypes
-
trait Enumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
case class SubtractedSizesLinearFunction(intercept: Intercept, slope: Slope, minimum: CostingInteger)
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
final class TallyingBudgetSpender(val budgetSpender: BudgetSpender) extends BudgetSpender
Attributes
- Supertypes
trait ThreeArguments extends CostModel
Attributes
- Companion
- object
- Supertypes
- Known subtypes
object ThreeArguments
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ThreeArguments.type
trait TwoArguments extends CostModel
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class AddedSizesclass ConstAboveDiagonalclass ConstBelowDiagonalclass ConstantCostclass LinearInXclass LinearInXAndYclass LinearInYclass LinearOnDiagonalclass MaxSizeclass MinSizeclass MultipliedSizesclass SubtractedSizesShow all
object TwoArguments
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
TwoArguments.type
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
class UnexpectedBuiltinTermArgumentMachineError(term: Term, env: CekValEnv) extends StackTraceMachineError
Attributes
- Supertypes
-
class StackTraceMachineErrorclass MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
class UnknownBuiltin(builtin: DefaultFun, env: CekValEnv) extends StackTraceMachineError
Attributes
- Supertypes
-
class StackTraceMachineErrorclass MachineErrorclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
Types
In this article