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

PlutusIR.Compiler.Types

Synopsis

Documentation

data AllowEscape #

Extra flag to be passed in the TypeCheckM Reader context, to signal if the PIR expression currently being typechecked is at the top-level and thus its type can escape, or nested and thus not allowed to escape.

Constructors

YesEscape 
NoEscape 

data PirTCConfig uni fun #

extending the plc typecheck config with AllowEscape

Instances

Instances details
Lens' (PirTCConfig uni fun) AllowEscape #

data DatatypeStyle #

What style to use when encoding datatypes. Generally, SumsOfProducts is superior, unless you are targeting an old Plutus Core language version.

See Note [Encoding of datatypes]

Constructors

ScottEncoding 
SumsOfProducts 
BuiltinCasing

A temporary data type style used to make a couple of V3 ledger-api-test tests pass before we can support casing on values of built-in types in newer protocol versions and merge this into SumsOfProducts (which is what controls whether Case is available or not).

Instances

Instances details
Def (VarDecl tyname name uni a) (Term tyname name uni fun a) #

data SharedName #

We generate some shared definitions compilation, this datatype defines the "keys" for those definitions.

Constructors

FixpointCombinator Quote Name #