Breaking changes to the base library
Oleg Grenrus
oleg.grenrus at iki.fi
Sun Jun 20 15:08:46 UTC 2021
What is the reason that -Wcompat flags are not enabled by -Wall? The
unqualified Data.List import was warned by -Wcompat about since
GHC-8.10, I'm surprised that it still surprise people.
Should -Wcompat be implied by -Wall? Why not? I think that people who
won't ever consider upgrading GHC to be a very very small minority, and
they can suppress these warnings with `-Wall -Wno-compat`.
- Oleg
On 20.6.2021 17.57, Edward Kmett wrote:
> The breakage concern is why Data.List wound up in its limbo-like state
> of re-exporting the Foldable-polymorphic combinators since 7.10 --
> while "weird", it was the only option that didn't have to choose
> between removing the names from Data.List exports entirely and
> breaking unqualified imports of Data.List.
>
> With the monomorphized combinators in place, Data.List should be
> considered a 'qualified' import like Data.Map. We definitely need to
> do more to communicate that this is changing and how users should
> adjust their code to suit. After all, by far the most common intended
> import from Data.List is the humble 'sort', which doesn't conflict.
>
> -Edward
>
> On Sun, Jun 20, 2021 at 4:45 AM Chris Smith <cdsmith at gmail.com
> <mailto:cdsmith at gmail.com>> wrote:
>
> Yikes, this is going to break nearly everything. Definitely good
> to let people know.
>
> On Sun, Jun 20, 2021 at 7:43 AM Ben Gamari <ben at smart-cactus.org
> <mailto:ben at smart-cactus.org>> wrote:
>
> Harendra Kumar <harendra.kumar at gmail.com
> <mailto:harendra.kumar at gmail.com>> writes:
>
> > I see the following errors when compiling with ghc head version:
> >
> > $ ghc-stage2 --version
> > The Glorious Glasgow Haskell Compilation System, version
> 9.3.20210608
> >
> > $ cabal build --with-compiler ghc-stage2 --allow-newer
> >
> > Data/Colour/CIE.hs:80:12: error:
> > Ambiguous occurrence ‘sum’
> > It could refer to
> > either ‘Prelude.sum’,
> > imported from ‘Prelude’ at
> Data/Colour/CIE.hs:25:8-22
> > (and originally defined in ‘Data.Foldable’)
> > or ‘Data.List.sum’,
> > imported from ‘Data.List’ at
> Data/Colour/CIE.hs:41:1-16
> > (and originally defined in ‘GHC.List’)
> > |
> > 80 | total = sum $ map fst l
> > | ^^^
> >
> > Can someone briefly describe this change and what's the
> recommended way of
> > fixing this? Just hide the Data.List definition? I do not
> see this
> > mentioned in the release notes of 9.2/9.4 here:
> >
> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/9.2.1-notes.html
> >
> Indeed, this is due to the monomorphic Data.List proposal,
> which the
> CLC decided would accompany the addition of
> Data.List.singleton. The
> correct fix here is to either qualify the import of
> `Data.List` or add
> an explicit import list. I'll try to remember to add a note
> about this
> to the release notes and migration guide.
>
>
> Cheers,
>
> - Ben
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org <mailto:ghc-devs at haskell.org>
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org <mailto:ghc-devs at haskell.org>
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20210620/11a61596/attachment.html>
More information about the ghc-devs
mailing list