2015-06-06 22:09 GMT+02:00 Anthony Cowley <acowley@seas.upenn.edu>:
I'll repeat myself:

... and so do I:

1) The proposed extension will live behind a pragma

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 (https://www.haskell.org/cabal/users-guide/developing-packages.html#creating-a-package). Failing to mention a language extension is just as wrong as declaring wrong bounds.
 
2) cabal does not take language extensions into account when computing
a build plan

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.
 
The only way to give cabal a clue about a used extension is to put a
lower bound on base, but you specifically rejected that as ridiculous.

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.