[commit: ghc] master: Simplify Data.Type.Equality.== (4be195e)

git at git.haskell.org git at git.haskell.org
Wed Sep 13 20:54:48 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/4be195e707d5e079dca5b6ce2e6cd34ff7624adf/ghc

>---------------------------------------------------------------

commit 4be195e707d5e079dca5b6ce2e6cd34ff7624adf
Author: David Feuer <david.feuer at gmail.com>
Date:   Wed Sep 13 12:25:11 2017 -0400

    Simplify Data.Type.Equality.==
    
    Contrary to previous comments, we can calculate `==` for types
    in an extremely general fashion. The approach used here is actually
    the one mistakenly rejected as impossible. There will be some cases
    when the previous version was able to reduce and this one is not,
    particularly for types in `*` that are unknown, but known equal.
    However, the new behavior is much more uniform. Within the
    established framework of equality testing by pattern matching,
    it does a better job than the previous version.
    
    Reviewers: goldfire, austin, hvr, bgamari, RyanGlScott
    
    Reviewed By: RyanGlScott
    
    Subscribers: RyanGlScott, rwbarton, thomie
    
    Differential Revision: https://phabricator.haskell.org/D3835


>---------------------------------------------------------------

4be195e707d5e079dca5b6ce2e6cd34ff7624adf
 docs/users_guide/8.4.1-notes.rst     |   8 ++
 libraries/base/Data/Either.hs        |   9 --
 libraries/base/Data/Type/Equality.hs | 201 ++++++++---------------------------
 libraries/base/GHC/TypeLits.hs       |  10 +-
 libraries/base/GHC/TypeNats.hs       |  10 +-
 libraries/base/changelog.md          |   8 ++
 6 files changed, 62 insertions(+), 184 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 4be195e707d5e079dca5b6ce2e6cd34ff7624adf


More information about the ghc-commits mailing list