[GHC] #7401: Can't derive instance for Eq when datatype has no constructor, while it is trivial do do so.

GHC ghc-devs at haskell.org
Wed Jun 17 14:11:10 UTC 2015


#7401: Can't derive instance for Eq when datatype has no constructor, while it is
trivial do do so.
-------------------------------------+-------------------------------------
        Reporter:  jpbernardy        |                   Owner:  osa1
            Type:  feature request   |                  Status:  new
        Priority:  normal            |               Milestone:  7.12.1
       Component:  Compiler          |                 Version:  7.6.1
      Resolution:                    |                Keywords:  deriving,
Operating System:  Unknown/Multiple  |  newcomer
 Type of failure:  GHC rejects       |            Architecture:
  valid program                      |  Unknown/Multiple
      Blocked By:                    |               Test Case:
 Related Tickets:                    |                Blocking:
                                     |  Differential Revisions:  Phab:D978
-------------------------------------+-------------------------------------

Comment (by jpbernardy):

 Ok, I am just pointing out that the implementation is weird from my point
 of view.
 I don't want to make a big fuss about this, but I feel that it's something
 that should be considered. I suppose in a few years someone may raise the
 issue again :)

 Regarding blame:

 The point is that if you get a value of an empty type in your context, it
 is the caller which is to blame. The proper way to report this blame at
 runtime is force the caller to produce the value, by forcing it. If you
 raise an exception yourself you get the blame instead, and so it is harder
 to track which code is really wrong.

 I think that a good entry point to the concept of blame is

 "Well-typed programs can't be blamed"

 http://homepages.inf.ed.ac.uk/wadler/topics/blame.html

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


More information about the ghc-tickets mailing list