| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
PlutusCore.Evaluation.Machine.Ck
Description
The CK machine.
Synopsis
- data EvaluationResult a
- type CkEvaluationException uni fun = EvaluationException (MachineError fun) CkUserError (Term TyName Name uni fun ())
- type CkM uni fun s = Text]) #
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.