<div dir="ltr"><div>GHC seems to have a bit of an ambiguous take about defaults. For instance, `MonadFailDesugaring` is turned on since GHC 8.8 (or 8.10, I've been lost about these lately), regardless of whether you have selected a language in a Cabal file. It means that, as far as GHC is concerned, Haskell2010 means Haskell2010+MonadFailDesugaring (and a few friends).</div><div><br></div><div>In this particular case, it is, of course, a reasonable assumption that we are not modifying the meaning of Haskell2010 to that extent (it's the whole point of shipping GHC2021 as an extension).</div><div><br></div><div>I think it would be fair to set GHC2021 as the default language when launching, say ghci outside of a project.</div><div><br></div><div>/Arnaud<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Dec 4, 2020 at 1:41 PM Joachim Breitner <<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</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">Hi,<br>
<br>
Am Freitag, den 04.12.2020, 07:33 -0500 schrieb Eric Seidel:<br>
> Is the expectation that GHC2021 remains the new default behavior, or<br>
> will GHC2022 replace it as the default? I ask because tying these<br>
> standards to GHC’s default behavior will make it much harder to<br>
> correct mistakes or migrate to new designs of extensions (eg<br>
> LambdaCase). Requiring an explicit opt-in to a GHC20XX standard means<br>
> that users can upgrade to a new compiler and adapt to the new<br>
> standard separately, which is very useful in larger enterprises. <br>
<br>
The use case you are describing (larger enterprises) probably mean you<br>
are using Cabal, which forces you to declare a default-language<br>
anyways. So that makes it opt-in, and all is well, I hope.<br>
<br>
The “default” mode, as far as I know (please correct me if I am wrong)<br>
mainly applies to your one-shot script that you run, and of course<br>
interactive use in GHCI. Especially for the latter, I find it very<br>
appealing to have the full syntax without turning on extensions, hence<br>
my hope that the latest GHC202x is the default. And with these modes,<br>
some breakage is acceptable maybe.<br>
<br>
Do others see this differently?<br>
<br>
Cheers,<br>
Joachim<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>
_______________________________________________<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>