[GHC] #8953: Reifying poly-kinded type families misses kind annotations

GHC ghc-devs at haskell.org
Thu Apr 3 17:56:53 UTC 2014


#8953: Reifying poly-kinded type families misses kind annotations
-------------------------------------+------------------------------------
        Reporter:  goldfire          |            Owner:  goldfire
            Type:  bug               |           Status:  new
        Priority:  normal            |        Milestone:
       Component:  Template Haskell  |          Version:  7.9
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------
Changes (by goldfire):

 * owner:   => goldfire


Comment:

 Unfortunately, I think the solution is to include kind annotations on
 ''every'' variable being reified in this context. The problem is that the
 declarations above do ''not'' come from source Haskell -- the declarations
 are reconstructed from Core. In Core, every variable has a known kind, so
 kind annotations do not exist. Although I can imagine some big,
 complicated inference algorithm that would detect exactly when the
 annotation is necessary in user code. I don't see a simple way to do this.
 And, I think the complicated thing has a very wrong power-to-weight ratio.

 Of course, adding in all the kind annotations is a breaking change that
 will likely break existing code that reifies type families. Happily, the
 implementation is easy.

 If no one objects to this change, I'll put it in in due course. (Not for
 7.8!)

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


More information about the ghc-tickets mailing list