| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
UntypedPlutusCore.Transform.Certify.Trace
Synopsis
- data CertifiedOptStage
- data UncertifiedOptStage
- type OptStage = Either UncertifiedOptStage CertifiedOptStage
- pattern FloatDelayStage ∷ OptStage
- pattern ForceDelayStage ∷ OptStage
- pattern ForceCaseDelayStage ∷ OptStage
- pattern CaseReduceStage ∷ OptStage
- pattern InlineStage ∷ OptStage
- pattern CseStage ∷ OptStage
- pattern ApplyToCaseStage ∷ OptStage
- pattern CaseOfCaseStage ∷ OptStage
- pattern LetFloatOutStage ∷ OptStage
- pattern ConstantFoldingStage ∷ OptStage
- pattern PolyBuiltinStage ∷ OptStage
- data Optimization name uni fun a = Optimization {}
- newtype OptimizerTrace name uni fun a = OptimizerTrace {
- optimizerTrace ∷ [Optimization name uni fun a]
- initOptimizerTrace ∷ OptimizerTrace name uni fun a
- allASTs ∷ OptimizerTrace name uni fun a → [Term name uni fun a]
Documentation
data CertifiedOptStage Source #
Datatype which represents optimization passes which are also certified.
This means that these passes are formalized as part of the certifier, and adding a new pass constructor to this type means that it is expected the pass will be also certified in the same PR.
WARNING: the order of the constructors MUST be the same as the order
of their counterparts in Trace.
Constructors
| FloatDelay | |
| ForceDelay | |
| ForceCaseDelay | |
| Inline | |
| CSE | |
| ApplyToCase | |
| CaseReduce | |
| LetFloatOut |
Instances
data UncertifiedOptStage Source #
Datatype which represents optimization passes which are not yet certified.
WARNING: the order of the constructors MUST be the same as the order
of their counterparts in Trace.
IMPORTANT: if you add a new pass, or modify an existing pass, without also modifying the certifier in the same PR, you must add/move its corresponding constructor to this type. Please also open an issue at https://github.com/IntersectMBO/plutus/issues.
Constructors
| CaseOfCase | |
| ConstantFolding | |
| PolyBuiltin |
Instances
| Generic UncertifiedOptStage Source # | |
Defined in UntypedPlutusCore.Transform.Certify.Trace Methods from ∷ UncertifiedOptStage → Rep UncertifiedOptStage x Source # to ∷ Rep UncertifiedOptStage x → UncertifiedOptStage Source # | |
| Show UncertifiedOptStage Source # | |
Defined in UntypedPlutusCore.Transform.Certify.Trace | |
| NFData UncertifiedOptStage Source # | |
Defined in UntypedPlutusCore.Transform.Certify.Trace Methods rnf ∷ UncertifiedOptStage → () Source # | |
| type Rep UncertifiedOptStage Source # | |
Defined in UntypedPlutusCore.Transform.Certify.Trace type Rep UncertifiedOptStage = D1 ('MetaData "UncertifiedOptStage" "UntypedPlutusCore.Transform.Certify.Trace" "plutus-core-1.68.0.0-inplace" 'False) (C1 ('MetaCons "CaseOfCase" 'PrefixI 'False) (U1 ∷ Type → Type) :+: (C1 ('MetaCons "ConstantFolding" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "PolyBuiltin" 'PrefixI 'False) (U1 ∷ Type → Type))) | |
pattern FloatDelayStage ∷ OptStage Source #
pattern ForceDelayStage ∷ OptStage Source #
pattern ForceCaseDelayStage ∷ OptStage Source #
pattern CaseReduceStage ∷ OptStage Source #
pattern InlineStage ∷ OptStage Source #
pattern ApplyToCaseStage ∷ OptStage Source #
pattern CaseOfCaseStage ∷ OptStage Source #
pattern LetFloatOutStage ∷ OptStage Source #
pattern ConstantFoldingStage ∷ OptStage Source #
pattern PolyBuiltinStage ∷ OptStage Source #
data Optimization name uni fun a Source #
newtype OptimizerTrace name uni fun a Source #
Constructors
| OptimizerTrace | |
Fields
| |
initOptimizerTrace ∷ OptimizerTrace name uni fun a Source #
allASTs ∷ OptimizerTrace name uni fun a → [Term name uni fun a] Source #