[GHC] #9692: Template Haskell reification for Data Families is buggy?

GHC ghc-devs at haskell.org
Wed Oct 15 03:52:35 UTC 2014


#9692: Template Haskell reification for Data Families is buggy?
-------------------------------------+-------------------------------------
       Reporter:  hpacheco           |                   Owner:
           Type:  bug                |                  Status:  new
       Priority:  normal             |               Milestone:
      Component:  Compiler           |                 Version:  7.8.3
       Keywords:  TemplateHaskell    |        Operating System:  MacOS X
   Architecture:  Unknown/Multiple   |         Type of failure:
     Difficulty:  Unknown            |  None/Unknown
     Blocked By:                     |               Test Case:
Related Tickets:                     |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------
 I have found an example where I think that the TH reification for
 data/newtype families is incorrect, in that if forgets non-instantiated
 type variables in instance declarations.

 For the attached example, it will infer the Info:

 {{{#!hs
 FamilyI (FamilyD DataFam TyFamReifyDefs.F [PlainTV a_1627399879,PlainTV
 b_1627399880] (Just StarT)) [DataInstD [] TyFamReifyDefs.F [ConT
 GHC.Types.Int] [NormalC TyFamReifyDefs.FInt [(NotStrict,VarT
 x_1627399881)]] []]
 }}}

 Note how the variable x is not declared in the body of the DataInstD.
 Since it does not need to have the same name as the family-declared
 variable, substituing is non-trivial this way...

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


More information about the ghc-tickets mailing list