[ghc-steering-committee] Proposal: Type Fixity (#65), Consensus: accept, own language extension?
Simon Peyton Jones
simonpj at microsoft.com
Thu Oct 19 08:23:42 UTC 2017
| If I may summarise the last few messages on this thread, it seems to
| me that, so far, everybody agrees that it would be beneficial to have
| two or more categories of extensions that come with different
| expectations of stability.
I'm much happier with this than with -XStaticPointers1 -XStaticPointers2 etc.
Once we had such categories, we could use the GHC proposals process itself to allow people to propose moving a flag from 'experimental' to 'stable' or whatever.
Simon
| -----Original Message-----
| From: ghc-steering-committee [mailto:ghc-steering-committee-
| bounces at haskell.org] On Behalf Of Manuel M T Chakravarty
| Sent: 19 October 2017 02:09
| To: Richard Eisenberg <rae at cs.brynmawr.edu>
| Cc: ghc-steering-committee at haskell.org; Joachim Breitner
| <mail at joachim-breitner.de>
| Subject: Re: [ghc-steering-committee] Proposal: Type Fixity (#65),
| Consensus: accept, own language extension?
|
| If I may summarise the last few messages on this thread, it seems to
| me that, so far, everybody agrees that it would be beneficial to have
| two or more categories of extensions that come with different
| expectations of stability. (Whether that is by marking them as stable
| or annotating them with versions or years are details we will figure
| out.)
|
| Richard, I do understand your fear about not being able to move
| quickly, and I think, we all want to preserve that property of
| Haskell. However, I would like us to think about how we can preserve
| agility, while providing sufficient stability. (I know that is hard,
| but easy problems are boring, so let’s rise to the challenge.)
|
| As I said, in my previous message, I consider Haskell Prime to be dead
| (for all practical purposes). There will be no more Haskell standard.
| The closest thing to a Haskell standards committee —namely, the ”GHC
| Haskell” standards committee— is this group!
|
| The plan with LANGUAGE extensions was that they do migrate into the
| standard when they are stable. This is no longer going to happen.
| Hence, *we* owe it to GHC’s users to make that determination on an
| extension by extension basis and enforce it through the proposals
| process.
|
| Now, we can discuss the details:
|
| * What categories are there?
| * How long do extensions remain agile?
| * How do we make the determination when to promote an extension to a
| more stable category?
|
| Before we get too tied up in the details, I would like to discuss two
| higher-order points:
|
| * Do we all agree that we need categories of stabilities for
| extensions (for the reasons outlined above)?
| * Can we agree that we cannot leave it solely to extension authors to
| assign stabilities? (In particular, we already have lots of extensions
| and we need to take care of those.)
|
| Why not leave it to extension authors? They have no (direct) interest
| in stability. We are the gate keepers. It is our job.
|
| Cheers,
| Manuel
|
| PS: There is also the issue of libraries, but that is really the
| responsibilities of the Core Libraries Committee (and maybe we have to
| have a chat with them).
|
| PPS: This is also very much a beginner issue. Experts know from
| experience which extensions are stable. Newcomers often ask, what can
| I safely use? It’s not spelled out anywhere. (Ping Chris.)
|
| > Richard Eisenberg <rae at cs.brynmawr.edu>:
| >> On Oct 18, 2017, at 4:49 PM, Joachim Breitner <mail at joachim-
| breitner.de> wrote:
| >>
| >> The way out there might be to try our best, and if we get it wrong
| >> and mark an extension as stable too early, we’ll just have to add a
| >> new pragma for the improved ones… so that seems like a good
| compromise.
| >>
| >
| > Yes, this is exactly what I was thinking. For example, TypeFamilies
| might have been marked as stable before closed type families came
| about... but then we would just have -XClosedTypeFamilies -- not so
| horrible.
| >
| >> The other failure mode would be that we will have _too strict_
| >> requirements for marking extensions as stable, so that production
| >> code will inevitably have to use non-stable extensions, and not
| much
| >> is gained.
| >
| > This, too, is exactly what I was thinking. Industrial users and book
| authors have the most to gain from an extension being marked as
| stable. I would expect that proposals would come from these groups
| marking extensions as stable, and then we could have a debate.
| >
| > Richard
| > _______________________________________________
| > ghc-steering-committee mailing list
| > ghc-steering-committee at haskell.org
| > https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-
| committ
| > ee
|
| _______________________________________________
| ghc-steering-committee mailing list
| ghc-steering-committee at haskell.org
| https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-
| committee
More information about the ghc-steering-committee
mailing list