<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2015-06-06 22:09 GMT+02:00 Anthony Cowley <span dir="ltr"><<a href="mailto:acowley@seas.upenn.edu" target="_blank">acowley@seas.upenn.edu</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5"><span style="color:rgb(34,34,34)">I'll repeat myself:</span></div></div></blockquote><div><br></div><div>... and so do I:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
1) The proposed extension will live behind a pragma<br></blockquote><div><br></div><div>That's exactly what I'm asking for: A new {-# LANGUAGE FunkyImports #-} pragma (name to be decided ;-), which must be mentioned in a cabal file's "extension:" field (<a href="https://www.haskell.org/cabal/users-guide/developing-packages.html#creating-a-package">https://www.haskell.org/cabal/users-guide/developing-packages.html#creating-a-package</a>). Failing to mention a language extension is just as wrong as declaring wrong bounds.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
2) cabal does not take language extensions into account when computing<br>
a build plan<br></blockquote><div><br></div><div>If that's actually the case (can some Cabal devs clarify this?), than it's a Cabal bug, otherwise the "extension:" field would be meaningless and build plans would be fragile. Anyway, this has nothing to do per se with the proposal.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
The only way to give cabal a clue about a used extension is to put a<br>
lower bound on base, but you specifically rejected that as ridiculous.<br></blockquote><div><br></div><div>That would in fact be ridiculous, just as saying "every release with a prime major version number implies the new language extension.". One could perfectly implement any base version without implementing the proposal.</div></div></div></div>