[Hackage] #370: Check for use of -X flags on upload

Hackage trac at galois.com
Mon Oct 13 16:32:51 EDT 2008


#370: Check for use of -X flags on upload
----------------------------+-----------------------------------------------
  Reporter:  guest          |        Owner:           
      Type:  defect         |       Status:  new      
  Priority:  normal         |    Milestone:  Cabal-2.0
 Component:  Cabal library  |      Version:  HEAD     
  Severity:  normal         |   Resolution:           
  Keywords:                 |   Difficulty:  normal   
Ghcversion:  6.8.2          |     Platform:           
----------------------------+-----------------------------------------------
Changes (by duncan):

  * milestone:  HackageDB => Cabal-2.0

Comment:

 Closely related to this is the problem that the `extensions` field does
 not quite mean what we want. It currently means to apply those excetions
 to all the modules in the package, but what we want it to mean is that
 this package uses these extensions (and not all modules need use all the
 extensions).

 I fear we need a different name for this meaning or we'll break lots of
 existing packages. We can gradually move to the new system.

 Eg use

 {{{
 library
   uses-extensions: Foo, Bar
 }}}

 This is a declaration to the outside world that this library uses these
 extensions, however it does not mean that we pass -XFoo -XBar when
 buliding this library. We expect the .hs files to use the `LANGUAGE`
 pragma. This `uses-extensions` field would just be the union of all the
 extensions listed in the `LANGUAGE` pragma.

 The next question would be how to enforce that the declaration is
 accurate. We could parse the OPTIONS and LANGUAGE pragmas to extract the
 languages used.


 Note also that we should be encouraging the use of the portable `LANGUAGE`
 pragma, not ghc's `-X` flags.

-- 
Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/370#comment:1>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects


More information about the cabal-devel mailing list