Re: Feedback on -Wredundant-constraints

2016-06-06 Thread Richard Eisenberg
I've been bitten by this too and had to disable the warning. Let me propose an alternative; * -Wredundant-constraints becomes only your Warning 1. That is, it reports when a user writes a constraint that is fully equivalent to some other, strictly smaller constraint, like suggesting simplifying

Re: Feedback on -Wredundant-constraints

2016-06-06 Thread Carter Schonwald
Strong emphatic agreement. Both that it should split up thusly and that the latter shouldn't be in WALL. Otherwise it poisons the well for all be the most sophisticated users of type level programming. I don't suppose there's any hope of having this resolved prior to GHC 8.2 because it is a real u

Re: Feedback on -Wredundant-constraints

2016-06-06 Thread Eric Seidel
On Mon, Jun 6, 2016, at 07:37, Carter Schonwald wrote: > I don't suppose there's any hope of having this resolved prior to GHC 8.2 > because it is a real usability regression? Because I think we can all > agree > that the proposed change would not break any 8.0 series code, and > positively impac

Re: Feedback on -Wredundant-constraints

2016-06-06 Thread Carter Schonwald
It's a tall ask, but why not? On Jun 6, 2016 12:16 PM, "Eric Seidel" wrote: > > > On Mon, Jun 6, 2016, at 07:37, Carter Schonwald wrote: > > I don't suppose there's any hope of having this resolved prior to GHC 8.2 > > because it is a real usability regression? Because I think we can all > > agre

Re: Feedback on -Wredundant-constraints

2016-06-06 Thread Carter Schonwald
To better elaborate : I definitely want this for the next major version i.e. 8.2.* , but I'm also wondering if perhaps the "overly constrained type" warning should be flat out removed from Wall even in ghc 8.0.2, On Monday, June 6, 2016, Carter Schonwald wrote: > It's a tall ask, but why not? >

Re: Feedback on -Wredundant-constraints

2016-06-06 Thread David Feuer
I strongly agree with per-declaration warning suppression. But I'd like to leave both warnings on by default in -Wall. 1. Sometimes an upstream library will drop a constraint. The warning lets me know I can drop it too. 2. Sometimes an implementation evolves from a draft that requires a constrain