[ghc-steering-committee] #216: Qualified Do again, recommendation: accept the alternative
Joachim Breitner
mail at joachim-breitner.de
Sat May 2 09:39:31 UTC 2020
Dear Committee,
it seems discussion has ebbed down. Are there any new arguments that
can be brought forward? Did anyone have a change of mind which would
bring us closer to (or farther away from) consensus? Or should we vote?
Simon Marlow, Chris, Cale, Tom:
You have not stated an opinion. Do you have one?
Cheers,
Joachim
Am Mittwoch, den 22.04.2020, 12:26 +0200 schrieb Joachim Breitner:
> Dear Committe,
>
> trying to summarize the discussion here.
>
> The main decision seems to be: Record based or module based.
>
> Record based is preferred by:
> Arnaud (one of the authors), SPJ
>
> Module based is preferred by:
> Richard (after changing his mind), Eric, Iavor, Vitaly, Alejandro,
> me
>
> This is not a vote, merely a summary of sentimenss. But it seems that
> maybe the onus to make stronger arguments for the record-based approach
> is on Simon and Arnaud?
>
>
> Related to the module based variant, there was some discussion about
> whether the
> * desugaring should go to a “qualified name”, that is then resolved
> like any manually written name
> (i.e. could conceptually be done in the parser)
> * or if it should go directly a suitable “original name” of a suitable
> function, even if not explicitly imported
> (i.e. could conceptually be done in the renamer, but not the parser)
>
> I initially advocated for the latter, arguing with a “you shall not
> have to import stuff you do not write explicitly” rule.
> But Simon’s recent argument that
>
> import qualified Monad as M
>
> (i.e. _with_ qualification, but _without_ an import list) will give the
> developer a good user experience, and if they try to do things like
>
> import Monad as M (runMonad)
> … M.do …
>
> then, well, they shouldn’t. So I am happy to advocate for the module
> based approach with the “must be in scope” rule. But maybe we should
> keep the focus more on the fundamental question above.
>
>
>
> We could keep in mind that eventually, people will ask for M.if; M.[
> and other “qualified syntax”. But it seems that that will work equally
> well with either choice here.
>
> Cheers,
> Joachim
>
>
--
Joachim Breitner
mail at joachim-breitner.de
http://www.joachim-breitner.de/
More information about the ghc-steering-committee
mailing list