[ghc-steering-committee] Modern Scoped Type Variables #448: recommendation (mostly) accept

Joachim Breitner mail at joachim-breitner.de
Tue Jun 7 09:46:31 UTC 2022


Hi,

it looks like there is a problem with the mailinglist and my email
provider, and I did not receive all emails. Luckily we have the archive
at
https://mail.haskell.org/pipermail/ghc-steering-committee/2022-June/date.html
and I noticed that Simon was nudging me personally to comment on #448.


>    2. The rest of the main proposal
>    to have broad support, modulo some concerns about flags and forks.  *Action:
>    Tom, Joachim, Vlad, Eric, Chris, and Baldur*: please express an opinion.
>    Can you do so this week please?  You don't need to wait for (1); just
>    ignore section 6-8.

I’m in favor of these things. They appear to be thought through, and
move Haskell in a direction I’m in favor of, while catering for
existing code.

I hope we don’t block our way too much for a future where

> It may be useful to write a variable occurrence to instantiate a 
> universal argument

but I’ll accept that we’ll have to find syntax for that then, and that
the way we approached it in #126 wasn’t great, because it didn’t uphold
some of the principles we have identified since then.

I would not mind making -XTypeAbstractions and -XExtendedForAllScope
mutually exclusive, I think, but I guess the proposed heuristics which
one applies works as well, and maybe it is easier for people to migrate
if they can do it per-function, and not just per-module. So I’m ok with
this.

Also in favor of holding off @(..).


>    3. The proposal *also *makes a significant diff to the principles.rst
>    document
>    <https://github.com/goldfirere/ghc-proposals/blob/type-variables/principles.rst>,
>    mostly expanding and clarifying points that were previously just a sentence
>    or two.  (Here's the old version
>    <https://github.com/goldfirere/ghc-proposals/blob/principles/principles.rst>.)
>    *Action: Tom, Joachim, Vlad, Eric, Chris, and Baldur*: please express an
>    opinion.

Looks good to me. About the Contiguous Scoping Principle, the examples
involving patterns (do-notation for example) feel different (and less
bad) than the -XScopedTypeVariables example. Can’t really put my finger
on why. But since we state that the Contiguous Scoping Principle is not
a goal, merely something to be aware of, that’s fine


Cheers,
Joachim

-- 
Joachim Breitner
  mail at joachim-breitner.de
  http://www.joachim-breitner.de/



More information about the ghc-steering-committee mailing list