Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Inlining definitions into their use sites.
- inline :: (Inline c, Ord n) => (n -> Maybe (Exp a n)) -> Set n -> c a n -> c a n
- data InlineSpec n
- = InlineSpecAll { }
- | InlineSpecNone { }
- lookupTemplateFromModules :: (Eq n, Ord n, Show n) => Map ModuleName (InlineSpec n) -> [Module a n] -> n -> Maybe (Exp a n)
Documentation
data InlineSpec n Source
Inlining specification says what bindings we should inline from a particular module.
InlineSpecAll | Inline all bindings from a module, but exclude some particulars. |
InlineSpecNone | Inline no bindings from a module, but include some particulars. |
Show n => Show (InlineSpec n) Source |
lookupTemplateFromModules Source
:: (Eq n, Ord n, Show n) | |
=> Map ModuleName (InlineSpec n) | Inliner specifications for the modules. |
-> [Module a n] | Modules to use for inliner templates. |
-> n | |
-> Maybe (Exp a n) |
Lookup an inliner template from a list of modules.