| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
PlutusIR.Transform.DeadCase
Description
Drops redundant unsafeCaseList calls produced by AsData.
See Note [Dropping redundant unsafeCaseList calls produced by AsData].
Synopsis
- deadCase ∷ (HasUnique name TermUnique, AnnCase a) ⇒ Term TyName name uni fun a → Term TyName name uni fun a
- deadCasePass ∷ (Typecheckable uni fun, GEq uni, Applicative m, AnnCase a) ⇒ PirTCConfig uni fun → Pass m TyName Name uni fun a
- deadCasePassSC ∷ (Typecheckable uni fun, GEq uni, MonadQuote m, Ord a, AnnCase a) ⇒ PirTCConfig uni fun → Pass m TyName Name uni fun a
Documentation
deadCase ∷ (HasUnique name TermUnique, AnnCase a) ⇒ Term TyName name uni fun a → Term TyName name uni fun a Source #
Eliminate Case expressions marked safe-to-eliminate whose branch
binders are all dead. Uses a bottom-up traversal so that inner
eliminations cascade outward in a single pass.
deadCasePass ∷ (Typecheckable uni fun, GEq uni, Applicative m, AnnCase a) ⇒ PirTCConfig uni fun → Pass m TyName Name uni fun a Source #
deadCasePassSC ∷ (Typecheckable uni fun, GEq uni, MonadQuote m, Ord a, AnnCase a) ⇒ PirTCConfig uni fun → Pass m TyName Name uni fun a Source #