[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