[ghc-steering-committee] #380 GHC2021: Current status

Joachim Breitner mail at joachim-breitner.de
Thu Dec 3 09:31:18 UTC 2020


Dear Committee,


we have 9 votes in. Dear Cale and Eric, can we have your votes please?

As always, the table
https://github.com/ghc-proposals/ghc-proposals/blob/ghc2021/proposals/0000-ghc2021.rst#data
has the current data.

We had the most discussion so far about:

 * The innnocence of PostfixOperators
 * The effect of UnicodeSyntax on error messages
 * Whether InstanceSigs is a good design
 * Whether OverloadedString is harmless enough.

I see that three is less clear signal on odd extensions that are
obsolete, on by default, implied by others etc. That’s probably fine
and no need to worry; some of them will be resolved by virtue of being
implied by others. We can also sanity-check the final result, and
include all implied ones in the final design.

So where do we stand?

Applying the actual quota of ⅔ out of 11, i.e. 8 votes, these would go
in no matter how Cale and Eric vote:

   BangPatterns, BinaryLiterals, ConstraintKinds, DeriveDataTypeable,
   DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveLift,
   DeriveTraversable, EmptyCase, EmptyDataDecls, EmptyDataDeriving,
   ExplicitForAll, FlexibleContexts, FlexibleInstances, GADTSyntax,
   HexFloatLiterals, ImportQualifiedPost, KindSignatures,
   MultiParamTypeClasses, NamedFieldPuns, NumericUnderscores,
   StandaloneDeriving, ViewPatterns

The following have 6 or 7 votes, i.e. they’d go in if we extrapolate
from the current votes:

   ConstrainedClassMethods, DerivingStrategies,
   ExistentialQuantification, GeneralisedNewtypeDeriving, InstanceSigs,
   NegativeLiterals, PostfixOperators, RankNTypes, RecordWildCards,
   ScopedTypeVariables, TupleSections, TypeApplications, TypeFamilies,
   TypeOperators, TypeSynonymInstances

   These extensions are short one vote:

   DataKinds, DerivingVia, GADTs, LambdaCase, PolyKinds



   So how sad would we all be? This is the sadness report for each
   committee member, showing the symmetric difference between their ballot
   and the (extrapolated) result.


   alejandro
   would miss:
   DataKinds, DerivingVia, GADTs, LambdaCase, MonadFailDesugaring,
   NamedWildCards, NoMonomorphismRestriction, NullaryTypeClasses,
   NumDecimals, OverloadedLists, OverloadedStrings, PolyKinds,
   StandaloneKindSignatures
   doesn’t want:
   RankNTypes

   arnaud
   would miss:
   Arrows, ExplicitNamespaces, ForeignFunctionInterface,
   FunctionalDependencies, GADTs, MonadFailDesugaring, MonoLocalBinds,
   PartialTypeSignatures, StarIsType, TypeFamilyDependencies
   doesn’t want:
   ExistentialQuantification, ImportQualifiedPost, InstanceSigs,
   NamedFieldPuns, RankNTypes, RecordWildCards, ScopedTypeVariables,
   TupleSections, TypeSynonymInstances

   iavor
   would miss:
   BlockArguments, MultiWayIf, NoMonomorphismRestriction,
   NullaryTypeClasses, OverloadedStrings, ParallelListComp, RecursiveDo
   doesn’t want:
   ConstrainedClassMethods, ConstraintKinds, DeriveFoldable,
   DeriveFunctor, DeriveTraversable, DerivingStrategies, EmptyCase,
   GADTSyntax, GeneralisedNewtypeDeriving, InstanceSigs, KindSignatures,
   NegativeLiterals, PostfixOperators, TupleSections, TypeApplications,
   TypeFamilies, TypeOperators

   joachim
   would miss:
   DataKinds, DerivingVia, ForeignFunctionInterface, GADTs, LambdaCase,
   MonoLocalBinds, NamedWildCards, NondecreasingIndentation,
   RoleAnnotations, StarIsType, UnicodeSyntax, UnliftedFFITypes,
   UnliftedNewtypes
   doesn’t want:
   ConstrainedClassMethods, ScopedTypeVariables, TypeSynonymInstances

   richard
   would miss:
   BlockArguments, DefaultSignatures, DerivingVia,
   DisambiguateRecordFields, ExplicitNamespaces, LexicalNegation,
   NamedWildCards, NumDecimals, ParallelListComp, PolyKinds,
   RoleAnnotations, StandaloneKindSignatures, TemplateHaskellQuotes,
   UnicodeSyntax, UnliftedNewtypes
   doesn’t want:
   NegativeLiterals, RecordWildCards, ScopedTypeVariables, TypeFamilies

   simonm
   would miss:
   DataKinds, DefaultSignatures, ForeignFunctionInterface, GADTs,
   LambdaCase, LiberalTypeSynonyms, MonoLocalBinds, MultiWayIf,
   NoMonomorphismRestriction, NondecreasingIndentation, NumDecimals,
   OverloadedStrings, PatternSynonyms, PolyKinds, UnicodeSyntax
   doesn’t want:
   DeriveLift, DerivingStrategies, NumericUnderscores, TypeApplications,
   TypeOperators, ViewPatterns

   spj
   would miss:
   MonoLocalBinds, NoMonomorphismRestriction, NullaryTypeClasses,
   OverloadedLists, OverloadedStrings, ParallelListComp, PolyKinds,
   RecursiveDo, RoleAnnotations, StandaloneKindSignatures, StarIsType
   doesn’t want:
   DerivingStrategies, GeneralisedNewtypeDeriving, NegativeLiterals,
   RecordWildCards, TupleSections, TypeFamilies

   tom
   would miss:
   BlockArguments, DataKinds, DefaultSignatures, DerivingVia,
   DisambiguateRecordFields, DuplicateRecordFields, ExplicitNamespaces,
   FunctionalDependencies, LambdaCase, LexicalNegation,
   LiberalTypeSynonyms, MagicHash, MultiWayIf, NamedWildCards,
   NullaryTypeClasses, NumDecimals, PackageImports, ParallelListComp,
   PolyKinds, QuasiQuotes, RoleAnnotations, StandaloneKindSignatures,
   TemplateHaskell, TemplateHaskellQuotes, TypeFamilyDependencies,
   UnboxedSums, UnboxedTuples, UnicodeSyntax, UnliftedNewtypes
   doesn’t want:
   none!

   vitaly
   would miss:
   DataKinds, DerivingVia, GADTs, LambdaCase, MonadFailDesugaring,
   StarIsType
   doesn’t want:
   ConstrainedClassMethods, ExistentialQuantification, PostfixOperators


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




More information about the ghc-steering-committee mailing list