Fine-Grained Unused Warnings (#42)

Proposal: Fine-Grained Unused Warnings (#42) Author: Jakob Brünker Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 Recommendation: Acceptance ## Summary The proposal partitions warning about unused identifiers into a) bindings that are truly unused (not mentioned anywhere) and b) bindings that are mentioned exclusively in code that is itself (transitively) unused, and suppresses the latter unless the -freport-indirectly-unused-bindings flag is specified. The proposal is concise with some well-chosen examples and I recommend everyone at least skim it. I propose that we accept this proposal if nobody objects by the start of next week (Monday, 2024-02-19). Chris

I noticed that the default value of the flag is unspecified (I believe that
the flag should be on by default, as deactivating transitively unused
bindings is pretty situational in my opinion; we may even decide to accept
the proposal but without the flag, though I have a feeling that the author
wouldn't be willing to implement the flagless version). I made a comment to
that effect on Github.
The rest of the proposal looks good to me.
On Tue, 13 Feb 2024 at 11:59, Chris Dornan
Proposal: Fine-Grained Unused Warnings (#42) Author: Jakob Brünker Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 Recommendation: Acceptance
## Summary
The proposal partitions warning about unused identifiers into
a) bindings that are truly unused (not mentioned anywhere) and b) bindings that are mentioned exclusively in code that is itself (transitively) unused,
and suppresses the latter unless the -freport-indirectly-unused-bindings flag is specified.
The proposal is concise with some well-chosen examples and I recommend everyone at least skim it.
I propose that we accept this proposal if nobody objects by the start of next week (Monday, 2024-02-19).
Chris _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io.

Thanks Arnaud — I agree with you and have said as much in the thread and asked Jakob to clarify.
On 13 Feb 2024, at 16:57, Arnaud Spiwack
wrote: I noticed that the default value of the flag is unspecified (I believe that the flag should be on by default, as deactivating transitively unused bindings is pretty situational in my opinion; we may even decide to accept the proposal but without the flag, though I have a feeling that the author wouldn't be willing to implement the flagless version). I made a comment to that effect on Github.
The rest of the proposal looks good to me.
On Tue, 13 Feb 2024 at 11:59, Chris Dornan
mailto:chris@chrisdornan.com> wrote: Proposal: Fine-Grained Unused Warnings (#42) Author: Jakob Brünker Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 Recommendation: Acceptance
## Summary
The proposal partitions warning about unused identifiers into
a) bindings that are truly unused (not mentioned anywhere) and b) bindings that are mentioned exclusively in code that is itself (transitively) unused,
and suppresses the latter unless the -freport-indirectly-unused-bindings flag is specified.
The proposal is concise with some well-chosen examples and I recommend everyone at least skim it.
I propose that we accept this proposal if nobody objects by the start of next week (Monday, 2024-02-19).
Chris _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org mailto:ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
-- Arnaud Spiwack Director, Research at https://moduscreate.com https://moduscreate.com/ and https://tweag.io https://tweag.io/.

For the record, Jakob has amended the proposal with the flag on by default.
I'm now fully good with the proposal.
On Wed, 14 Feb 2024 at 14:22, Chris Dornan
Thanks Arnaud — I agree with you and have said as much in the thread and asked Jakob to clarify.
On 13 Feb 2024, at 16:57, Arnaud Spiwack
wrote: I noticed that the default value of the flag is unspecified (I believe that the flag should be on by default, as deactivating transitively unused bindings is pretty situational in my opinion; we may even decide to accept the proposal but without the flag, though I have a feeling that the author wouldn't be willing to implement the flagless version). I made a comment to that effect on Github.
The rest of the proposal looks good to me.
On Tue, 13 Feb 2024 at 11:59, Chris Dornan
wrote: Proposal: Fine-Grained Unused Warnings (#42) Author: Jakob Brünker Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 Recommendation: Acceptance
## Summary
The proposal partitions warning about unused identifiers into
a) bindings that are truly unused (not mentioned anywhere) and b) bindings that are mentioned exclusively in code that is itself (transitively) unused,
and suppresses the latter unless the -freport-indirectly-unused-bindings flag is specified.
The proposal is concise with some well-chosen examples and I recommend everyone at least skim it.
I propose that we accept this proposal if nobody objects by the start of next week (Monday, 2024-02-19).
Chris _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io.
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io.

Indeed — just a gentle reminder that the deadline for amending or objecting to this proposal is this coming Monday 19th. Chris
On 15 Feb 2024, at 07:58, Arnaud Spiwack
wrote: For the record, Jakob has amended the proposal with the flag on by default. I'm now fully good with the proposal.
On Wed, 14 Feb 2024 at 14:22, Chris Dornan
mailto:chris@chrisdornan.com> wrote: Thanks Arnaud — I agree with you and have said as much in the thread and asked Jakob to clarify.
On 13 Feb 2024, at 16:57, Arnaud Spiwack
mailto:arnaud.spiwack@tweag.io> wrote: I noticed that the default value of the flag is unspecified (I believe that the flag should be on by default, as deactivating transitively unused bindings is pretty situational in my opinion; we may even decide to accept the proposal but without the flag, though I have a feeling that the author wouldn't be willing to implement the flagless version). I made a comment to that effect on Github.
The rest of the proposal looks good to me.
On Tue, 13 Feb 2024 at 11:59, Chris Dornan
mailto:chris@chrisdornan.com> wrote: Proposal: Fine-Grained Unused Warnings (#42) Author: Jakob Brünker Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 Recommendation: Acceptance
## Summary
The proposal partitions warning about unused identifiers into
a) bindings that are truly unused (not mentioned anywhere) and b) bindings that are mentioned exclusively in code that is itself (transitively) unused,
and suppresses the latter unless the -freport-indirectly-unused-bindings flag is specified.
The proposal is concise with some well-chosen examples and I recommend everyone at least skim it.
I propose that we accept this proposal if nobody objects by the start of next week (Monday, 2024-02-19).
Chris _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org mailto:ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
-- Arnaud Spiwack Director, Research at https://moduscreate.com https://moduscreate.com/ and https://tweag.io https://tweag.io/.
-- Arnaud Spiwack Director, Research at https://moduscreate.com https://moduscreate.com/ and https://tweag.io https://tweag.io/.

I'm generally fine with this proposal, but does it seem strange to anyone else that this is a -f flag rather than a new set of -W flags? On Thu, Feb 15, 2024, at 02:23, Chris Dornan wrote:
Indeed — just a gentle reminder that the deadline for amending or objecting to this proposal is this coming Monday 19th.
Chris
On 15 Feb 2024, at 07:58, Arnaud Spiwack
wrote: For the record, Jakob has amended the proposal with the flag on by default. I'm now fully good with the proposal.
On Wed, 14 Feb 2024 at 14:22, Chris Dornan
wrote: Thanks Arnaud — I agree with you and have said as much in the thread and asked Jakob to clarify.
On 13 Feb 2024, at 16:57, Arnaud Spiwack
wrote: I noticed that the default value of the flag is unspecified (I believe that the flag should be on by default, as deactivating transitively unused bindings is pretty situational in my opinion; we may even decide to accept the proposal but without the flag, though I have a feeling that the author wouldn't be willing to implement the flagless version). I made a comment to that effect on Github.
The rest of the proposal looks good to me.
On Tue, 13 Feb 2024 at 11:59, Chris Dornan
wrote: Proposal: Fine-Grained Unused Warnings (#42) Author: Jakob Brünker Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 Recommendation: Acceptance
## Summary
The proposal partitions warning about unused identifiers into
a) bindings that are truly unused (not mentioned anywhere) and b) bindings that are mentioned exclusively in code that is itself (transitively) unused,
and suppresses the latter unless the -freport-indirectly-unused-bindings flag is specified.
The proposal is concise with some well-chosen examples and I recommend everyone at least skim it.
I propose that we accept this proposal if nobody objects by the start of next week (Monday, 2024-02-19).
Chris _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io.
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io.
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

Sorry for the late reply. Last week was LNY week 😓 Just catching up on all
the work and other stuff.
I'm with Eric, that this seems fine. And while the -f / -W part is
discussed in the alternatives section, I can see reasons for both.
Guess we'll have to see how this plays out. I'm fine with -f or -W and as
such +1 from me.
On Tue, 20 Feb 2024 at 05:21, Eric Seidel
I'm generally fine with this proposal, but does it seem strange to anyone else that this is a -f flag rather than a new set of -W flags?
Indeed — just a gentle reminder that the deadline for amending or objecting to this proposal is this coming Monday 19th.
Chris
On 15 Feb 2024, at 07:58, Arnaud Spiwack
wrote: For the record, Jakob has amended the proposal with the flag on by default. I'm now fully good with the proposal.
On Wed, 14 Feb 2024 at 14:22, Chris Dornan
wrote: Thanks Arnaud — I agree with you and have said as much in the thread and asked Jakob to clarify.
On 13 Feb 2024, at 16:57, Arnaud Spiwack
wrote: I noticed that the default value of the flag is unspecified (I believe that the flag should be on by default, as deactivating transitively unused bindings is pretty situational in my opinion; we may even decide to accept the proposal but without the flag, though I have a feeling that the author wouldn't be willing to implement the flagless version). I made a comment to that effect on Github.
The rest of the proposal looks good to me.
On Tue, 13 Feb 2024 at 11:59, Chris Dornan
wrote: Proposal: Fine-Grained Unused Warnings (#42) Author: Jakob Brünker Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 Recommendation: Acceptance
## Summary
The proposal partitions warning about unused identifiers into
a) bindings that are truly unused (not mentioned anywhere) and b) bindings that are mentioned exclusively in code that is itself (transitively) unused,
and suppresses the latter unless the -freport-indirectly-unused-bindings flag is specified.
The proposal is concise with some well-chosen examples and I recommend everyone at least skim it.
I propose that we accept this proposal if nobody objects by
On Thu, Feb 15, 2024, at 02:23, Chris Dornan wrote: the start of next week (Monday, 2024-02-19).
Chris _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org
https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io.
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io.
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

I have suggested further precision in the spec. And I strongly urge that
we use a -W flag not -f flag to control these warnings. I have suggested a
design in
https://github.com/ghc-proposals/ghc-proposals/pull/434#issuecomment-1959465...my
comment
With that done, I approve
Simon
On Wed, 21 Feb 2024 at 10:41, Moritz Angermann
Sorry for the late reply. Last week was LNY week 😓 Just catching up on all the work and other stuff.
I'm with Eric, that this seems fine. And while the -f / -W part is discussed in the alternatives section, I can see reasons for both.
Guess we'll have to see how this plays out. I'm fine with -f or -W and as such +1 from me.
On Tue, 20 Feb 2024 at 05:21, Eric Seidel
wrote: I'm generally fine with this proposal, but does it seem strange to anyone else that this is a -f flag rather than a new set of -W flags?
Indeed — just a gentle reminder that the deadline for amending or objecting to this proposal is this coming Monday 19th.
Chris
On 15 Feb 2024, at 07:58, Arnaud Spiwack
wrote: For the record, Jakob has amended the proposal with the flag on by default. I'm now fully good with the proposal.
On Wed, 14 Feb 2024 at 14:22, Chris Dornan
wrote: Thanks Arnaud — I agree with you and have said as much in the thread and asked Jakob to clarify.
On 13 Feb 2024, at 16:57, Arnaud Spiwack
wrote: I noticed that the default value of the flag is unspecified (I believe that the flag should be on by default, as deactivating transitively unused bindings is pretty situational in my opinion; we may even decide to accept the proposal but without the flag, though I have a feeling that the author wouldn't be willing to implement the flagless version). I made a comment to that effect on Github.
The rest of the proposal looks good to me.
On Tue, 13 Feb 2024 at 11:59, Chris Dornan
wrote: > Proposal: Fine-Grained Unused Warnings (#42) > Author: Jakob Brünker > Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... > Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 > Recommendation: Acceptance > > ## Summary > > The proposal partitions warning about unused identifiers into > > a) bindings that are truly unused (not mentioned anywhere) and > b) bindings that are mentioned exclusively in code that is itself (transitively) unused, > > and suppresses the latter unless the -freport-indirectly-unused-bindings flag is specified. > > The proposal is concise with some well-chosen examples and I recommend everyone at least skim it. > > I propose that we accept this proposal if nobody objects by On Thu, Feb 15, 2024, at 02:23, Chris Dornan wrote: the start of next week (Monday, 2024-02-19).
> > Chris > _______________________________________________ > ghc-steering-committee mailing list > ghc-steering-committee@haskell.org > https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io.
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io.
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org
https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

Thanks Simon. We clearly need to adopt the -W design and I have asked Jakob to make the switch in the thread. Chris
On 22 Feb 2024, at 13:37, Simon Peyton Jones
wrote: I have suggested further precision in the spec. And I strongly urge that we use a -W flag not -f flag to control these warnings. I have suggested a design in https://github.com/ghc-proposals/ghc-proposals/pull/434#issuecomment-1959465...my comment
With that done, I approve
Simon
On Wed, 21 Feb 2024 at 10:41, Moritz Angermann
mailto:moritz.angermann@gmail.com> wrote: Sorry for the late reply. Last week was LNY week 😓 Just catching up on all the work and other stuff.
I'm with Eric, that this seems fine. And while the -f / -W part is discussed in the alternatives section, I can see reasons for both.
Guess we'll have to see how this plays out. I'm fine with -f or -W and as such +1 from me.
On Tue, 20 Feb 2024 at 05:21, Eric Seidel
mailto:eric@seidel.io> wrote: I'm generally fine with this proposal, but does it seem strange to anyone else that this is a -f flag rather than a new set of -W flags?
On Thu, Feb 15, 2024, at 02:23, Chris Dornan wrote:
Indeed — just a gentle reminder that the deadline for amending or objecting to this proposal is this coming Monday 19th.
Chris
On 15 Feb 2024, at 07:58, Arnaud Spiwack
mailto:arnaud.spiwack@tweag.io> wrote: For the record, Jakob has amended the proposal with the flag on by default. I'm now fully good with the proposal.
On Wed, 14 Feb 2024 at 14:22, Chris Dornan
mailto:chris@chrisdornan.com> wrote: Thanks Arnaud — I agree with you and have said as much in the thread and asked Jakob to clarify.
> On 13 Feb 2024, at 16:57, Arnaud Spiwack
mailto:arnaud.spiwack@tweag.io> wrote: > > I noticed that the default value of the flag is unspecified (I believe that the flag should be on by default, as deactivating transitively unused bindings is pretty situational in my opinion; we may even decide to accept the proposal but without the flag, though I have a feeling that the author wouldn't be willing to implement the flagless version). I made a comment to that effect on Github. > > The rest of the proposal looks good to me. > > On Tue, 13 Feb 2024 at 11:59, Chris Dornan mailto:chris@chrisdornan.com> wrote: >> Proposal: Fine-Grained Unused Warnings (#42) >> Author: Jakob Brünker >> Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... >> Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 >> Recommendation: Acceptance >> >> ## Summary >> >> The proposal partitions warning about unused identifiers into >> >> a) bindings that are truly unused (not mentioned anywhere) and >> b) bindings that are mentioned exclusively in code that is itself (transitively) unused, >> >> and suppresses the latter unless the -freport-indirectly-unused-bindings flag is specified. >> >> The proposal is concise with some well-chosen examples and I recommend everyone at least skim it. >> >> I propose that we accept this proposal if nobody objects by the start of next week (Monday, 2024-02-19). >> >> Chris >> _______________________________________________ >> ghc-steering-committee mailing list >> ghc-steering-committee@haskell.org mailto:ghc-steering-committee@haskell.org >> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee > > > -- > Arnaud Spiwack > Director, Research at https://moduscreate.com https://moduscreate.com/ and https://tweag.io https://tweag.io/. -- Arnaud Spiwack Director, Research at https://moduscreate.com https://moduscreate.com/ and https://tweag.io https://tweag.io/.
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org mailto:ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
ghc-steering-committee mailing list ghc-steering-committee@haskell.org mailto:ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
ghc-steering-committee mailing list ghc-steering-committee@haskell.org mailto:ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

Folks, Proposal: Fine-Grained Unused Warnings (#42) Author: Jakob Brünker Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 Recommendation: Acceptance ## Summary The proposal partitions warning about unused identifiers into a) bindings that are truly unused (not mentioned anywhere) and b) bindings that are mentioned exclusively in code that is itself (transitively) unused, and controls the latter with the new flag -Windirectly-unused-binds, which is enabled by default (to preserve existing behaviour). Everybody seems to be in favour of the proposal in general and it has been extensively revised for clarity and to ensure in interoperates consistently with the existing warning-flags mechanisms. I propose that we accept this proposal if nobody objects by the start of next week (Monday, 2024-03-18). Chris

I support this. I worked a lot with the author to make the spec precise.
(It was pretty confusing and incomplete before.)
TL;DR: the intent is clear and useful; the details are actually
surprisingly tricky. But (like type inference) users won't really care!
Simon
On Tue, 12 Mar 2024 at 16:39, Chris Dornan
Folks,
Proposal: Fine-Grained Unused Warnings (#42) Author: Jakob Brünker Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 Recommendation: Acceptance
## Summary
The proposal partitions warning about unused identifiers into
a) bindings that are truly unused (not mentioned anywhere) and b) bindings that are mentioned exclusively in code that is itself (transitively) unused,
and controls the latter with the new flag -Windirectly-unused-binds, which is enabled by default (to preserve existing behaviour).
Everybody seems to be in favour of the proposal in general and it has been extensively revised for clarity and to ensure in interoperates consistently with the existing warning-flags mechanisms.
I propose that we accept this proposal if nobody objects by the start of next week (Monday, 2024-03-18).
Chris _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

This looks like a good change to me. There is no discussion around the breaking implications of this, and only Joachim seems to have called them out. E.g. tooling that tries to read GHC's human readable output, and do something with that. The improved clarity of the error messages though is arguably enough. And as far as breakage is concerned, this would only happen to tools that use already a fragile pass parsing log output of another program. I hope this won't cause too much trouble down the line, and am I favour of this proposal. On Wed, 13 Mar 2024 at 00:51, Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
I support this. I worked a lot with the author to make the spec precise. (It was pretty confusing and incomplete before.)
TL;DR: the intent is clear and useful; the details are actually surprisingly tricky. But (like type inference) users won't really care!
Simon
On Tue, 12 Mar 2024 at 16:39, Chris Dornan
wrote: Folks,
Proposal: Fine-Grained Unused Warnings (#42) Author: Jakob Brünker Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 Recommendation: Acceptance
## Summary
The proposal partitions warning about unused identifiers into
a) bindings that are truly unused (not mentioned anywhere) and b) bindings that are mentioned exclusively in code that is itself (transitively) unused,
and controls the latter with the new flag -Windirectly-unused-binds, which is enabled by default (to preserve existing behaviour).
Everybody seems to be in favour of the proposal in general and it has been extensively revised for clarity and to ensure in interoperates consistently with the existing warning-flags mechanisms.
I propose that we accept this proposal if nobody objects by the start of next week (Monday, 2024-03-18).
Chris _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

I'm in favour.
On Wed, 13 Mar 2024 at 08:50, Moritz Angermann
This looks like a good change to me. There is no discussion around the breaking implications of this, and only Joachim seems to have called them out. E.g. tooling that tries to read GHC's human readable output, and do something with that. The improved clarity of the error messages though is arguably enough. And as far as breakage is concerned, this would only happen to tools that use already a fragile pass parsing log output of another program. I hope this won't cause too much trouble down the line, and am I favour of this proposal.
On Wed, 13 Mar 2024 at 00:51, Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
I support this. I worked a lot with the author to make the spec precise. (It was pretty confusing and incomplete before.)
TL;DR: the intent is clear and useful; the details are actually surprisingly tricky. But (like type inference) users won't really care!
Simon
On Tue, 12 Mar 2024 at 16:39, Chris Dornan
wrote: Folks,
Proposal: Fine-Grained Unused Warnings (#42) Author: Jakob Brünker Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 Recommendation: Acceptance
## Summary
The proposal partitions warning about unused identifiers into
a) bindings that are truly unused (not mentioned anywhere) and b) bindings that are mentioned exclusively in code that is itself (transitively) unused,
and controls the latter with the new flag -Windirectly-unused-binds, which is enabled by default (to preserve existing behaviour).
Everybody seems to be in favour of the proposal in general and it has been extensively revised for clarity and to ensure in interoperates consistently with the existing warning-flags mechanisms.
I propose that we accept this proposal if nobody objects by the start of next week (Monday, 2024-03-18).
Chris _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io.

There have been no objections to this (fine-grained warnings) proposal which has been broadly supported through a couple of rounds of voting so I have marked it and marked it as accepted. Thanks everyone. Chris
On 14 Mar 2024, at 07:58, Arnaud Spiwack
wrote: I'm in favour.
On Wed, 13 Mar 2024 at 08:50, Moritz Angermann
mailto:moritz.angermann@gmail.com> wrote: This looks like a good change to me. There is no discussion around the breaking implications of this, and only Joachim seems to have called them out. E.g. tooling that tries to read GHC's human readable output, and do something with that. The improved clarity of the error messages though is arguably enough. And as far as breakage is concerned, this would only happen to tools that use already a fragile pass parsing log output of another program. I hope this won't cause too much trouble down the line, and am I favour of this proposal.
On Wed, 13 Mar 2024 at 00:51, Simon Peyton Jones
mailto:simon.peytonjones@gmail.com> wrote: I support this. I worked a lot with the author to make the spec precise. (It was pretty confusing and incomplete before.)
TL;DR: the intent is clear and useful; the details are actually surprisingly tricky. But (like type inference) users won't really care!
Simon
On Tue, 12 Mar 2024 at 16:39, Chris Dornan
mailto:chris@chrisdornan.com> wrote: Folks,
Proposal: Fine-Grained Unused Warnings (#42) Author: Jakob Brünker Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 Recommendation: Acceptance
## Summary
The proposal partitions warning about unused identifiers into
a) bindings that are truly unused (not mentioned anywhere) and b) bindings that are mentioned exclusively in code that is itself (transitively) unused,
and controls the latter with the new flag -Windirectly-unused-binds, which is enabled by default (to preserve existing behaviour).
Everybody seems to be in favour of the proposal in general and it has been extensively revised for clarity and to ensure in interoperates consistently with the existing warning-flags mechanisms.
I propose that we accept this proposal if nobody objects by the start of next week (Monday, 2024-03-18).
Chris _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org mailto:ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
ghc-steering-committee mailing list ghc-steering-committee@haskell.org mailto:ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
ghc-steering-committee mailing list ghc-steering-committee@haskell.org mailto:ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
-- Arnaud Spiwack Director, Research at https://moduscreate.com https://moduscreate.com/ and https://tweag.io https://tweag.io/. _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

Dear all, this proposal is great. I added a few comments about details on GitHub. Best Malte On 2024-03-12 16:38, Chris Dornan wrote:
Folks,
Proposal: Fine-Grained Unused Warnings (#42) Author: Jakob Brünker Rendered proposal: https://github.com/JakobBruenker/ghc-proposals/blob/fine-grained-unused/prop... Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/434 Recommendation: Acceptance
## Summary
The proposal partitions warning about unused identifiers into
a) bindings that are truly unused (not mentioned anywhere) and b) bindings that are mentioned exclusively in code that is itself (transitively) unused,
and controls the latter with the new flag -Windirectly-unused-binds, which is enabled by default (to preserve existing behaviour).
Everybody seems to be in favour of the proposal in general and it has been extensively revised for clarity and to ensure in interoperates consistently with the existing warning-flags mechanisms.
I propose that we accept this proposal if nobody objects by the start of next week (Monday, 2024-03-18).
Chris
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
participants (6)
-
Arnaud Spiwack
-
Chris Dornan
-
Eric Seidel
-
Malte Ott
-
Moritz Angermann
-
Simon Peyton Jones