[commit: ghc] wip/T2893: Generalise quantified constraints (c477f53)

git at git.haskell.org git at git.haskell.org
Wed Feb 21 00:04:29 UTC 2018


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

On branch  : wip/T2893
Link       : http://ghc.haskell.org/trac/ghc/changeset/c477f53799deb46b4987ac788ad67d1bcbb8eb0c/ghc

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

commit c477f53799deb46b4987ac788ad67d1bcbb8eb0c
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Wed Feb 21 00:00:35 2018 +0000

    Generalise quantified constraints
    
    This patch fixes Trac #14733, by generalising quantified
    consrtraints to allow type variables in the head, thus
    
      f :: forall m a. (forall b. m b) => D (m a)
    
    Notice the 'm' in the head of the quantified constraint, not
    a class.
    
    This entailed some re-engineering, but it's nice.


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

c477f53799deb46b4987ac788ad67d1bcbb8eb0c
 compiler/typecheck/TcCanonical.hs |  45 +++---
 compiler/typecheck/TcInteract.hs  | 305 +++++++++++++++++++++++---------------
 compiler/typecheck/TcSMonad.hs    | 160 ++++++++++----------
 compiler/typecheck/TcValidity.hs  |  50 +++----
 compiler/types/Type.hs            |   7 +-
 5 files changed, 315 insertions(+), 252 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 c477f53799deb46b4987ac788ad67d1bcbb8eb0c


More information about the ghc-commits mailing list