[GHC] #10598: DeriveAnyClass and GND don't work well together

GHC ghc-devs at haskell.org
Mon Jun 13 19:47:39 UTC 2016


#10598: DeriveAnyClass and GND don't work well together
-------------------------------------+-------------------------------------
        Reporter:  osa1              |                Owner:  RyanGlScott
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:  8.2.1
       Component:  Compiler          |              Version:  7.11
      Resolution:                    |             Keywords:  Generics
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D2280
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by RyanGlScott):

 Thus far, I have received a vote in favor of the option presented in
 comment:37 from Simon (and Matthew Pickering on #ghc). Since no one has
 objected to it, I think I'll proceed forward with it. I'd like to make one
 critique of my own proposal, though: I don't really like the use of the
 `default` keyword to signify `DeriveAnyClass`, especially since `default`
 could very easily be mistaken for what `builtin` is supposed to signify.
 I'd much rather use the word `anyclass`, as inspired by a
 [https://mail.haskell.org/pipermail/ghc-devs/2016-February/011267.html
 ghc-devs post] by kosmikus.

 Also, to ensure that users can't write something like

 {{{#!hs
 newtype Foo = Foo Bar
   deriving (A, B, C)
   deriving (D, E, F)
   deriving (G, H, I)
   deriving (J, K, L)
 }}}

 in regular Haskell, we'd need to guard the use of multiple `deriving`
 clauses for one datatype behind a language extension. I propose just
 making that language extension also be `DerivingStrategies`.

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


More information about the ghc-tickets mailing list