Template Haskell only imports
This is the Template Haskell equivalent of #11244 (closed).
It should be possible to use the plugin package database to make a Template Haskell only import; I suggest the syntax import {-# TH_ONLY #-} Foo
. Such imports are only allowed to be used in splices, and cannot be quoted (they are not allowed to reside in the final code generated by the splice.)
The reason a user may want to use such an import is that it means that they can declare that a library is necessary when compiling splices, but not necessary when actually linking against it.
There are extra benefits. If a user is compiling the package with the splices with profiling, it ordinarily requires all imports to have been compiled with profiling. This would NOT be necessary for a TH_ONLY
import, since we're only ever going to run the imported code in the (non-profiled) compiler, and not in the (profiled) executable.)
Trac metadata
Trac field | Value |
---|---|
Version | 7.11 |
Type | FeatureRequest |
TypeOfFailure | OtherFailure |
Priority | low |
Resolution | Unresolved |
Component | Template Haskell |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |