[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