[GHC] #15147: Type checker plugin receives Wanteds that are not completely unflattened

GHC ghc-devs at haskell.org
Sun Jun 3 16:02:44 UTC 2018


#15147: Type checker plugin receives Wanteds that are not completely unflattened
-------------------------------------+-------------------------------------
        Reporter:  nfrisby           |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.6.1
       Component:  Compiler (Type    |              Version:  8.4.1
  checker)                           |             Keywords:
      Resolution:                    |  TypeCheckerPlugins
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by nfrisby):

 My plugin is responsible for reducing some type families. Receiving
 flattened Wanteds appeals to me because all of the tyfam applications
 (except those under forall? hmmm) would be FunEq constraints, so I
 wouldn't have to seek them out in the types.

 So perhaps if there were a separate mechanism for the plugin to declare a
 custom "reducer" for a type family, that might eliminate my interest in
 flattened Wanteds.

 Another related quality of life improvement would be easier access to the
 unflattening substitution, e.g. without having to manually assemble the
 FunEq constraints. I'm not sure yet, but I think I'll eventually want to
 only unflatten certain "relevant" type families (and maybe other
 applications containing applications of those type families). (This is for
 givens too, not just Wanteds.)

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15147#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list