<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">On 7/26/23 6:46 PM, Benjamin Redelings
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:63519e88-b727-7e85-9cdd-6cd91ff58982@gmail.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<p>Thanks!</p>
<p>It looks like ExtendedDefaultRules already allows default
variables that co-occur with multiparameter constraints and
non-standard classes. So maybe that solves my issue with (Num
a, Convertible a Double).<br>
</p>
</blockquote>
<p>It looks like (Num a, Convertible Double a) would work
differently:</p>
<p>- with ExtendedDefaultRules, GHC would pick a ~ Integer (ignoring
the Convertible constraint) and then complain that Convertible
Double Integer has no instance.</p>
<p>- with NamedDefaults, GHC would reject a ~ Integer because
Convertible Double Integer fails and then choose a ~ Double, which
succeeds.</p>
<p>-BenRI<br>
</p>
<blockquote type="cite"
cite="mid:63519e88-b727-7e85-9cdd-6cd91ff58982@gmail.com">
<p> </p>
<p>Does the defaulting for RuntimeRep interact with class
defaulting?<br>
</p>
<p>-BenRI<br>
</p>
<div class="moz-cite-prefix">On 7/26/23 12:11 PM, Simon Peyton
Jones wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAJKmMz_aDtNs2rGKgqLZ5yGPaMvkHQME4MYjvO_pO5xHmLhRjw@mail.gmail.com">
<meta http-equiv="content-type"
content="text/html; charset=UTF-8">
<div dir="ltr">
<div class="gmail_default"
style="font-family:tahoma,sans-serif">No: I don't know of
anyone planning to implement this proposal -- indeed I had
forgotten about it -- so it's waiting for someone to take it
on.</div>
<div class="gmail_default"
style="font-family:tahoma,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:tahoma,sans-serif">There are some
slightly tricky loose ends around defaulting that it'd be
good to nail down first: <a
href="https://gitlab.haskell.org/ghc/ghc/-/issues/20686"
moz-do-not-send="true" class="moz-txt-link-freetext">https://gitlab.haskell.org/ghc/ghc/-/issues/20686</a></div>
<div class="gmail_default"
style="font-family:tahoma,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:tahoma,sans-serif">Simon<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, 26 Jul 2023 at
11:00, Benjamin Redelings <<a
href="mailto:benjamin.redelings@gmail.com"
moz-do-not-send="true" class="moz-txt-link-freetext">benjamin.redelings@gmail.com</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>
If I understand correctly, the traditional defaulting rules
prevent <br>
defaulting variables with constraints like (Num a,
Convertible a <br>
Double), but the NamedDefaults proposal would allow
defaulting a ~ <br>
Double in this case due to the relaxed defaulting rules in
section 2.5 <br>
of the proposal:<br>
<br>
<a
href="https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0409-exportable-named-default.rst#id2"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0409-exportable-named-default.rst#id2</a><br>
<br>
1. Is there any plan to start implementing NamedDefaults? I
saw the <br>
comment from Simon P-J that it would not be fun to implement
because it <br>
might require orphan default declarations... so perhaps
there's no plan <br>
to implement this?<br>
<br>
2. Would it be worth adding a separate LANGUAGE option that
just <br>
implements the relaxed defaulting rules in section 2.5?
Specifically (a) <br>
allowing variables with multiparameter constraints and (b)
allowing <br>
variables with constraints that are not in the Prelude.<br>
<br>
3. Am I correct in assuming that the relaxed defaulting
rules require <br>
NamedDefaults to be enabled in the importing module, and not
just in the <br>
imported model?<br>
<br>
-BenRI<br>
_______________________________________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">ghc-devs@haskell.org</a><br>
<a
href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</blockquote>
</div>
</blockquote>
</blockquote>
</body>
</html>