[ghc-steering-committee] GHC 2020

Eric Seidel eric at seidel.io
Sun Aug 30 04:10:30 UTC 2020


I'd be happy with most of these extensions. The ones that stand out to me as warranting some discussion are:

- RecordWildCards: Personally, I really like this extension, but I know that it's somewhat controversial in the broader community. The concern is that it makes it hard to tell where variables are bound.

- ApplicativeDo: I've never used this extension, but I seem to recall there being some sharp edges around its current implementation. Maybe Simon M can correct me.

- FFI: I don't think it hurts to enable this extension globally, but it's also a niche enough usecase that I don't see much benefit either. When I've worked with the FFI in the past, I would usually try to isolate all FFI code to a single module anyway, and then layer a more Haskelly API on top. So this one feels pretty similar to MagicHash to me, which we agreed didn't make sense as part of a GHC2020.

In addition, I would add TypeApplications, and at least consider adding OverloadedStrings and perhaps OverloadedLists.

On Sat, Aug 29, 2020, at 13:30, Iavor Diatchki wrote:
> Hello,
> 
> I just had some fun and went through the list of GHC extensions in the 
> manual, thinking of which ones might make a reasonable subset for a 
> potential GHC2020.  Below is the list I came up with.  My reasoning 
> was, roughy:
>    * I wouldn't mind if these were on all the time
>    * It is unlikely that turning on the extension will break something 
> dramatically
>    * It is unlikely that using the extension might lead to errors
>    * The extensions are somewhat coherent
>    * I explicitly included extensions that I personally don't use much, 
> but I've heard that others like
> 
> I wonder what others think of this list?  What would you add/remove?
> 
> -Iavor
> 
> 
> BlockArguments
> EmptyCase
> EmptyDatadecls
> ExplicitNamespaces
> ImportQualifiedPost
> LambdaCase
> MultiWayIf
> StandaloneDeriving
> 
> BinaryLiterals
> HexFloatLiterals
> NumericUnderscores
> 
> NamedFieldPuns
> RecordWildCards
> TupleSections
> 
> ApplicativeDo
> RecursiveDo
> ParallelListComp
> 
> BangPatterns
> PatternSynonyms
> ViewPatterns
> PatternGuards
> 
> ForeignFunctionInterface
> CApiFFI
> 
> RankNTypes
> ExistentialQuantification
> ScopedTypeVariables
> TypeSynonymInstances
> ConstraintKinds
> StandaloneKindSignatures
> KindSignatures
> TypeOperators
> _______________________________________________
> 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