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

PlutusIR.Transform.Beta

Description

A simple beta-reduction pass.

Synopsis

Documentation

beta :: Term tyname name uni fun a -> Term tyname name uni fun a #

Recursively apply the beta transformation on the code, both for the terms

    ( (x : A). M) N
    ==>
    let x : A = N in M

and types

    (/ a. (x : a) . x) {A}
    ==>
    let a : * = A in
    ( (x : A). x)

betaPass :: (MonadQuote m, Ord a) => PirTCConfig uni fun -> Pass m TyName Name uni fun a #