[GHC] #12442: Pure unifier usually doesn't need to unify kinds

GHC ghc-devs at haskell.org
Fri Sep 23 14:34:18 UTC 2016


#12442: Pure unifier usually doesn't need to unify kinds
-------------------------------------+-------------------------------------
        Reporter:  goldfire          |                Owner:
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:  TypeInType
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D2433
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Richard Eisenberg <rae@…>):

 In [changeset:"9766b0c81476c208b2b29ff66d97251209a79707/ghc" 9766b0c/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="9766b0c81476c208b2b29ff66d97251209a79707"
 Fix #12442.

 The problem is described in the ticket.

 This patch adds new variants of the access points to the pure
 unifier that allow unification of types only when the caller
 wants this behavior. (The unifier used to also unify kinds.)
 This behavior is appropriate when the kinds are either already
 known to be the same, or the list of types provided are a
 list of well-typed arguments to some type constructor. In the
 latter case, unifying earlier types in the list will unify the
 kinds of any later (dependent) types.

 At use sites, I went through and chose the unification function
 according to the criteria above.

 This patch includes some modest performance improvements as we
 are now doing less work.
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12442#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list