[GHC] #12733: Orphan hashes are not being propagated correctly

GHC ghc-devs at haskell.org
Tue Oct 18 06:28:55 UTC 2016


#12733: Orphan hashes are not being propagated correctly
-------------------------------------+-------------------------------------
        Reporter:  ezyang            |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Driver            |              Version:  8.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by ezyang):

 Suggested fix: compute the export hash by hashing together the orphan
 hashes of ALL transitively reachable orphan modules, not just the ones
 from the home package. But perhaps this will have some negative
 performance implication? (Perhaps not too bad; we only pay for orphans,
 and there are not too many of them. We pay a lot more for family
 instances.)

 Another possibility would be to maintain a "transitive orphan hash" which
 is the orphan hash and the orphan hashes of all transitively imported
 orphan modules in a module. Then, for imports for external packages, we
 only put the orphan hash of direct imports into our export hash. Then we
 wouldn't have to probe all transitively imported orphans; just direct
 imports--the downside is that if any of these transitive orphan hashes
 change, our export hash would change, even if the final effective orphans
 in scope stayed the same.

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


More information about the ghc-tickets mailing list