[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