[ghc-steering-committee] #380 GHC2021: Current status
Joachim Breitner
mail at joachim-breitner.de
Fri Dec 4 10:57:05 UTC 2020
Hi,
Am Freitag, den 04.12.2020, 09:57 +0000 schrieb Simon Marlow:
> Right, we better be clear about ForeignFunctionInterface. Those who
> voted ForeignFunctionInterface: no, do you *really* want to turn off
> an extension that's already part of the Haskell standard?
In fact, the following extensions are implied by Haskell2010:
ImplicitPrelude
StarIsType
CUSKs
MonomorphismRestriction
DatatypeContexts
TraditionalRecordSyntax
EmptyDataDecls
ForeignFunctionInterface
PatternGuards
DoAndIfThenElse
RelaxedPolyRec
And the following non-Haskell2010 extensions are on by default (but not
in Haskell2010 mode):
NondecreasingIndentation
NoDatatypeContexts
I should have written the ballot consistently relative to Haskell2010,
it’s a mixed bag right now, inherited from the survey. Or should it be
relative to the GHC’s unnamed “default mode” (which is neither
Haskell98 nor Haskell2010)?
Anyways, one goal for GHC2021 is that it will subsume this unnamed
default mode.
So let’s see:
Interesting ones:
StarIsType
-- ^ 5 votes. Those who voted no, did you do that knowing
that it’s
on by default these days?
CUSKs
-- ^ Legacy feature according to the docs, but the replacement
StandaloneKindSignatures only has 50% votes so far.
We probably need exactly one of the two.
Both are new 8.10.
MonomorphismRestriction
-- ^ 4 votes. Those who voted no, did you do that knowing that it’s
part of Haskell2010? (I admit I didn’t)
ForeignFunctionInterface
-- ^ 4 votes. Those who voted no, did you do that knowing that it’s
part of Haskell2010?
NondecreasingIndentation
-- ^ Currently on by default, but off in Haskell2010
2 votes.
Docs at https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/bugs.html#context-free-syntax
Do we really want to turn it off? There must have been a good
reason for GHC to have different default behavior so far?
Boring ones:
ImplicitPrelude
-- ^ Obviously stays
DatatypeContexts
-- ^ 0 votes. This goes away. Yay!
TraditionalRecordSyntax
-- ^ NoTraditionalRecordSyntax has zero votes, so can stay
EmptyDataDecls
-- ^ 10 votes, so can stay
PatternGuards
-- ^ NoPatternGuards has zero votes, so can stay
DoAndIfThenElse
-- ^ wasn’t even on the ballot, probably a consequence of
https://gitlab.haskell.org/ghc/ghc/-/issues/18631
I assume this stays unless someone disagrees.
RelaxedPolyRec
-- ^ Impossible to turn off, so this stays.
Sorry for the confusion, next time round will be easier, when there is
a clear base line (i.e. GHC2021).
Cheers,
Joachim
--
Joachim Breitner
mail at joachim-breitner.de
http://www.joachim-breitner.de/
More information about the ghc-steering-committee
mailing list