| Safe Haskell | None |
|---|
DDC.Core.Transform.Forward
Description
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.
Constructors
| ForwardInfo | |
Fields
| |
Instances
| Typeable ForwardInfo | |
| Pretty ForwardInfo | |
| Monoid ForwardInfo |
data FloatControl Source
Fine control over what should be floated.
Constructors
| 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. |
Instances
| Eq FloatControl | |
| Show FloatControl |
Constructors
| Config | |
Fields
| |
Arguments
| :: 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.