Safe Haskell | None |
---|
Beta-reduce applications of a explicit lambda abstractions to variables and values.
- data BetaReduceInfo = BetaReduceInfo {
- infoTypes :: Int
- infoWits :: Int
- infoValues :: Int
- infoValuesLetted :: Int
- infoValuesSkipped :: Int
- betaReduce :: forall c a n. (Ord n, TransformUpMX (Writer BetaReduceInfo) c) => Bool -> c a n -> TransformResult (c a n)
Documentation
data BetaReduceInfo Source
A summary of what the beta reduction transform did.
BetaReduceInfo | |
|
:: forall c a n . (Ord n, TransformUpMX (Writer BetaReduceInfo) c) | |
=> Bool | Let-bind redexes. |
-> c a n | |
-> TransformResult (c a n) |
Beta-reduce applications of a explicit lambda abstractions to variables and values.
If the flag is set then if we find a lambda abstraction that is applied to a redex then let-bind the redex and substitute the new variable instead.