
On Sun, Jan 17, 2010 at 12:27 PM, Ketil Malde
I think there might be justification for doing it multiple places. The cabal file tells you what is required to build the package, the pragmas what is required to build each source file.
Perhaps cabal should complain when source files use pragmas not declared in the cabal file, and perhaps also warn about options in the cabal file not used in any source file.
The "extensions" field in a cabal package description is a bit tricky. The documentation states "A list of Haskell extensions used by every module". This might give the impression that it documents the various extensions used in a package. What it actually does is enable those extensions for every module. Duncan's comments on this ticket are enlightening: http://hackage.haskell.org/trac/hackage/ticket/370 I think the idea of adding a new field "used-extensions" warrants a separate ticket.