haddock specializeInstHead

Alan & Kim Zimmerman alan.zimm at gmail.com
Fri Oct 20 17:33:29 UTC 2017


I am working the next stage of Trees that Grow into GHC [1], and need to
update Haddock.

The `Specialize` module[2] exports a single function, `specializeInstHead`
which is called once, specialised to `GhcRn`.

So all it needs to be for haddock use is

specializeInstHead :: InstHead GhcRn -> InstHead GhcRn

But the entire module is polymorphic in the AST parameter, so it has the
following instead

specializeInstHead :: (Ord (IdP name), DataId name, SetName (IdP name),
                                NamedThing (IdP name))
                       => InstHead name -> InstHead name

Question: does it need to be so polymorphic?

I am hitting issues getting the type parameter change worked through, and
it seems a bit pointless to slog on with it if it is unnecessary.

Alan

[1] https://github.com/ghc/ghc/tree/wip/ttg-2017-10-13
[2]
https://github.com/haskell/haddock/blob/a5bdb46185b7c0b3fced9a7fac9a62883d9d57b7/haddock-api/src/Haddock/Interface/Specialize.hs#L87
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20171020/2aa302f6/attachment.html>


More information about the ghc-devs mailing list