<div dir="ltr">Hello,<br><br>In the haskell-src-exts quasi quoter there is some code to convert all names in `dataToQa` to global names. The reasoning is according to the source:<br><br>-- | The generic functions in &#39;Language.Haskell.TH.Quote&#39; don&#39;t use global<br>
-- names for syntax constructors. This has the unfortunate effect of breaking<br>-- quotation when the haskell-src-exts syntax module is imported qualified.<br>-- The solution is to set the flavour of all names to &#39;NameG&#39;.<br>
qualify :: Name -&gt; Name<br>-- Need special cases for constructors used in string literals. Assume nearly<br>-- all else is a datatype defined in Syntax module of haskell-src-exts.<br>qualify n | &quot;:&quot; &lt;- nameBase n = &#39;(:)<br>
{- snip: quite some excluded constructors -}<br>            | otherwise = Name (mkOccName (nameBase n)) flavour<br>{- snip: some code for the flavour -}<br><br>For the full source code see [1]. When fixing the pattern quasi quoter this qualification caused a long error (when using the quasi quoter). So in a simple attempt to fix it I replaced `qualify` with `id` and it all worked. <br>
<br>Now assuming that the qualification code was needed for some past version of GHC I would like to make the implementation dependent on the version of GHC. The only problem is that I haven&#39;t found the right version of GHC where this behaviour changed. Does somebody know at what version it was needed?<br>
<br>Greetings,<br>Lars Corbijn<br><br>[1] <a href="http://hackage.haskell.org/package/haskell-src-exts-qq-0.6.1">http://hackage.haskell.org/package/haskell-src-exts-qq-0.6.1</a></div>