[GHC] #9103: hackage's type-level-0.2.4 fails to compile

GHC ghc-devs at haskell.org
Tue May 13 07:00:04 UTC 2014


#9103: hackage's type-level-0.2.4 fails to compile
-------------------------------------+-------------------------------------
       Reporter:  slyfox             |             Owner:
           Type:  bug                |            Status:  new
       Priority:  normal             |         Milestone:
      Component:  Compiler (Type     |           Version:  7.8.2
  checker)                           |  Operating System:  Unknown/Multiple
       Keywords:                     |   Type of failure:  GHC rejects
   Architecture:  Unknown/Multiple   |  valid program
     Difficulty:  Unknown            |         Test Case:
     Blocked By:                     |          Blocking:
Related Tickets:                     |
-------------------------------------+-------------------------------------
 Attached trimmed-down dependencyless archive.
 Steps to reproduce:
 {{{
 $ tar -xzf type-level-0.2.4.tar.gz
 $ ghci -hide-all-packages -package=base -package=template-haskell
 Data/TypeLevel.hs
 }}}

 The error on 7.8.2 and in -HEAD is:
 {{{
 [6 of 8] Compiling Data.TypeLevel.Num.Ops ( Data/TypeLevel/Num/Ops.hs,
 interpreted )

 Data/TypeLevel/Num/Ops.hs:90:10:
     Illegal instance declaration for ‘Succ' (x, x) (x, x) D0 D0 True’
       The liberal coverage condition fails in class ‘Succ'’
         for functional dependency: ‘yh yl yz -> xh xl’
       Reason: lhs types ‘D0’, ‘D0’, ‘True’
         do not jointly determine rhs types ‘(x, x)’, ‘(x, x)’
     In the instance declaration for ‘Succ' (x, x) (x, x) D0 D0 True’
 ...
 }}}

 Typechecked fine on ghc-7.6.3
 {{{
 [1 of 8] Compiling Data.TypeLevel.Num.Reps ( Data/TypeLevel/Num/Reps.hs,
 interpreted )
 [2 of 8] Compiling Data.TypeLevel.Num.Sets ( Data/TypeLevel/Num/Sets.hs,
 interpreted )
 [3 of 8] Compiling Data.TypeLevel.Num.Aliases.TH (
 Data/TypeLevel/Num/Aliases/TH.hs, interpreted )
 [4 of 8] Compiling Data.TypeLevel.Num.Aliases (
 Data/TypeLevel/Num/Aliases.hs, interpreted )
 Generating and compiling a zillion numerical type aliases, this might take
 a while
 [5 of 8] Compiling Data.TypeLevel.Bool ( Data/TypeLevel/Bool.hs,
 interpreted )
 [6 of 8] Compiling Data.TypeLevel.Num.Ops ( Data/TypeLevel/Num/Ops.hs,
 interpreted )
 [7 of 8] Compiling Data.TypeLevel.Num ( Data/TypeLevel/Num.hs, interpreted
 )
 [8 of 8] Compiling Data.TypeLevel   ( Data/TypeLevel.hs, interpreted )
 Ok, modules loaded: Data.TypeLevel, Data.TypeLevel.Num,
 Data.TypeLevel.Bool, Data.TypeLevel.Num.Reps, Data.TypeLevel.Num.Aliases,
 Data.TypeLevel.Num.Sets, Data.TypeLevel.Num.Ops,
 Data.TypeLevel.Num.Aliases.TH.
 *Data.TypeLevel>
 }}}

 I have failed to decipher an error message, but looks like it tries to
 instantiate
 a thing it should not.

 My apologies if it's not-a-bug.

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


More information about the ghc-tickets mailing list