Safe Haskell | None |
---|
Beta-reduce applications of a explicit lambda abstractions to variables and values.
- data Config = Config {}
- configZero :: Config
- data Info = Info {
- infoTypes :: Int
- infoWits :: Int
- infoValues :: Int
- infoValuesLetted :: Int
- infoValuesSkipped :: Int
- betaReduce :: forall c a n. (Ord n, TransformUpMX (Writer Info) c) => Config -> c a n -> TransformResult (c a n)
Documentation
Config | |
|
Empty beta configuration with all flags set to False.
A summary of what the beta reduction transform did.
Info | |
|
betaReduce :: forall c a n. (Ord n, TransformUpMX (Writer Info) c) => Config -> c a n -> TransformResult (c a n)Source
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.