-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider using GHC2021 extensions by default #419
Comments
Sure, sounds fine to me. It just makes it slightly harder for new contributors to figure out what is going on when reading the code. But maybe we could solve that by putting a standard comment at the top of every module pointing to the |
I like the idea of adding |
I also like the idea of using |
The documentation aspect is a good point. Eventually, the situation will be reversed, because all that stuff will be on by default in GHCi with I think 9.2 (and possibly also 9.0.2?). We could definitely cherry-pick those that are self-explanatory (deriving, numeric underscore,...) and keep those that are a bit weird and not well known explicitly in files. For example, TupleSection and LambdaCase are non-Haskell2010 but were so popular in our Haskell university course that I think they were eventually allowed. 😏
It also works better with HLS until I fix it - I have an open PR there, that I should get back to... 😅
Totally, it was a nice discovery for me while I was reading about GHC2021. But we only use it in one place so far... 🙂 |
Let us discuss the
default-extensions
field inswarm.cabal
- I suggest we put there all the extensions that we use a lot and that are harmless and not very interesting.AFAIK we can not use
GHC2021
yet, but it is the current "standard" way of writing Haskell, based on some collected statistics, community votes and a few votes by committee.PROs
CONs
Extensions
Here are the extensions that we use in Swarm along with their count with those in GHC2021 checked:
What do you think? 🙂
The text was updated successfully, but these errors were encountered: