<div dir="ltr">LGTM<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, 12 Jun 2022 at 17:19, Eric Seidel <<a href="mailto:eric@seidel.io">eric@seidel.io</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">Dear Committee,<br>
<br>
This proposal notes an inconsistency around record wildcard syntax where the wildcard selector/binder cannot be used with nullary record constructors. In other words<br>
<br>
```<br>
data Foo = Foo {}<br>
<br>
x = Foo {..}<br>
```<br>
<br>
is rejected with the error<br>
<br>
    Illegal `..' notation for constructor ‘Bar’<br>
      The constructor has no labelled fields<br>
<br>
John notes that this is unnecessary friction that also causes grief for code generators.<br>
<br>
The proposal is to allow the use of record wildcard syntax with nullary constructors. Notably the proposal suggests allowing wildcard syntax with both nullary *records* and nullary positional data constructors, ie both of the following would be allowed.<br>
<br>
```<br>
data Foo = Foo {}<br>
data Foo = Foo<br>
<br>
x = Foo {..}<br>
```<br>
<br>
I noted on GitHub that this leaves a small asymmetry[1], but I still recommend accepting the proposal as is.<br>
<br>
As usual, please discuss the proposal's merits in this thread, and the technical details on GitHub.<br>
<br>
[1]: <a href="https://github.com/ghc-proposals/ghc-proposals/pull/496#issuecomment-1153221981" rel="noreferrer" target="_blank">https://github.com/ghc-proposals/ghc-proposals/pull/496#issuecomment-1153221981</a><br>
<br>
Eric<br>
<br>
On Mon, May 30, 2022, at 09:28, Joachim Breitner wrote:<br>
> Dear Committee,<br>
><br>
> Empty records with {}<br>
> have been proposed by John Ericsson<br>
><br>
><br>
> <a href="https://github.com/ghc-proposals/ghc-proposals/pull/496" rel="noreferrer" target="_blank">https://github.com/ghc-proposals/ghc-proposals/pull/496</a><br>
> <a href="https://github.com/Ericson2314/ghc-proposals/blob/empty-record-wildcards/proposals/0000-empty-record-wildcards.rst" rel="noreferrer" target="_blank">https://github.com/Ericson2314/ghc-proposals/blob/empty-record-wildcards/proposals/0000-empty-record-wildcards.rst</a><br>
><br>
> This seems to be about straightening a corner case, so to say. I<br>
> suggest Eric as the shepherd.<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>
><br>
><br>
><br>
><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>
</blockquote></div>