title: How to properly communicate compile-time information to Template Haskell functions?
body: <p>I need to communicate some information from compile scripts into Template Haskell. Currently the compile scripts keep the information in the system environment, so I just read it using <code>System.Environment.getEnvironment</code> wrapped in <code>runIO</code>. Is there a better way, such as passing some arguments to <code>ghc</code> (similar to <code>-D...</code> for the C pre-processor), or perhaps something specifically designed for this purpose in TH?</p>