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

PlutusCore.Evaluation.Machine.Ck

Description

The CK machine.

Synopsis

splitStructuralOperational :: Either (EvaluationException structural operational term) a -> Either (ErrorWithCause structural term) (EvaluationResult a) #

Preserve the contents of an StructuralError as a Left and turn an OperationalError into a Right EvaluationFailure (thus erasing the content of the error in the latter case).

unsafeSplitStructuralOperational :: (PrettyPlc structural, PrettyPlc term, Typeable structural, Typeable term) => Either (EvaluationException structural operational term) a -> EvaluationResult a #

Throw on a StructuralError and turn an OperationalError into an EvaluationFailure (thus erasing the content of the error in the latter case).

evaluateCk :: BuiltinsRuntime fun (CkValue uni fun) -> CaserBuiltin uni -> Term TyName Name uni fun () -> (Text]) #

Evaluate a term using the CK machine with logging enabled.

evaluateCkNoEmit :: BuiltinsRuntime fun (CkValue uni fun) -> CaserBuiltin uni -> Term TyName Name uni fun () -> Either (CkEvaluationException uni fun) (Term TyName Name uni fun ()) #

Evaluate a term using the CK machine with logging disabled.

readKnownCk :: ReadKnown (Term TyName Name uni fun ()) a => BuiltinsRuntime fun (CkValue uni fun) -> CaserBuiltin uni -> Term TyName Name uni fun () -> Either (CkEvaluationException uni fun) a #

Unlift a value using the CK machine.