Safe Haskell | None |
---|
Float let-bindings with a single use forward into their use-sites.
- data ForwardInfo = ForwardInfo {
- infoInspected :: !Int
- infoSubsts :: !Int
- infoBindings :: !Int
- data FloatControl
- = FloatAllow
- | FloatDeny
- | FloatForce
- data Config a n = Config {
- configFloatControl :: Lets a n -> FloatControl
- configFloatLetBody :: Bool
- forwardModule :: Ord n => Profile n -> Config a n -> Module a n -> TransformResult (Module a n)
- forwardX :: Ord n => Profile n -> Config a n -> Exp a n -> TransformResult (Exp a n)
Documentation
data ForwardInfo Source
Summary of number of bindings floated.
ForwardInfo | |
|
Typeable ForwardInfo | |
Pretty ForwardInfo | |
Monoid ForwardInfo |
data FloatControl Source
Fine control over what should be floated.
FloatAllow | Allow binding to be floated, but don't require it. |
FloatDeny | Prevent a binding being floated, at all times. |
FloatForce | Force a binding to be floated, at all times. |
Eq FloatControl | |
Show FloatControl |
Config | |
|
:: Ord n | |
=> Profile n | Language profile |
-> Config a n | |
-> Module a n | |
-> TransformResult (Module a n) |
Float let-bindings in a module with a single use forward into their use sites.