Description
The GHC AST makes liberal use of type families for Trees that Grow extension points.
When working on code that matches on a constructor, the hover information gives the type, which is as-written for the constructor, with a general parameter for the TTG extension point.
But in GHC the extension point parameter is either known precisely (e.g. GhcPs
) or at least limited (GhcPass p)
.
Regardless, there are type family instances in the project for the given type family. These should be displayed in addition to the current hover information.
In the image, it shows hover for XExplicitTuple GhcPs
. We have
type instance XExplicitTupleTy GhcPs = [AddEpAnn]
so it should in this case show [AddEpann]
too.
If it had an unconstrained type parameter in the hover context, it should show all the possibilities, so given
type instance XExplicitTupleTy GhcPs = [AddEpAnn]
type instance XExplicitTupleTy GhcRn = NoExtField
type instance XExplicitTupleTy GhcTc = [Kind]
It should represent this somehow, perhaps just showing the instances in the hover.
For bonus points, have "go to type definition" go to the appropriate definition (or list of definitions)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status