
#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) | Keywords: Resolution: | Architecture: Operating System: Unknown/Multiple | Unknown/Multiple Type of failure: GHC rejects | Test Case: valid program | Blocking: Blocked By: | Differential Revisions: Related Tickets: #8634 | -------------------------------------+------------------------------------- Comment (by simonpj): OK, so aside from the "redundant constraint" problem (now reported as #10100), what's left in this ticket? * The error message looks absolutely right to me. {{{ 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’ }}} * Yes, the user manual about "lifting the Paterson conditions" is wrong: see #8634, comment:14. * If, for some reason, this code is really really what you want, then you need `DysFunctionalDependencies`; for that see #8634. So can we close this ticket? Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9103#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler