| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
UntypedPlutusCore.Transform.Simplifier
Documentation
newtype SimplifierT name uni fun ann m a Source #
Constructors
| SimplifierT | |
Fields
| |
Instances
| MonadTrans (SimplifierT name uni fun ann) Source # | |
Defined in UntypedPlutusCore.Transform.Simplifier Methods lift ∷ Monad m ⇒ m a → SimplifierT name uni fun ann m a Source # | |
| Monad m ⇒ Applicative (SimplifierT name uni fun ann m) Source # | |
Defined in UntypedPlutusCore.Transform.Simplifier Methods pure ∷ a → SimplifierT name uni fun ann m a Source # (<*>) ∷ SimplifierT name uni fun ann m (a → b) → SimplifierT name uni fun ann m a → SimplifierT name uni fun ann m b Source # liftA2 ∷ (a → b → c) → SimplifierT name uni fun ann m a → SimplifierT name uni fun ann m b → SimplifierT name uni fun ann m c Source # (*>) ∷ SimplifierT name uni fun ann m a → SimplifierT name uni fun ann m b → SimplifierT name uni fun ann m b Source # (<*) ∷ SimplifierT name uni fun ann m a → SimplifierT name uni fun ann m b → SimplifierT name uni fun ann m a Source # | |
| Functor m ⇒ Functor (SimplifierT name uni fun ann m) Source # | |
Defined in UntypedPlutusCore.Transform.Simplifier Methods fmap ∷ (a → b) → SimplifierT name uni fun ann m a → SimplifierT name uni fun ann m b Source # (<$) ∷ a → SimplifierT name uni fun ann m b → SimplifierT name uni fun ann m a Source # | |
| Monad m ⇒ Monad (SimplifierT name uni fun ann m) Source # | |
Defined in UntypedPlutusCore.Transform.Simplifier Methods (>>=) ∷ SimplifierT name uni fun ann m a → (a → SimplifierT name uni fun ann m b) → SimplifierT name uni fun ann m b Source # (>>) ∷ SimplifierT name uni fun ann m a → SimplifierT name uni fun ann m b → SimplifierT name uni fun ann m b Source # return ∷ a → SimplifierT name uni fun ann m a Source # | |
| MonadQuote m ⇒ MonadQuote (SimplifierT name uni fun ann m) Source # | |
Defined in UntypedPlutusCore.Transform.Simplifier Methods liftQuote ∷ Quote a → SimplifierT name uni fun ann m a Source # | |
newtype SimplifierTrace name uni fun a Source #
Constructors
| SimplifierTrace | |
Fields
| |
data SimplifierStage Source #
Constructors
| FloatDelay | |
| ForceDelay | |
| ForceCaseDelay | |
| CaseOfCase | |
| CaseReduce | |
| Inline | |
| CSE |
data Simplification name uni fun a Source #
Constructors
| Simplification | |
runSimplifierT ∷ SimplifierT name uni fun ann m a → m (a, SimplifierTrace name uni fun ann) Source #
evalSimplifierT ∷ Monad m ⇒ SimplifierT name uni fun ann m a → m a Source #
execSimplifierT ∷ Monad m ⇒ SimplifierT name uni fun ann m a → m (SimplifierTrace name uni fun ann) Source #
type Simplifier name uni fun ann = SimplifierT name uni fun ann Identity Source #
runSimplifier ∷ Simplifier name uni fun ann a → (a, SimplifierTrace name uni fun ann) Source #
evalSimplifier ∷ Simplifier name uni fun ann a → a Source #
execSimplifier ∷ Simplifier name uni fun ann a → SimplifierTrace name uni fun ann Source #
initSimplifierTrace ∷ SimplifierTrace name uni fun a Source #
recordSimplification ∷ Monad m ⇒ Term name uni fun a → SimplifierStage → Term name uni fun a → SimplifierT name uni fun a m () Source #