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

PlutusIR.Transform.DeadCase

Description

Drops redundant unsafeCaseList calls produced by AsData.

See Note [Dropping redundant unsafeCaseList calls produced by AsData].

Synopsis

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 #