Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Evaluation.Builtins.Common
Synopsis
- unsafeSplitStructuralOperational ∷ (PrettyPlc structural, PrettyPlc term, Typeable structural, Typeable term) ⇒ Either (EvaluationException structural operational term) a → EvaluationResult a
- evaluateCek ∷ ∀ (uni ∷ Type → Type) fun ann. ThrowableBuiltins uni fun ⇒ EmitterMode uni fun → MachineParameters CekMachineCosts fun (CekValue uni fun ann) → Term Name uni fun ann → (Either (CekEvaluationException Name uni fun) (Term Name uni fun ()), [Text])
- evaluateCekNoEmit ∷ ∀ (uni ∷ Type → Type) fun ann. ThrowableBuiltins uni fun ⇒ MachineParameters CekMachineCosts fun (CekValue uni fun ann) → Term Name uni fun ann → Either (CekEvaluationException Name uni fun) (Term Name uni fun ())
- readKnownCek ∷ ∀ (uni ∷ Type → Type) fun a ann. (ThrowableBuiltins uni fun, ReadKnown (Term Name uni fun ()) a) ⇒ MachineParameters CekMachineCosts fun (CekValue uni fun ann) → Term Name uni fun ann → Either (CekEvaluationException Name uni fun) a
- typecheckAnd ∷ (MonadError (Error uni fun ()) m, Typecheckable uni fun, GEq uni, Closed uni, uni `Everywhere` ExMemoryUsage) ⇒ BuiltinSemanticsVariant fun → (MachineParameters CekMachineCosts fun (CekValue uni fun ()) → Term Name uni fun () → a) → CostingPart uni fun → Term TyName Name uni fun () → m a
- typecheckEvaluateCek ∷ (MonadError (Error uni fun ()) m, Typecheckable uni fun, GEq uni, uni `Everywhere` ExMemoryUsage, PrettyUni uni, Pretty fun) ⇒ BuiltinSemanticsVariant fun → CostingPart uni fun → Term TyName Name uni fun () → m (EvaluationResult (Term Name uni fun ()), [Text])
- typecheckEvaluateCekNoEmit ∷ (MonadError (Error uni fun ()) m, Typecheckable uni fun, GEq uni, uni `Everywhere` ExMemoryUsage, PrettyUni uni, Pretty fun) ⇒ BuiltinSemanticsVariant fun → CostingPart uni fun → Term TyName Name uni fun () → m (EvaluationResult (Term Name uni fun ()))
- typecheckReadKnownCek ∷ (MonadError (Error uni fun ()) m, Typecheckable uni fun, GEq uni, uni `Everywhere` ExMemoryUsage, PrettyUni uni, Pretty fun, ReadKnown (Term Name uni fun ()) a) ⇒ BuiltinSemanticsVariant fun → CostingPart uni fun → Term TyName Name uni fun () → m (Either (CekEvaluationException Name uni fun) a)
Documentation
unsafeSplitStructuralOperational ∷ (PrettyPlc structural, PrettyPlc term, Typeable structural, Typeable term) ⇒ Either (EvaluationException structural operational term) a → EvaluationResult a Source #
Throw on a StructuralEvaluationError
and turn an OperationalEvaluationError
into an
EvaluationFailure
(thus erasing the content of the error in the latter case).
evaluateCek ∷ ∀ (uni ∷ Type → Type) fun ann. ThrowableBuiltins uni fun ⇒ EmitterMode uni fun → MachineParameters CekMachineCosts fun (CekValue uni fun ann) → Term Name uni fun ann → (Either (CekEvaluationException Name uni fun) (Term Name uni fun ()), [Text]) Source #
Evaluate a term using the CEK machine with logging enabled. *THIS FUNCTION IS PARTIAL if the input term contains free variables*
evaluateCekNoEmit ∷ ∀ (uni ∷ Type → Type) fun ann. ThrowableBuiltins uni fun ⇒ MachineParameters CekMachineCosts fun (CekValue uni fun ann) → Term Name uni fun ann → Either (CekEvaluationException Name uni fun) (Term Name uni fun ()) Source #
Evaluate a term using the CEK machine with logging disabled. *THIS FUNCTION IS PARTIAL if the input term contains free variables*
readKnownCek ∷ ∀ (uni ∷ Type → Type) fun a ann. (ThrowableBuiltins uni fun, ReadKnown (Term Name uni fun ()) a) ⇒ MachineParameters CekMachineCosts fun (CekValue uni fun ann) → Term Name uni fun ann → Either (CekEvaluationException Name uni fun) a Source #
Unlift a value using the CEK machine. *THIS FUNCTION IS PARTIAL if the input term contains free variables*
typecheckAnd ∷ (MonadError (Error uni fun ()) m, Typecheckable uni fun, GEq uni, Closed uni, uni `Everywhere` ExMemoryUsage) ⇒ BuiltinSemanticsVariant fun → (MachineParameters CekMachineCosts fun (CekValue uni fun ()) → Term Name uni fun () → a) → CostingPart uni fun → Term TyName Name uni fun () → m a Source #
Type check and evaluate a term.
typecheckEvaluateCek ∷ (MonadError (Error uni fun ()) m, Typecheckable uni fun, GEq uni, uni `Everywhere` ExMemoryUsage, PrettyUni uni, Pretty fun) ⇒ BuiltinSemanticsVariant fun → CostingPart uni fun → Term TyName Name uni fun () → m (EvaluationResult (Term Name uni fun ()), [Text]) Source #
Type check and evaluate a term, logging enabled.
typecheckEvaluateCekNoEmit ∷ (MonadError (Error uni fun ()) m, Typecheckable uni fun, GEq uni, uni `Everywhere` ExMemoryUsage, PrettyUni uni, Pretty fun) ⇒ BuiltinSemanticsVariant fun → CostingPart uni fun → Term TyName Name uni fun () → m (EvaluationResult (Term Name uni fun ())) Source #
Type check and evaluate a term, logging disabled.
typecheckReadKnownCek ∷ (MonadError (Error uni fun ()) m, Typecheckable uni fun, GEq uni, uni `Everywhere` ExMemoryUsage, PrettyUni uni, Pretty fun, ReadKnown (Term Name uni fun ()) a) ⇒ BuiltinSemanticsVariant fun → CostingPart uni fun → Term TyName Name uni fun () → m (Either (CekEvaluationException Name uni fun) a) Source #
Type check and convert a Plutus Core term to a Haskell value.