[GHC] #12860: GeneralizedNewtypeDeriving + MultiParamTypeClasses sends typechecker into an infinite loop
GHC
ghc-devs at haskell.org
Tue Apr 17 15:02:04 UTC 2018
#12860: GeneralizedNewtypeDeriving + MultiParamTypeClasses sends typechecker into
an infinite loop
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler (Type | Version: 8.0.1
checker) | Keywords: FunDeps,
Resolution: | deriving
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
Well I'm not sure what to do.
1 You don't want 'deriving' to loop
2 If the fundep coverage condition isn't satisfied, instance resolution
can go into a loop,
3 But comment:18 says that you want 'deriving' to work when fundep
coverage doesn't hold.
Perhaps (2) is over-conservative, somehow? Presumably there is something
special about (3) that makes it terminate, despite (2) not holding. If
you can identify what that is, you can make that into a new (more
expressive) fundep coverage condition.
Iavor is the fundep expert.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12860#comment:21>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list