[ghc-steering-committee] Please review #641: Wildcard binders in type declarations

Simon Peyton Jones simon.peytonjones at gmail.com
Thu May 2 13:05:07 UTC 2024


>
> 1. If the proposed amendment is rejected, we /still/ have to change
> template-haskell to implement 425 in its current form. The specification
> allows invisible wildcards `@_`, which can't be represented in
> template-haskell at the moment. So I'd like to ask voting members to take
> that into consideration: this is not an "unforced change" because there is
> a change coming either way.


Are you sure?  We could, if we chose, just (continue to) not support "_" in
TH.   People generating TH code can always use a fresh variable instead.

I'm still leaning towards "do nothing"; and if we don't want that, then "do
the minimum" (ie the non-recursive form).  We have so much complexity
already, I don't want to add more.

Simon

PS sorry to be slow on this


On Mon, 22 Apr 2024 at 21:26, Adam Gundry <adam at well-typed.com> wrote:

> I find Vlad's argument convincing: if we are already adding support for
> @_ then at the very least it's worth adding _ at the same time, and it
> seems to involve no more breakage or implementation cost than #425
> unamended. So I vote to accept.
>
> I'm on the fence as to whether to prefer the recursive version (more
> general and consistent with term syntax) or the non-recursive version
> (since it is simpler, and in practice the more general forms seem
> unlikely to be useful).
>
> Adam
>
>
> On 19/04/2024 17:17, Vladislav Zavialov wrote:
> > That's exactly right. We are not choosing between change / no change, we
> > are choosing between three possible changes:
> >
> > 1. Current proposal: only add support for @_
> > 2. Amendment sans recursion (if revised): add support for @_, @(_ :: k),
> > _, and (_ :: k)
> > 3. Amendment with recursion: add support for arbitrary combinations
> > of @, _, ::, and ( ... )
> >
> > It's going to be breaking in all three scenarios, unless we come up with
> > a compatibility layer using pattern synonyms as Adam suggests (I have
> > not investigated the feasibility of that).
> >
> > Vlad
> >
> > On Fri, Apr 19, 2024 at 5:59 PM Malte Ott <malte.ott at maralorn.de
> > <mailto:malte.ott at maralorn.de>> wrote:
> >
> >     Thanks for the input Vlad. Regarding the breaking change to TH:
> >     Do I understand you correctly that the required changes from 425
> >     have not landed
> >     in 9.10 and therefor accepting this proposal will not create anymore
> >     breakage,
> >     even between 9.10 and 9.12?
>
>
> --
> Adam Gundry, Haskell Consultant
> Well-Typed LLP, https://www.well-typed.com/
>
> Registered in England & Wales, OC335890
> 27 Old Gloucester Street, London WC1N 3AX, England
>
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20240502/66a43879/attachment.html>


More information about the ghc-steering-committee mailing list