[GHC] #11400: * is not an indexed type family

GHC ghc-devs at haskell.org
Sun Jan 10 18:58:21 UTC 2016


#11400: * is not an indexed type family
-------------------------------------+-------------------------------------
           Reporter:  RyanGlScott    |             Owner:
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.1
  (Type checker)                     |
           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:
-------------------------------------+-------------------------------------
 I can't seem to create an indexed data family using the kind `*` with
 `-XTypeInType` enabled. I have to work around it by using `Type`:

 {{{
 $ /opt/ghc/head/bin/ghci
 GHCi, version 8.1.20160108: http://www.haskell.org/ghc/  :? for help
 λ> :set -XTypeInType -XTypeFamilies
 λ> import Data.Kind
 λ> data family IdxProxy k (a :: k)
 λ> data instance IdxProxy * a

 <interactive>:5:1: error:
     • Illegal family instance for ‘*’
         (* is not an indexed type family)
     • In the data instance declaration for ‘*’
 λ> data instance IdxProxy Type a
 λ> :kind! IdxProxy *
 IdxProxy * :: * -> *
 = IdxProxy *
 λ> :kind! IdxProxy Type
 IdxProxy Type :: Type -> *
 = IdxProxy Type
 }}}

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


More information about the ghc-tickets mailing list