[commit: ghc] master: Refactor the topNormaliseNewType story, fixing Trac #8467 (2650da2)

git at git.haskell.org git at git.haskell.org
Thu Oct 24 10:39:45 UTC 2013


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/2650da2b8b744248c2529d8c5969b78cd97239d3/ghc

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

commit 2650da2b8b744248c2529d8c5969b78cd97239d3
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Thu Oct 24 11:15:04 2013 +0100

    Refactor the topNormaliseNewType story, fixing Trac #8467
    
    A bit of a mess had accumulated, with unclear invariants.
    
    * Remove splitNewTypeRepCo_maybe, in favour of topNormaliseNewType_maybe
      (which had the same signature but behaved subtly differently).
    
    * Make topNormaliseNewType_maybe guaranteed to return a non-newtype
      if it says (Just ty).  This is what was causing the loop in #8467
    
    * Apply similar tidying up to FamInstEnv.topNormaliseType


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

2650da2b8b744248c2529d8c5969b78cd97239d3
 compiler/coreSyn/CoreArity.lhs |    2 +-
 compiler/deSugar/DsCCall.lhs   |    6 +--
 compiler/stranal/WwLib.lhs     |  104 +++++++++++++++++++--------------------
 compiler/types/Coercion.lhs    |   65 ++++++++++++-------------
 compiler/types/FamInstEnv.lhs  |  105 +++++++++++++++++++++++-----------------
 5 files changed, 147 insertions(+), 135 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 2650da2b8b744248c2529d8c5969b78cd97239d3


More information about the ghc-commits mailing list