<div dir="ltr"><div dir="ltr"><div>Note: Richard, who is the main proponent of the explicit import idea is on holiday this week, so we will not hear from him, and should not consider his silence as approval.</div><div><br></div><div>> I recommend we treat defaulting rules like any other importable entity to match how the proposal treats them in export lists</div><div><br></div><div>Sounds reasonable to me.<br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 21, 2021 at 4:27 AM 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">On Thu, Jun 17, 2021, at 10:08, Spiwack, Arnaud wrote:<br>
> > Since the Prelude is implicitly imported without an import list, both A and C would let you avoid an extra import. Same goes for Prelude replacements.<br>
> <br>
> I fully agree with this statement. (I don't think that I have a <br>
> preference between A and C)<br>
<br>
Great, then I think we have broad support among the committee members who've participated in this discussion for some form of implicit import of defaulting rules. I recommend we treat defaulting rules like any other importable entity to match how the proposal treats them in export lists, ie given<br>
<br>
```<br>
module Defaults where<br>
default IsString (Text)<br>
```<br>
<br>
we have the following import behavior<br>
<br>
```<br>
import Defaults -- imports `default IsString (Text)`<br>
import Defaults () -- does not import `default IsString (Text)`<br>
import Defaults (default IsString) -- imports `default IsString (Text)`<br>
import Defaults hiding (default IsString) -- does not import `default IsString (Text)`<br>
import Defaults qualified -- imports `default IsString (Text)`<br>
```<br>
<br>
By my reading, Simon PJ, Joachim, Alejandro, Arnaud, and Richard (provided we have a warning) should all be happy with this path. I believe we also have broad agreement that imports need not be guarded by any extension. If you disagree please speak up!<br>
<br>
I have not heard anything from Vitaly, Cale, Tom, Simon M, or Vlad. If you have any thoughts on this proposal, please speak up now.<br>
<br>
I'll discuss the proposed changes (treating imported defaults like other importable entities, and the warning) with the author. As usual, I'll treat silence from the committee as assent, and will declare the proposal accepted next Sunday 6/27 if there are no objections.<br>
<br>
Thanks!<br>
Eric<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>