[GHC] #14880: GHC panic: updateRole

GHC ghc-devs at haskell.org
Fri Sep 7 10:56:19 UTC 2018


#14880: GHC panic: updateRole
-------------------------------------+-------------------------------------
        Reporter:  RyanGlScott       |                Owner:  goldfire
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.8.1
       Component:  Compiler (Type    |              Version:  8.2.2
  checker)                           |
      Resolution:                    |             Keywords:  TypeInType
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash or panic                     |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #15076            |  Differential Rev(s):  Phab:D4769
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by tdammers):

 Replying to [comment:108 simonpj]:
 > > But Simon's approach applied to your patch doesn't
 >
 > Gah! This zombie keeps rising from the dead.
 >
 > I suggest
 >
 > '''Step 1''': improve `tyCoVarsOfType`.
 >
 > * Apply my patch to HEAD, with the fix in `ty_co_vars_of_co_var`.
 > * Check that it's a win -- generally perf should improve slightly
 > * Commit

 Yes. This should be fairly straightforward - that part of the whole thing
 I completely understand, so I should be able to do that rather easily. It
 gets a bit tricky combining this part with other changes that also factor
 out a `tcvs_of_type` style worker, but I believe none of these changes are
 currently in HEAD.

 > Now move on to this ticket
 >
 > '''Step 2:''' deal with `Note [Closing over free variable kinds]` (this
 note is in Richard's original patch).
 >
 > This is a change that fixes an outright bug, albeit one that has not
 been reported.  I think it is nothing to do with the original `updateRole`
 problem.
 >
 > * Invite Richard to implement `Note [Closing over free variable kinds]`
 in `TyCoRep`, based on his patch.  This will take him (or me) 20 mins.  I
 think the only changes are in `TyCoRep`.
 > * Do perf tests.
 >
 > '''Step 3'''. Back to this ticket and `updateRole`:
 >
 > * Apply the rest of Richard's patch, ''except'' the stuff in `TyCoRep`
 > * Test

 Is Step 2 the part where you close over kinds at the end rather than in
 between? Because that also seems fairly straightforward, it's just a
 simple `closeOverKinds` implementation, and then factoring out workers for
 the various `tyCoVarsOf...` functions and wrapping them with
 `closeOverKinds` appropriately. The rest of Richard's patch is what goes
 over my head.

 Other than that, yes, this sounds like a solid plan.

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


More information about the ghc-tickets mailing list