CekMachine

scalus.uplc.eval.CekMachine
class CekMachine(val params: MachineParams, budgetSpender: BudgetSpender, logger: Logger, platformSpecific: PlatformSpecific) extends BuiltinsMeaning

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 budgetSpender and logger implementations.

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)
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def evaluateTerm(term: Term): Term

Evaluates a UPLC term.

Evaluates a UPLC term.

Value parameters

term

The debruijned term to evaluate

Attributes

Returns

The resulting term

Inherited methods

def mkMeaning(t: TypeScheme, f: (logger: Logger, args: Seq[CekValue]) => CekValue, costFunction: CostingFun): BuiltinRuntime

Attributes

Inherited from:
BuiltinsMeaning

Concrete fields

Inherited fields

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning

Extensions

Inherited extensions

extension (x: DefaultUni)
infix def $(t: String): TypeScheme

Attributes

Inherited from:
BuiltinsMeaning
infix def $(t: TypeScheme): TypeScheme

Attributes

Inherited from:
BuiltinsMeaning

Attributes

Inherited from:
BuiltinsMeaning