[ghc-steering-committee] Proposal #624 on linear let-bindings; recommendation: accept

Moritz Angermann moritz.angermann at gmail.com
Thu Jan 25 06:18:26 UTC 2024


I'll have to recuse myself from this, as much of this is currently going
above my head. My overall understanding is that
this mostly relaxes what we accept, and therefore won't break existing code?

Best,
 Moritz

On Thu, 25 Jan 2024 at 00:39, Arnaud Spiwack <arnaud.spiwack at tweag.io>
wrote:

> On Wed, 24 Jan 2024 at 16:39, Simon Peyton Jones <
> simon.peytonjones at gmail.com> wrote:
>
>> Do newtypes make a difference?  E.g      let N x = e in ...
>> where N is the data contructor of a newtype?
>>
>
> I don't think it has too. So for the moment, I vote to stick to the
> current proposal and consider this like all lazy non-variable patterns:
> must be unrestricted.
>
> I suspect that there's a possible refinement where we say that a happy
> pattern is either:
> - A variable
> - Strict
> - A newtype constructor where the inner pattern is happy.
>
> (then if pat is an unhappy pattern, `let pat` must be unrestricted).
>
> But I don't think I'm quite ready to go there for the time being, and
> that'll be a backward compatible change if we change our mind.
> _______________________________________________
> 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/20240125/9ba5d169/attachment.html>


More information about the ghc-steering-committee mailing list