Moritz: there's one breakage introduced (but only for users of LinearTypes, which is considered experimental), namely that LinearTypes is proposed to now imply MonoLocalBinds.On Thu, 25 Jan 2024 at 07:18, Moritz Angermann <moritz.angermann@gmail.com> wrote:I'll have to recuse myself from this, as much of this is currently going above my head. My overall understanding is thatthis mostly relaxes what we accept, and therefore won't break existing code?Best,MoritzOn Thu, 25 Jan 2024 at 00:39, Arnaud Spiwack <arnaud.spiwack@tweag.io> wrote:_______________________________________________On Wed, 24 Jan 2024 at 16:39, Simon Peyton Jones <simon.peytonjones@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@haskell.org
https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
--