
#9131: Experiment with a dedicated solver for Coercible -------------------------------------+------------------------------------ Reporter: nomeata | Owner: Type: task | Status: new Priority: low | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by goldfire): Hmmm... this makes sense. Solving for a `Coercible` constraint involves "looking through" newtypes, which may be recursive. This is analogous to the situation with type families, where we require `UndecidableInstances` to do this sort of thing. For good reasons, we can't require `UndecidableInstances` for recursive newtypes. I'm not sure what the best solution here is, though. A part of me would like to define some subset of this problem for which we guarantee completeness (perhaps this subset is "non-recursive newtypes"), not unlike with type families. Good idea to pursue this line. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9131#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler