
#484: generalise version range syntax ----------------------------+----------------------------------------------- Reporter: duncan | Owner: Type: enhancement | Status: new Priority: normal | Milestone: Cabal-1.8 Component: Cabal library | Version: 1.6.0.1 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