[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