[ghc-steering-committee] #409: Exportable named defaults, Recommendation: Partial Accept

Alejandro Serrano Mena trupill at gmail.com
Thu May 20 15:24:42 UTC 2021


 Hi all,

I agree with the recommendations of accepting (1) and rejecting (2) and
(3). The Report here (
https://www.haskell.org/onlinereport/haskell2010/haskellch4.html#x10-790004.3.4)
mentions that defaults are local to a module, and I think this is the right
move, even more so since we can think of other ways of importing/exporting
defaults, like plug-ins.

Alejandro

El 19 may 2021 4:11:48, Eric Seidel <eric at seidel.io> escribió:

> Hi all,
>
> Mario has proposed a handful of language extensions around type defaulting.
>
> 1. NamedDefaults: this extension simply allows specifying the class to
> default, instead of it always being Num (or a handful of other hardcoded
> classes if one enables ExtendedDefaultRules). The rule only applies to the
> current module, as usual.
>
> 2. ExportedDefaults: this extension allows exporting defaulting rules.
>
> 3. ImportedDefaults: this extension makes import declarations pull in
> defaulting rules implicitly, like class instances.
>
> Extensions (2) and (3) work together to provide a mechanism for sharing
> sets of defaulting rules across modules. It is possible to import
> conflicting sets of defaulting rules from different modules, in that case
> the conflict must be resolved manually by the importing module, with a new
> defaulting rule.
>
> My recommendation is that we
>
> * Accept extension (1), as it is a clear improvement over the status quo
> and can stand on its own.
>
> * Reject (without prejudice) extensions (2) and (3). These extensions
> bring considerable extra complexity and another orphan-like mechanism.
> There's an open question here of whether defaulting rules should be
> globally coherent like type classes, or if they're something different; the
> discussion has arguments for both sides. I'm not sure, and so I recommend
> we don't commit ourselves one way or the other for now.
>
> Please take a look at the proposal.
>
> Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/409
> Proposal:
> https://github.com/blamario/ghc-proposals/blob/exportable-named-default/proposals/0000-exportable-named-default.rst
>
> Eric
>
> On Sun, Apr 4, 2021, at 06:34, Joachim Breitner wrote:
>
> Dear Committe,
>
>
> Exportable named defaults
>
> has been proposed by Mario
>
> https://github.com/ghc-proposals/ghc-proposals/pull/409
>
>
> https://github.com/blamario/ghc-proposals/blob/exportable-named-default/proposals/0000-exportable-named-default.rst
>
>
> I propose Eric as the Shepherd.
>
>
> This did not gather a lot of attention on Github, or rather none, so
>
> Eric, maybe also consider whether this needs to be advertised more, or
>
> maybe who should be pointed to it.
>
>
> Please guide us to a conclusion as outlined in
>
> https://github.com/ghc-proposals/ghc-proposals#committee-process
>
>
> Thanks,
>
> Joachim
>
> --
>
> --
>
> Joachim Breitner
>
>   mail at joachim-breitner.de
>
>   http://www.joachim-breitner.de/
>
>
>
> _______________________________________________
>
> ghc-steering-committee mailing list
>
> ghc-steering-committee at haskell.org
>
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
>
>
> _______________________________________________
> 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/20210520/0356ae07/attachment.html>


More information about the ghc-steering-committee mailing list