Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data CompiledCodeIn uni fun a
- = SerializedCode ByteString (Maybe ByteString) CoverageIndex
- | DeserializedCode (Program NamedDeBruijn uni fun SrcSpans) (Maybe (Program TyName Name uni fun SrcSpans)) CoverageIndex
- type CompiledCode = CompiledCodeIn DefaultUni DefaultFun
- applyCode ∷ (Closed uni, uni `Everywhere` Flat, Flat fun, Pretty fun, Everywhere uni PrettyConst, PrettyBy RenderContext (SomeTypeIn uni)) ⇒ CompiledCodeIn uni fun (a → b) → CompiledCodeIn uni fun a → Either String (CompiledCodeIn uni fun b)
- unsafeApplyCode ∷ (Closed uni, uni `Everywhere` Flat, Flat fun, Pretty fun, Everywhere uni PrettyConst, PrettyBy RenderContext (SomeTypeIn uni)) ⇒ CompiledCodeIn uni fun (a → b) → CompiledCodeIn uni fun a → CompiledCodeIn uni fun b
- sizePlc ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Integer
- newtype ImpossibleDeserialisationFailure = ImpossibleDeserialisationFailure DecodeException
- getPlc ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Program NamedDeBruijn uni fun SrcSpans
- getPlcNoAnn ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Program NamedDeBruijn uni fun ()
- getPir ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Maybe (Program TyName Name uni fun SrcSpans)
- getPirNoAnn ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Maybe (Program TyName Name uni fun ())
- getCovIdx ∷ CompiledCodeIn uni fun a → CoverageIndex
Documentation
data CompiledCodeIn uni fun a Source #
A compiled Plutus Tx program. The last type parameter indicates the type of the Haskell expression that was compiled, and hence the type of the compiled code.
Note: the compiled PLC program does *not* have normalized types, if you want to put it on the chain you must normalize the types first.
SerializedCode ByteString (Maybe ByteString) CoverageIndex | Serialized UPLC code and possibly serialized PIR code with metadata used for program coverage. |
DeserializedCode (Program NamedDeBruijn uni fun SrcSpans) (Maybe (Program TyName Name uni fun SrcSpans)) CoverageIndex | Deserialized UPLC program, and possibly deserialized PIR program with metadata used for program coverage. |
type CompiledCode = CompiledCodeIn DefaultUni DefaultFun Source #
CompiledCodeIn
instantiated with default built-in types and functions.
applyCode ∷ (Closed uni, uni `Everywhere` Flat, Flat fun, Pretty fun, Everywhere uni PrettyConst, PrettyBy RenderContext (SomeTypeIn uni)) ⇒ CompiledCodeIn uni fun (a → b) → CompiledCodeIn uni fun a → Either String (CompiledCodeIn uni fun b) Source #
Apply a compiled function to a compiled argument. Will fail if the versions don't match.
unsafeApplyCode ∷ (Closed uni, uni `Everywhere` Flat, Flat fun, Pretty fun, Everywhere uni PrettyConst, PrettyBy RenderContext (SomeTypeIn uni)) ⇒ CompiledCodeIn uni fun (a → b) → CompiledCodeIn uni fun a → CompiledCodeIn uni fun b Source #
Apply a compiled function to a compiled argument. Will throw if the versions don't match, should only be used in non-production code.
sizePlc ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Integer Source #
The size of a CompiledCodeIn
, in AST nodes.
newtype ImpossibleDeserialisationFailure Source #
getPlc ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Program NamedDeBruijn uni fun SrcSpans Source #
Get the actual Plutus Core program out of a CompiledCodeIn
.
getPlcNoAnn ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Program NamedDeBruijn uni fun () Source #
getPir ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Maybe (Program TyName Name uni fun SrcSpans) Source #
Get the Plutus IR program, if there is one, out of a CompiledCodeIn
.
getPirNoAnn ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Maybe (Program TyName Name uni fun ()) Source #
getCovIdx ∷ CompiledCodeIn uni fun a → CoverageIndex Source #