[GHC] #4019: deriving Ord can produce incorrect and inefficient instances

GHC ghc-devs at haskell.org
Mon Dec 1 21:20:27 UTC 2014


#4019: deriving Ord can produce incorrect and inefficient instances
-------------------------------------+-------------------------------------
              Reporter:  rl          |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  low         |        Milestone:
             Component:  Compiler    |          Version:  6.13
            Resolution:              |         Keywords:
      Operating System:              |     Architecture:  Unknown/Multiple
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:  Incorrect   |       Blocked By:
  result at runtime                  |  Related Tickets:
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------
Changes (by thomie):

 * difficulty:   => Unknown
 * milestone:  7.10.1 =>


Comment:

 This was fixed in 2010. A regression test is missing.

 commit f3c7ab8dbd5a46ef5a7aeeb398a6d4bc1482e606
 {{{
 Author: Simon Peyton Jones <>
 Date:   Mon May 10 13:33:33 2010 +0000

     Re-engineer the derived Ord instance generation code (fix Trac #4019)

     As well as fixing #4019, I rejigged the way that Ord instances are
     generated, which should make them faster in general.  See the
     Note [Generating Ord instances].

     I tried to measure the performance difference from this change, but
     the #4019 fix only removes one conditional branch per iteration, and
     I couldn't measure a consistent improvement.  But still, tihs is
     better than before.
 }}}

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


More information about the ghc-tickets mailing list