[commit: ghc] master: Make Semigroup a superclass of Monoid (re #14191) (8ae263c)
git at git.haskell.org
git at git.haskell.org
Thu Sep 7 21:46:37 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/8ae263ceb3566a7c82336400b09cb8f381217405/ghc
>---------------------------------------------------------------
commit 8ae263ceb3566a7c82336400b09cb8f381217405
Author: Herbert Valerio Riedel <hvr at gnu.org>
Date: Tue Sep 5 07:29:36 2017 +0200
Make Semigroup a superclass of Monoid (re #14191)
Unfortunately, this requires introducing a couple of .hs-boot files to
break up import cycles (mostly to provide class & typenames in order to
be able to write type signatures).
This does not yet re-export `(<>)` from Prelude (while the class-name
`Semigroup` is reexported); that will happen in a future commit.
Test Plan: local ./validate passed
Reviewers: ekmett, austin, bgamari, erikd, RyanGlScott
Reviewed By: ekmett, RyanGlScott
GHC Trac Issues: #14191
Differential Revision: https://phabricator.haskell.org/D3927
>---------------------------------------------------------------
8ae263ceb3566a7c82336400b09cb8f381217405
compiler/prelude/PrelNames.hs | 8 +-
libraries/base/Data/Either.hs | 12 +
libraries/base/Data/Functor/Const.hs | 4 +-
libraries/base/Data/Functor/Identity.hs | 4 +-
libraries/base/Data/Functor/Utils.hs | 36 +--
libraries/base/Data/Monoid.hs | 165 +-----------
libraries/base/Data/Ord.hs | 1 +
libraries/base/Data/Proxy.hs | 7 +-
libraries/base/Data/Semigroup.hs | 296 ++-------------------
libraries/base/Data/Semigroup/Internal.hs | 258 ++++++++++++++++++
libraries/base/Data/Semigroup/Internal.hs-boot | 12 +
libraries/base/Data/Void.hs | 6 +
libraries/base/GHC/Base.hs | 171 +++++++++---
libraries/base/GHC/Base.hs-boot | 10 +
libraries/base/GHC/Event/Internal.hs | 18 +-
libraries/base/GHC/Real.hs-boot | 7 +
libraries/base/GHC/ST.hs | 5 +-
libraries/base/Prelude.hs | 3 +-
libraries/base/base.cabal | 1 +
libraries/base/changelog.md | 6 +
testsuite/tests/ghci/scripts/T10963.script | 4 +-
testsuite/tests/ghci/scripts/T4175.stdout | 3 +
testsuite/tests/ghci/scripts/T7627.stdout | 3 +
testsuite/tests/ghci/scripts/T8535.stdout | 1 +
testsuite/tests/ghci/scripts/T9881.stdout | 4 +
testsuite/tests/ghci/scripts/ghci011.stdout | 4 +
testsuite/tests/ghci/scripts/ghci020.stdout | 1 +
testsuite/tests/ghci/should_run/T10145.stdout | 1 +
testsuite/tests/perf/compiler/all.T | 3 +-
testsuite/tests/perf/should_run/T4978.hs | 7 +-
testsuite/tests/polykinds/MonoidsFD.hs | 5 +-
testsuite/tests/polykinds/MonoidsTF.hs | 6 +-
testsuite/tests/polykinds/T7332.hs | 3 +-
testsuite/tests/semigroup/Makefile | 3 -
testsuite/tests/semigroup/SemigroupWarnings.hs | 34 ---
testsuite/tests/semigroup/SemigroupWarnings.stderr | 8 -
testsuite/tests/semigroup/all.T | 1 -
testsuite/tests/simplCore/should_run/T13429a.hs | 6 +-
testsuite/tests/typecheck/should_run/T6117.hs | 2 +
.../tests/wcompat-warnings/WCompatWarningsNotOn.hs | 2 +-
.../tests/wcompat-warnings/WCompatWarningsOff.hs | 2 +-
.../tests/wcompat-warnings/WCompatWarningsOn.hs | 2 +-
.../wcompat-warnings/WCompatWarningsOn.stderr | 2 +-
.../tests/wcompat-warnings/WCompatWarningsOnOff.hs | 2 +-
44 files changed, 579 insertions(+), 560 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 8ae263ceb3566a7c82336400b09cb8f381217405
More information about the ghc-commits
mailing list