[GHC] #2850: GeneralizedNewtypeDeriving + TypeFamilies doesn't work

GHC ghc-devs at haskell.org
Thu Nov 21 14:28:42 UTC 2013


#2850: GeneralizedNewtypeDeriving + TypeFamilies doesn't work
-------------------------------------------------+-------------------------
        Reporter:  ajd                           |            Owner:
            Type:  feature request               |           Status:
        Priority:  normal                        |  closed
       Component:  Compiler                      |        Milestone:  6.12
      Resolution:  fixed                         |  branch
Operating System:  Unknown/Multiple              |          Version:
 Type of failure:  None/Unknown                  |  6.10.1
       Test Case:                                |         Keywords:
  indexed_types/should_compile/T2850             |     Architecture:
        Blocking:                                |  Unknown/Multiple
                                                 |       Difficulty:
                                                 |  Unknown
                                                 |       Blocked By:
                                                 |  Related Tickets:
-------------------------------------------------+-------------------------

Comment (by goldfire):

 Almost, but not quite, due to the lack of informative roles on
 data/newtype instance representation tycons. I do think the fix for #8548
 would fix the example in this ticket, but not something like

 {{{
 data family D a
 data instance D (Maybe a) = MkDMaybe a
 class C (D (Maybe Int)) where ...
 newtype instance D [a] = MkDList (D (Maybe a))
 deriving instance C (D [Age])
 }}}

 That's all rather confusing, but I ''think'' it should work. And it would
 require informative roles on data/newtype instance representation tycons.
 These roles are currently all nominal.

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


More information about the ghc-tickets mailing list