
#13643: Core lint error with TypeInType and TypeFamilyDependencies -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: | InjectiveFamilies, TypeInType Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #12102 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): With HEAD I get {{{ <no location info>: warning: In the expression: $fShowT @ 'I @ 'False Kinds don't match in type application: Type variable: a2_a18K :: Interp 'I Arg type: 'False :: Bool Linted Arg kind: Bool <no location info>: warning: In the type ‘Show (T 'I 'False)’ Kind application error in type ‘T 'I 'False’ Function kind = forall (a :: Code). Interp a -> * Arg kinds = [('I, Code), ('False, Bool)] <no location info>: warning: [RHS of $dShow_a18r :: Show (T 'I ('False |> Sym (D:R:Interp[0])))] Kind application error in coercion ‘(T <'I>_N (Sym (Coh (Sym (Coh <'False>_N (Trans (Sym (D:R:Interp[0])) (D:R:Interp[0])))) (Sym (D:R:Interp[0])))))_N’ Function kind = forall (a :: Code). Interp a -> * Arg kinds = [('I, Code), ('False, Bool)] }}} Look at at the type in the second error: {{{ In the type ‘Show (T 'I 'False)’ }}} It's ill-kinded! I discussed with Richard and this is just another example of #12919. Consider what happens if we flatten {{{ T 'I ('False |> g) }}} we'll get the flattened type {{{ T 'I 'False }}} (plus a coercion), which is ill-kinded. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13643#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler