[GHC] #13782: Bullish use of Template Haskell's newName causes GHC internal error

GHC ghc-devs at haskell.org
Wed Jun 14 22:03:47 UTC 2017


#13782: Bullish use of Template Haskell's newName causes GHC internal error
-------------------------------------+-------------------------------------
        Reporter:  RyanGlScott       |                Owner:  carlostome
            Type:  bug               |               Status:  patch
        Priority:  high              |            Milestone:  8.2.1
       Component:  Template Haskell  |              Version:  8.0.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash or panic                     |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #12503            |  Differential Rev(s):  Phab:D3641
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 I agree with Richard's comment that the fix is suspicous.  For now, let's
 just dump the `OccSets` entirely, and filter the `RdrName` lists.  This
 will actually be more efficient in the common case of small sets.

 If we find programs with zillions of foralls we can deal with it then.
 Incidentally, even as it stands we call `nub` on these lists, and there is
 lots of appending, which is equally quadratic.

 I believe, but I am not sure, that `fkfv_all = fktv_kis ++ kktv_tys`.
 Assuming so, let's dump `fktv_all` too leaving only two fields, and just
 append when needed.   Unless the ''order'' is significant?    Nothing in
 the comments suggest that it is.  Richard?

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


More information about the ghc-tickets mailing list