[GHC] #15147: Type checker plugin receives Wanteds that are not completely unflattened
GHC
ghc-devs at haskell.org
Tue Jun 12 17:02:01 UTC 2018
#15147: Type checker plugin receives Wanteds that are not completely unflattened
-------------------------------------+-------------------------------------
Reporter: nfrisby | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.6.1
Component: Compiler (Type | Version: 8.4.1
checker) | Keywords:
Resolution: | TypeCheckerPlugins
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by diatchki):
I agree with Simon here, I think it'd be more consistent if the plugins
were always given the flattened constraints, as it seems simpler and more
consistent.
Also, is it the case that un-flattening only substitutes in the variables
that it introduces by flattening, and not all constraints that are in a
similar form? More concretely, if I a programmer wrote `x ~ F a, G x ~ G
Int`, then would un-flattening rewrite this to `G (F a) ~ G Int` or would
it leave it as is? If the latter, then plugins should already be
prepared to deal with this case, as it would be quite odd if the one form
worked but the other didn't.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15147#comment:17>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list