[GHC] #4012: Compilation results are not deterministic

GHC ghc-devs at haskell.org
Thu Jun 23 14:56:09 UTC 2016


#4012: Compilation results are not deterministic
-------------------------------------+-------------------------------------
        Reporter:  kili              |                Owner:  niteria
            Type:  bug               |               Status:  new
        Priority:  high              |            Milestone:  8.2.1
       Component:  Compiler          |              Version:  6.12.2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  Other             |            Test Case:
      Blocked By:  11362             |             Blocking:
 Related Tickets:  #10424            |  Differential Rev(s):  Phab:D910,
                                     |  Phab:D1073, Phab:D1133, Phab:D1192,
                                     |  Phab:D1268, Phab:D1360, Phab:D1373,
       Wiki Page:                    |  Phab:D1396, Phab:D1457, Phab:D1468,
  DeterministicBuilds                |  Phab:D1487, Phab:D1504, Phab:D1508
-------------------------------------+-------------------------------------

Comment (by Bartosz Nitka <niteria@…>):

 In [changeset:"35d1564cea2e611a4fecf24f09eff83f8a55af1c/ghc"
 35d1564c/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="35d1564cea2e611a4fecf24f09eff83f8a55af1c"
 Provide Uniquable version of SCC

 We want to remove the `Ord Unique` instance because there's
 no way to implement it in deterministic way and it's too
 easy to use by accident.

 We sometimes compute SCC for datatypes whose Ord instance
 is implemented in terms of Unique. The Ord constraint on
 SCC is just an artifact of some internal data structures.
 We can have an alternative implementation with a data
 structure that uses Uniquable instead.

 This does exactly that and I'm pleased that I didn't have
 to introduce any duplication to do that.

 Test Plan:
 ./validate
 I looked at performance tests and it's a tiny bit better.

 Reviewers: bgamari, simonmar, ezyang, austin, goldfire

 Subscribers: thomie

 Differential Revision: https://phabricator.haskell.org/D2359

 GHC Trac Issues: #4012
 }}}

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


More information about the ghc-tickets mailing list