[GHC] #4426: Simplify the rules for implicit quantification
GHC
ghc-devs at haskell.org
Fri Nov 15 21:28:41 UTC 2013
#4426: Simplify the rules for implicit quantification
-------------------------------------+------------------------------------
Reporter: simonpj | Owner:
Type: feature request | Status: patch
Priority: low | Milestone: 7.6.2
Component: Compiler | Version: 6.12.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets: #7880
-------------------------------------+------------------------------------
Changes (by monoidal):
* status: new => patch
Comment:
Patch attached.
It adds a new warning `-fwarn-context-quantification` that reports when a
variable is quantified only because it under a "=>" arrow. Later, as the
proposal says, this warning will be made an out-of-scope error.
Normally, `HsForAll` is either `HsForAll Implicit` or `HsForAll Explicit`,
and a context `T => R` inserts `HsForAll Implicit`. This patch adds a new
value, `HsForAll Qualified`, which is completely equivalent to `HsForAll
Implicit` save for the warning message. Later, its behavior will be
changed and the renamer will not do implicit quantification for variables
under `HsForAll Quantified`.
I made `-Wall` not imply this flag, in (doubtful) case there is still time
to merge this to GHC 7.8. In this case, there is full backwards
compatibility: no change in behavior except if the flag is explicitly
supplied. However, the API is slightly changed and I had to make a tiny
change to Haddock. If it's too late, in GHC 7.10 I'd like `-Wall` to
enable `-fwarn-context-quantification`, so I'll amend the patch.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/4426#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list