<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hello Fellow Haskellers,<div><br></div><div>I have become a maintainer for yarr (<a href="https://hackage.haskell.org/package/yarr">https://hackage.haskell.org/package/yarr</a>). This no longer compiles with ghc-7.8.3 because it specifies base == 4.6. Relaxing this to base >=4.6 && <4.8 tells me I need a newer version of Template Haskell</div><div><br></div><div><blockquote type="cite"><div>rejecting: template-haskell-2.7.0.0, 2.6.0.0, 2.5.0.0, 2.4.0.1, 2.4.0.0,</div><div>2.3.0.1, 2.3.0.0, 2.2.0.0 (conflict: yarr => template-haskell>=2.8 && <2.9)</div></blockquote><div><br></div>If I now relax the constraint for Template Haskell I get a compiler error as there has been a breaking change from Template Haskell 2.9 to 2.10.</div><div><br></div><div><blockquote type="cite"><div>Data/Yarr/Utils/FixedVector/VecTuple.hs:45:16:</div><div>    Couldn't match expected type ‘TypeQ -> Q Dec’</div><div>                with actual type ‘Q Dec’</div><div>    The function ‘tySynInstD’ is applied to three arguments,</div><div>    but its type ‘Name -> TySynEqnQ -> DecQ’ has only two</div></blockquote><div><br></div>And indeed looking at the changes in <a href="http://git.haskell.org/packages/template-haskell.git/commitdiff/ccd7891c536b29b8bea96eb92520f46e21390e39">http://git.haskell.org/packages/template-haskell.git/commitdiff/ccd7891c536b29b8bea96eb92520f46e21390e39</a> I can see that the function in question has changed.</div><div><br></div><div><blockquote type="cite"><div class="diff rem" style="font-family: monospace; font-size: small; white-space: pre; color: rgb(204, 0, 0);">-tySynInstD :: Name -> [Ty<span class="marked" style="background-color: rgb(255, 170, 170);">peQ] -> TypeQ</span> -> DecQ</div><div class="diff rem" style="font-family: monospace; font-size: small; white-space: pre; color: rgb(204, 0, 0);">-tySynInstD tc <span class="marked" style="background-color: rgb(255, 170, 170);">tys rh</span>s = </div><div class="diff add" style="font-family: monospace; font-size: small; white-space: pre; color: rgb(0, 136, 0);">+tySynInstD :: Name -> [Ty<span class="marked" style="background-color: rgb(170, 255, 170);">SynEqnQ]</span> -> DecQ</div><div class="diff add" style="font-family: monospace; font-size: small; white-space: pre; color: rgb(0, 136, 0);">+tySynInstD tc <span class="marked" style="background-color: rgb(170, 255, 170);">eqn</span>s = </div></blockquote><div><br></div><div>Did I miss some announcement of this breaking change and the advice on what to do about it?</div><div><br></div><div>If I did can someone please point me at the relevant document. If not then I feel sad and would be very grateful if someone could help me as I know very little about Template Haskell.</div><div><br></div>Many thanks</div><div><br><div apple-content-edited="true">
<div>Dominic Steinitz</div><div><a href="mailto:dominic@steinitz.org">dominic@steinitz.org</a></div><div><a href="http://idontgetoutmuch.wordpress.com">http://idontgetoutmuch.wordpress.com</a></div>

</div>
<br></div></body></html>