[ghc-steering-committee] GHC2021: DeriveAnyClass

Spiwack, Arnaud arnaud.spiwack at tweag.io
Fri Dec 4 07:10:44 UTC 2020

On Tue, Dec 1, 2020 at 9:47 AM Alejandro Serrano Mena <trupill at gmail.com>

> Thanks for the illuminating discussion! I’ve been convinced that we should
> move away from DeriveAnyClass, and provide and start using ‘via
> Generically’ instead. Which happily also gets rid of DefaultSignatures,
> which I never liked due to the intimate bundling with the class
> declaration.

This is a statement that I can't necessarily get behind. I've got enough
experience with DerivingVia to say that it is a pretty esoteric extension.
The error messages are pretty bad, and it's easy to get bitten by the lack
of higher-order roles (see also: roles). But more importantly, it's simply
difficult to grasp how to use this extension, it's its own language inside
the language. DerivingVia is likely to remain very advanced Haskell for
quite a while. Whereas DeriveAnyClass is rather simple, even if fraught
with subtle traps like we've discussed here; hence probably not worth
including in our first round of default where we rather want to stay
conservative, until we have fewer extensions to consider and we can
scrutinise them more carefully.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20201204/98980825/attachment.html>

More information about the ghc-steering-committee mailing list