plutus-core-1.0.0.1: Language library for Plutus Core
Safe Haskell None
Language Haskell2010

PlutusCore.Evaluation.Machine.Ck

Description

The CK machine.

Synopsis

Documentation

data EvaluationResult a Source #

The parameterized type of results various evaluation engines return. On the PLC side this becomes (via makeKnown ) either a call to Error or a value of the PLC counterpart of type a .

Instances

Instances details
Monad EvaluationResult Source #
Instance details

Defined in PlutusCore.Evaluation.Result

Functor EvaluationResult Source #
Instance details

Defined in PlutusCore.Evaluation.Result

MonadFail EvaluationResult Source #
Instance details

Defined in PlutusCore.Evaluation.Result

Applicative EvaluationResult Source #
Instance details

Defined in PlutusCore.Evaluation.Result

Foldable EvaluationResult Source #
Instance details

Defined in PlutusCore.Evaluation.Result

Traversable EvaluationResult Source #
Instance details

Defined in PlutusCore.Evaluation.Result

Alternative EvaluationResult Source #
Instance details

Defined in PlutusCore.Evaluation.Result

MonadError () EvaluationResult Source #
Instance details

Defined in PlutusCore.Evaluation.Result

( TypeError (' Text "\8216EvaluationResult\8217 cannot appear in the type of an argument") :: Constraint , uni ~ UniOf val) => ReadKnownIn uni val ( EvaluationResult a) Source #
Instance details

Defined in PlutusCore.Builtin.KnownType

MakeKnownIn uni val a => MakeKnownIn uni val ( EvaluationResult a) Source #
Instance details

Defined in PlutusCore.Builtin.KnownType

PrettyBy config a => PrettyBy config ( EvaluationResult a) Source #
Instance details

Defined in PlutusCore.Evaluation.Result

Eq a => Eq ( EvaluationResult a) Source #
Instance details

Defined in PlutusCore.Evaluation.Result

Show a => Show ( EvaluationResult a) Source #
Instance details

Defined in PlutusCore.Evaluation.Result

Generic ( EvaluationResult a) Source #
Instance details

Defined in PlutusCore.Evaluation.Result

NFData a => NFData ( EvaluationResult a) Source #
Instance details

Defined in PlutusCore.Evaluation.Result

PrettyClassic a => Pretty ( EvaluationResult a) Source #
Instance details

Defined in PlutusCore.Evaluation.Result

KnownTypeAst uni a => KnownTypeAst uni ( EvaluationResult a :: Type ) Source #
Instance details

Defined in PlutusCore.Builtin.KnownTypeAst

type Rep ( EvaluationResult a) Source #
Instance details

Defined in PlutusCore.Evaluation.Result

type Rep ( EvaluationResult a) = D1 (' MetaData "EvaluationResult" "PlutusCore.Evaluation.Result" "plutus-core-1.0.0.1-76bWF9ZEWyb4eDyjHx0kCS" ' False ) ( C1 (' MetaCons "EvaluationSuccess" ' PrefixI ' False ) ( S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) ( Rec0 a)) :+: C1 (' MetaCons "EvaluationFailure" ' PrefixI ' False ) ( U1 :: Type -> Type ))
type ToHoles ( EvaluationResult a :: Type ) Source #
Instance details

Defined in PlutusCore.Builtin.KnownTypeAst

type ToBinds ( EvaluationResult a :: Type ) Source #
Instance details

Defined in PlutusCore.Builtin.KnownTypeAst

type CkM uni fun s = ReaderT (CkEnv uni fun s) ( ExceptT ( CkEvaluationException uni fun) ( ST s)) Source #

data CkValue uni fun Source #

evaluateCk :: Ix fun => BuiltinsRuntime fun ( CkValue uni fun) -> Term TyName Name uni fun () -> ( Either ( CkEvaluationException uni fun) ( Term TyName Name uni fun ()), [ Text ]) Source #

Evaluate a term using the CK machine with logging enabled.

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

Evaluate a term using the CK machine with logging disabled.

unsafeEvaluateCk :: ( GShow uni, Closed uni, Typeable uni, Typeable fun, uni `Everywhere` PrettyConst , Pretty fun, Ix fun) => BuiltinsRuntime fun ( CkValue uni fun) -> Term TyName Name uni fun () -> ( EvaluationResult ( Term TyName Name uni fun ()), [ Text ]) Source #

Evaluate a term using the CK machine with logging enabled. May throw a CkEvaluationException .

unsafeEvaluateCkNoEmit :: ( GShow uni, Closed uni, Typeable uni, Typeable fun, uni `Everywhere` PrettyConst , Pretty fun, Ix fun) => BuiltinsRuntime fun ( CkValue uni fun) -> Term TyName Name uni fun () -> EvaluationResult ( Term TyName Name uni fun ()) Source #

Evaluate a term using the CK machine with logging disabled. May throw a CkEvaluationException .

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

Unlift a value using the CK machine.