
#11400: * is not an indexed type family -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 8.1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): Actually, this might just be a parser issue, not a data family issue. I can also get the above instance to work by typing it in as {{{#!hs data instance IdxProxy (*) a }}} Which leads me to believe that GHC is parsing {{{data instance IdxProxy * a}}} as {{{data instance (*) IdProxy a}}}—that is, it's interpreting `*` as an infix type operator (as evidence, typing in the latter declaration gets the same error message the former). I'm not sure how tricky it would be to detangle the parser in this case, since I'm not sure how GHC knows to choose `Data.Kind.*` over an infix type operator that happens to be named `*`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11400#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler