[GHC] #14558: Unable to parse integer-gmp's Cabal file

GHC ghc-devs at haskell.org
Sat Dec 9 16:10:23 UTC 2017


#14558: Unable to parse integer-gmp's Cabal file
-------------------------------------+-------------------------------------
        Reporter:  taylorfausak      |                Owner:  hvr
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Core Libraries    |              Version:  8.2.2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Phyx-):

 Replying to [comment:27 svenpanne]:
 > What is that "clear benefit"? It surely can't be saving roughly ten
 keystrokes. As I understand it, it is just (IMHO superfluous) syntactic
 sugar. If it's not, there should be a big announcement with some
 clarifications and the underlying rationale somewhere on the Haskell
 mailing lists. The cabal file syntax is at the core of the Haskell
 ecosystem, so everybody involved should have a clear understanding of its
 semantics.

 It was announced, about 3 months ago,
 http://coldwa.st/e/blog/2017-09-09-Cabal-2-0.html along with the future
 intention of this syntax and how it differs from the strong bounded
 versions:



  New caret-style version range operator ^>= (#3705) that is equivalent to
 >= intersected with an automatically inferred major upper bound. For
 example, foo ^>= 1.3.1 is equivalent to foo >= 1.3.1 && < 1.4. Besides
 being a convenient syntax sugar, ^>= allows to distinguish “strong” and
 “weak” upper bounds: foo >= 1.3.1 && < 1.4 means “I know for sure that my
 package doesn’t work with foo-1.4”, while foo ^>= 1.3.1 means “I don’t
 know whether foo-1.4, which is not out yet, will break my package, but I
 want to be cautious and follow PVP”. In the future, this feature will
 allow to implement automatic version bounds relaxation in a formally sound
 way (work on this front is progressing on matrix.hackage.haskell.org). See
 this section of the manual for more information.

 It was designed and approved in public
 https://github.com/haskell/cabal/pull/3705 it was publicly posted on
 reddit
 https://www.reddit.com/r/haskell/comments/6z2gja/whats_new_in_cabalcabalinstall_20_improved/

 And the migration plan was outlined
 https://github.com/haskell/cabal/issues/4899.

 Could it be that perhaps a lot of people here don't read Cabal release
 information? Or follow Cabal development? At least taylorfausak can't
 possibly be surprised by it because he was even fighting with hvr about it
 in the reddit thread.

 FYI, it's also in the package changelog
 https://www.haskell.org/cabal/release/cabal-2.0.1.1/changelog which is
 linked to from https://www.haskell.org/cabal/download.html . The post
 never made it to the homepage due to some bikeshedding
 https://github.com/haskell/cabal-website/issues/3.

 It was also announced on twitter
 https://twitter.com/refold/status/906547449329831936

 So I fail to see how any of this could have come at such a big surprise to
 anyone.

 The fact is, the change was not done in secret, the feature not developed
 in secret. The change was communicated well ahead of time and on channels
 that lots of you frequent.

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14558#comment:28>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list