Hi cafe!<div><br></div><div>I&#39;m hitting a very strange problem when using haskell-src-exts and haskell-src-exts-qq. Consider the following module:</div><div><br></div><div>\begin{code}</div><div>{-# Language QuasiQuotes #-}</div>

<div>module TestBug where</div><div><br></div><div>import Language.Haskell.Exts</div><div>import Language.Haskell.Exts.QQ</div><div><br></div><div>unit = TyTuple Boxed []</div><div><br></div><div>ty = [dec| quux :: (a,b) |]</div>

<div>\end{code}</div><div><br></div><div>This module doesn&#39;t load for me using ghc 7.0.3. I&#39;ve pasted the full error message at the end of this email but the error message begins with the following lines:</div><div>

<br></div><div><div>TestBug.hs:11:11:</div><div>    Can&#39;t find interface-file declaration for variable Language.Haskell.Exts.Syntax.Boxed</div><div>      Probable cause: bug in .hi-boot file, or inconsistent .hi file</div>

</div><div><div>      Use -ddump-if-trace to get an idea of which file caused the error</div></div><div><br></div><div>Using -ddump-if-trace didn&#39;t help me much.</div><div><br></div><div>The funny thing is that if I comment out the last line (the definition of &#39;ty&#39;) then the module loads just fine even though it uses the Boxed type in the definition of &#39;unit&#39;. So the problem only manifests itself when I use tuples from haskell-src-exts-qq. Everything else that I&#39;ve used from haskell-src-exts-qq works fine, it&#39;s just when I try to use tuples that things go haywire.</div>

<div><br></div><div>I&#39;ve tried to remove the packages and reinstall them but it didn&#39;t help.</div><div><br></div><div>Any clues?</div><div><br></div><div>Josef</div><div><br></div><div><div>TestBug.hs:11:11:</div>

<div>    Can&#39;t find interface-file declaration for variable Language.Haskell.Exts.Syntax.Boxed</div><div>      Probable cause: bug in .hi-boot file, or inconsistent .hi file</div><div>      Use -ddump-if-trace to get an idea of which file caused the error</div>

<div>    In the first argument of `Language.Haskell.Exts.Syntax.TyTuple&#39;, namely</div><div>      `Language.Haskell.Exts.Syntax.Boxed&#39;</div><div>    In the third argument of `Language.Haskell.Exts.Syntax.TypeSig&#39;, namely</div>

<div>      `Language.Haskell.Exts.Syntax.TyTuple</div><div>         Language.Haskell.Exts.Syntax.Boxed</div><div>         ((:)</div><div>            (Language.Haskell.Exts.Syntax.TyVar</div><div>               (Language.Haskell.Exts.Syntax.Ident ((:) &#39;a&#39; [])))</div>

<div>            ((:)</div><div>               (Language.Haskell.Exts.Syntax.TyVar</div><div>                  (Language.Haskell.Exts.Syntax.Ident ((:) &#39;b&#39; [])))</div><div>               []))&#39;</div><div>    In the expression:</div>

<div>      Language.Haskell.Exts.Syntax.TypeSig</div><div>        (SrcLoc</div><div>           ((:)</div><div>              &#39;&lt;&#39;</div><div>              ((:)</div><div>                 &#39;u&#39;</div><div>                 ((:)</div>

<div>                    &#39;n&#39;</div><div>                    ((:)</div><div>                       &#39;k&#39;</div><div>                       ((:)</div><div>                          &#39;n&#39;</div><div>                          ((:)</div>

<div>                             &#39;o&#39;</div><div>                             ((:)</div><div>                                &#39;w&#39; ((:) &#39;n&#39; ((:) &#39;&gt;&#39; ((:) &#39;.&#39; ((:) &#39;h&#39; ((:) &#39;s&#39; []))))))))))))</div>

<div>           1</div><div>           2)</div><div>        ((:)</div><div>           (Language.Haskell.Exts.Syntax.Ident</div><div>              ((:) &#39;q&#39; ((:) &#39;u&#39; ((:) &#39;u&#39; ((:) &#39;x&#39; [])))))</div>

<div>           [])</div><div>        (Language.Haskell.Exts.Syntax.TyTuple</div><div>           Language.Haskell.Exts.Syntax.Boxed</div><div>           ((:)</div><div>              (Language.Haskell.Exts.Syntax.TyVar</div>

<div>                 (Language.Haskell.Exts.Syntax.Ident ((:) &#39;a&#39; [])))</div><div>              ((:)</div><div>                 (Language.Haskell.Exts.Syntax.TyVar</div><div>                    (Language.Haskell.Exts.Syntax.Ident ((:) &#39;b&#39; [])))</div>

<div>                 [])))</div><div>Failed, modules loaded: none.</div></div><div><br></div>