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 | |
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 #