On 02/04/2016 02:19 PM, Wolfgang Jeltsch wrote:
> Hi,
> 
> if you do generic programming these days, you can use DeriveAnyClass to
> write code like the following (where Serializable is a class with a
> generic default implementation):
> 
>> data Tree a = Leaf | Branch (Tree a) a (Tree a)
>>               deriving (Generic, Serializable)
> 
> It would be great, if you could just write the following instead:
> 
>> data Tree a = Leaf | Branch (Tree a) a (Tree a) deriving Serializable
> 
> This would correspond exactly to what you do when using standard Haskell
> deriving. It could be made possible by letting the compiler instantiate
> the Generic class automatically every time an algebraic data type is
> declared. A potential downside of this would be that programmers would
> not be able to define non-standard instances of Generics, but I actually
> cannot see that this is very useful anyhow.
> 
> Any comments?

GHC.Generics already have an unfair advantage over the alternative (and
arguably, superior) libraries, such as generics-sop. I wouldn't want to
give it even more special treatment than it receives right now.

Roman

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to