PSA: type checker plugins to be affected by upcoming changes to GHC

Richard Eisenberg rae at
Thu Nov 19 19:01:43 UTC 2020

> On Nov 19, 2020, at 4:14 AM, Adam Gundry <adam at> wrote:
> As part of removing Deriveds, do you plan to change the type-checker
> plugin interface to drop the redundant argument? Although I suppose GHC
> could simply pass an empty list to the plugin.

No -- I think we'll just remove the unused parameter. So much is changing in this space that the tiny bit of back-compat leaving that parameter would grant is a false promise.

> Ideally we would have a spec (or at least some tests!) for what
> constraints get presented to plugins. The current implementation is
> rather dependent on whatever GHC's solver happens to produce. In my
> paper [3] I tried to specify plugins based on the published description
> of OutsideIn(X), but that's far enough from the reality of GHC that it
> isn't much help in practice. (One point it lacks is any treatment of
> Deriveds, so I'm happy to see them go!)

Yes. But this is really hard, and it would likely make e.g. my simplifications harder to execute on. (That is, it would be nice, but it wouldn't be free.) I think that maintaining this would require the extra labor of someone more familiar with the world of plugins... :)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list