<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif">I'm happy to accept this proposal too.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_default" style="font-family:tahoma,sans-serif">
I’m  happy with Adam’s tweaked proposal, or better with Simon’s refinement

</div></blockquote><div><br></div><div style="font-family:tahoma,sans-serif" class="gmail_default">What is "Simon's refinement".  I think you are referring to :</div><div style="font-family:tahoma,sans-serif" class="gmail_default">


<li><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I'd prefer if -wpartial-record-selectors and -wpartial-record-updates were in -Wall</blockquote></li><li><div>but in fact that's what the proposal says, I believe.</div></li><li><br></li><li><div>Simon <br></div></li></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 17 Sept 2022 at 18:51, Chris Dornan <<a href="mailto:chris@chrisdornan.com">chris@chrisdornan.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">+1 to this: I’m  happy with Adam’s tweaked proposal, or better with Simon’s refinement.<br>
<br>
> On 2022-09-17, at 16:30, Eric Seidel <<a href="mailto:eric@seidel.io" target="_blank">eric@seidel.io</a>> wrote:<br>
> <br>
> Adam has updated the proposal to include the new -Wincomplete-record-selectors in -Wall (as it turns out -Wincomplete-record-updates was already included.<br>
> <br>
> He also added a section providing a rationale for keeping the naming as-is, notably separate from -Wpartial-fields (which disallows the *definition* of partial record selectors).<br>
> <br>
> <a href="https://github.com/adamgundry/ghc-proposals/blob/incomplete-record-selectors/proposals/0000-incomplete-record-selectors.rst#naming" rel="noreferrer" target="_blank">https://github.com/adamgundry/ghc-proposals/blob/incomplete-record-selectors/proposals/0000-incomplete-record-selectors.rst#naming</a><br>
> <br>
> I think this is a reasonable place to land, and recommend accepting the proposal in its current state.<br>
> <br>
> Any objections?<br>
> <br>
> On Wed, Sep 7, 2022, at 18:05, Simon Peyton Jones wrote:<br>
>> I'd be happy to accept this one.<br>
>> <br>
>> In fact I'd prefer it if<br>
>> * -wpartial-record-selectors and -wpartial-record-updates were in -Wall<br>
>> * But -wpartial-fields should definitely not be in -Wall because there <br>
>> is absolutely nothing wrong with using named fields to help with <br>
>> pattern matching and record construction -- places were partiality is <br>
>> not an issue<br>
>> Simon<br>
>> <br>
>> On Wed, 7 Sept 2022 at 12:35, Richard Eisenberg <<a href="mailto:lists@richarde.dev" target="_blank">lists@richarde.dev</a>> wrote:<br>
>>> I also lean toward acceptance.<br>
>>> <br>
>>> However, I'm a little worried about the flourishing of warnings not in -Wall. Ignoring -Weverything -- which tends to be over the top, even for the paranoid -- all of the extra warnings have to be enabled independently. Does it make sense to try to bring some structure to this area? Or maybe we say "no" and leave it to IDEs to impose that structure. Actually, I've already argued myself into that latter camp.<br>
>>> <br>
>>> In any case, I vote to accept this proposal.<br>
>>> <br>
>>> Richard<br>
>>> <br>
>>>> On Aug 24, 2022, at 1:47 AM, Spiwack, Arnaud <<a href="mailto:arnaud.spiwack@tweag.io" target="_blank">arnaud.spiwack@tweag.io</a>> wrote:<br>
>>>> <br>
>>>> The proposal makes sense to me. I don't have a strong opinion, but I'm leaning towards acceptance.<br>
>>>> <br>
>>>> On Tue, Aug 23, 2022 at 8:14 PM Eric Seidel <<a href="mailto:eric@seidel.io" target="_blank">eric@seidel.io</a>> wrote:<br>
>>>>> Dear Committee,<br>
>>>>> <br>
>>>>> Adam Gundry has proposed a new warning -Wincomplete-record-selectors[1] that would flag occurrences of partial record selectors, e.g. the field `x` in<br>
>>>>> <br>
>>>>> ```<br>
>>>>> data T = T1 { x :: Int, y :: Bool }<br>
>>>>>       | T2 { y :: Bool }<br>
>>>>> ```<br>
>>>>> <br>
>>>>> The proposal is well-specified, will never warn about total selectors (e.g. `y` above), and allows for a smarter compiler to suppress warnings in cases where a partial selector is used in a total context (e.g. `x (T1 42 True)`).<br>
>>>>> <br>
>>>>> I recommend acceptance.<br>
>>>>> <br>
>>>>> [1]: <a href="https://github.com/ghc-proposals/ghc-proposals/pull/516" rel="noreferrer" target="_blank">https://github.com/ghc-proposals/ghc-proposals/pull/516</a><br>
>>>>> <br>
>>>>> On Sun, Aug 14, 2022, at 13:01, Joachim Breitner wrote:<br>
>>>>>> Dear Committee,<br>
>>>>>> <br>
>>>>>> Introduce `-Wincomplete-record-selectors`<br>
>>>>>> have been submitted by Adam Gundry<br>
>>>>>> <br>
>>>>>> <a href="https://github.com/ghc-proposals/ghc-proposals/pull/516" rel="noreferrer" target="_blank">https://github.com/ghc-proposals/ghc-proposals/pull/516</a><br>
>>>>>> <a href="https://github.com/adamgundry/ghc-proposals/blob/incomplete-record-selectors/proposals/0000-incomplete-record-selectors.rst" rel="noreferrer" target="_blank">https://github.com/adamgundry/ghc-proposals/blob/incomplete-record-selectors/proposals/0000-incomplete-record-selectors.rst</a><br>
>>>>>> <br>
>>>>>> I suggest that Eric shepherds this proposal.<br>
>>>>>> <br>
>>>>>> Please guide us to a conclusion as outlined in <br>
>>>>>> <a href="https://github.com/ghc-proposals/ghc-proposals#committee-process" rel="noreferrer" target="_blank">https://github.com/ghc-proposals/ghc-proposals#committee-process</a><br>
>>>>>> <br>
>>>>>> Thanks,<br>
>>>>>> Joachim<br>
>>>>>> <br>
>>>>>> -- <br>
>>>>>> Joachim Breitner<br>
>>>>>>  <a href="mailto:mail@joachim-breitner.de" target="_blank">mail@joachim-breitner.de</a><br>
>>>>>>  <a href="http://www.joachim-breitner.de/" rel="noreferrer" target="_blank">http://www.joachim-breitner.de/</a><br>
>>>>>> <br>
>>>>>> _______________________________________________<br>
>>>>>> ghc-steering-committee mailing list<br>
>>>>>> <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
>>>>>> <a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
>>>>> _______________________________________________<br>
>>>>> ghc-steering-committee mailing list<br>
>>>>> <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
>>>>> <a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
>>>> _______________________________________________<br>
>>>> ghc-steering-committee mailing list<br>
>>>> <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
>>>> <a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
>>> <br>
>>> _______________________________________________<br>
>>> ghc-steering-committee mailing list<br>
>>> <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
>>> <a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
>> _______________________________________________<br>
>> ghc-steering-committee mailing list<br>
>> <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
>> <a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
> _______________________________________________<br>
> ghc-steering-committee mailing list<br>
> <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
> <a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
<br>
_______________________________________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
</blockquote></div>