[Hackage] #484: generalise version range syntax

Hackage trac at galois.com
Sun Feb 1 21:08:16 EST 2009

#484: generalise version range syntax
  Reporter:  duncan         |        Owner:           
      Type:  enhancement    |       Status:  new      
  Priority:  normal         |    Milestone:  Cabal-1.8
 Component:  Cabal library  |      Version:  
  Severity:  normal         |     Keywords:           
Difficulty:  unknown        |   Ghcversion:           
  Platform:                 |  
 The internal version range syntax allows arbitrary unions and
 intersections. The parser only allows two clauses and no brackets.

 See: http://haskell.org/pipermail/haskell-cafe/2009-January/054049.html

 I'm having some difficulty specifying dependencies in my .cabal
 file for a package I'm looking to upload to hackage soon.
 The difficulty is as follows. I basically want to specify
   parsec (>= 2.1 && < 3.0.0) || (> 3.0.0 && < 4)

 I suggest we allow any number of clauses and brackets, to match the
 internal representation. We could also add `/=` or `!=` syntax since that
 is also easy to represent.

 It is harder to translate into other representations however we have a new
 view in terms of version ranges which should make it easier to do
 translations and to discover when the version range has more detail than
 can be represented in the target language (and maybe even approximate in
 such situations).

Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/484>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects

More information about the cabal-devel mailing list