BuiltinsMeaning

scalus.uplc.BuiltinsMeaning
class BuiltinsMeaning(builtinCostModel: BuiltinCostModel, platformSpecific: PlatformSpecific, semanticVariant: BuiltinSemanticsVariant)

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

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

Concrete fields

lazy val forcedBuiltins: Map[DefaultFun, Term]

A map of all UPLC builtins to their forced versions.

A map of all UPLC builtins to their forced versions.

In UPLC, built-in functions can have polymorphic types, which means they can operate on different types of data, like:

ifThenElse : forall a. Boolean -> a -> a -> a

During erasure, type abstractions are replaced with delay and type applications with force. So on each use of a polymorphic builtin, we need to force all its type arguments.

This map provides the forced versions of all builtins.

Attributes

Extensions

Extensions

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