-
Notifications
You must be signed in to change notification settings - Fork 37
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
GHC 8.6 checklist #324
Labels
Comments
RyanGlScott
added a commit
that referenced
this issue
Jun 30, 2018
This requires adding some CPP to temporarily support two versions of GHC (8.4 and HEAD). I'll amend #324 as a reminder to remove this CPP once we drop support for GHC 8.4.
RyanGlScott
added a commit
that referenced
this issue
Jul 10, 2018
Don't merge yet. This checks off all boxes in #324 except the third one (involving `ShowSing`, which I'll tackle separately). Specifically, this: * Removes some CPP needed for GHC 8.4. * Bumps the `th-desugar` submodule. * Singling `DerivingVia` does nothing (but emits a warning). * Promoting or singling a quantified constraint results in an error. * Now that GHC is smarter about kind inference in CUSKs, we can remove some superfluous kind signatures on certain class methods in `Applicative`, `Monad`, etc., as well as on definitions involving `Const`. * Puts a mention in the `README` of how `NoStarIsType` is needed to use `PNum(type (*))`.
RyanGlScott
added a commit
that referenced
this issue
Jul 10, 2018
Don't merge yet. This checks off all boxes in #324 except the third one (involving `ShowSing`, which I'll tackle separately). Specifically, this: * Removes some CPP needed for GHC 8.4. * Bumps the `th-desugar` submodule. * Singling `DerivingVia` does nothing (but emits a warning). * Promoting or singling a quantified constraint results in an error. * Now that GHC is smarter about kind inference in CUSKs, we can remove some superfluous kind signatures on certain class methods in `Applicative`, `Monad`, etc., as well as on definitions involving `Const`. * Puts a mention in the `README` of how `NoStarIsType` is needed to use `PNum(type (*))`.
RyanGlScott
added a commit
that referenced
this issue
Jul 10, 2018
Don't merge yet. This checks off all boxes in #324 except the third one (involving `ShowSing`, which I'll tackle separately). Specifically, this: * Removes some CPP needed for GHC 8.4. * Bumps the `th-desugar` submodule. * Singling `DerivingVia` does nothing (but emits a warning). * Promoting or singling a quantified constraint results in an error. * Now that GHC is smarter about kind inference in CUSKs, we can remove some superfluous kind signatures on certain class methods in `Applicative`, `Monad`, etc., as well as on definitions involving `Const`. * Puts a mention in the `README` of how `NoStarIsType` is needed to use `PNum(type (*))`.
Merged
RyanGlScott
added a commit
that referenced
this issue
Jul 18, 2018
This checks off all boxes in #324 except the third one (involving `ShowSing`, which I'll tackle separately in #352). Specifically, this: * Removes some CPP needed for GHC 8.4. * Bumps the `th-desugar` submodule. * Singling `DerivingVia` does nothing (but emits a warning). * Promoting or singling a quantified constraint results in an error. * Now that GHC is smarter about kind inference in CUSKs, we can remove some superfluous kind signatures on certain class methods in `Applicative`, `Monad`, etc., as well as on definitions involving `Const`. * Puts a mention in the `README` of how `NoStarIsType` is needed to use `PNum(type (*))`.
RyanGlScott
added a commit
that referenced
this issue
Jul 18, 2018
* Require GHC 8.6 This checks off all boxes in #324 except the third one (involving `ShowSing`, which I'll tackle separately in #352). Specifically, this: * Removes some CPP needed for GHC 8.4. * Bumps the `th-desugar` submodule. * Singling `DerivingVia` does nothing (but emits a warning). * Promoting or singling a quantified constraint results in an error. * Now that GHC is smarter about kind inference in CUSKs, we can remove some superfluous kind signatures on certain class methods in `Applicative`, `Monad`, etc., as well as on definitions involving `Const`. * Puts a mention in the `README` of how `NoStarIsType` is needed to use `PNum(type (*))`. * Work around haskell/cabal#5423
At this point, GHC 8.6 is due to be released Real Soon Now, and I don't expect any further changes that would affect the expected test results (74176fa should be the last of them, I think). Are we ready to release |
Go for it. :) |
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This issue serves as a reminder to do certain things before we ship a new major release that supports GHC 8.6:
In addition, there are some other things that we could do if some new language extensions make it in to GHC 8.6:
Template Haskell changes. In particular:
th-desugar
to support the newViaStrategy
AST form, as well asQuantifiedConstraints
. (Add support for DerivingVia and QuantifiedConstraints th-desugar#86)singletons
does not supportGeneralizedNewtypeDeriving
, it will also not supportDerivingVia
. Implement this.If
QuantifiedConstraints
lands in 8.6, then we can completely do away with theShowSing
class. We can take code like this:And replace it with a much more concise equivalent:
See the
quantified-constraints
branch for a WIP implementation of this.Now that GHC is smarter about kind inference in CUSKs, we may be able to remove some superfluous kind signatures on
k -> Type
-kinded things (e.g., inFunctor
orConst
).Mention in the
README
that you'll likely need to enableNoStarIsType
in order to profitably usePNum(type (*))
.The text was updated successfully, but these errors were encountered: