[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 5 commits: Define `Infinite` list and use where appropriate.
Marge Bot (@marge-bot)
gitlab at gitlab.haskell.org
Tue Nov 8 14:53:50 UTC 2022
Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC
Commits:
ab0ad7a0 by M Farkas-Dyck at 2022-11-08T09:53:37-05:00
Define `Infinite` list and use where appropriate.
Also add perf test for infinite list fusion.
In particular, in `GHC.Core`, often we deal with infinite lists of roles. Also in a few locations we deal with infinite lists of names.
Thanks to simonpj for helping to write the Note [Fusion for `Infinite` lists].
- - - - -
b8588ec6 by Ross Paterson at 2022-11-08T09:53:40-05:00
Fix TypeData issues (fixes #22315 and #22332)
There were two bugs here:
1. Treating type-level constructors as PromotedDataCon doesn't always
work, in particular because constructors promoted via DataKinds are
called both T and 'T. (Tests T22332a, T22332b, T22315a, T22315b)
Fix: guard these cases with isDataKindsPromotedDataCon.
2. Type-level constructors were sent to the code generator, producing
things like constructor wrappers. (Tests T22332a, T22332b)
Fix: test for them in isDataTyCon.
Other changes:
* changed the marking of "type data" DataCon's as suggested by SPJ.
* added a test TDGADT for a type-level GADT.
* comment tweaks
* change tcIfaceTyCon to ignore IfaceTyConInfo, so that IfaceTyConInfo
is used only for pretty printing, not for typechecking. (SPJ)
- - - - -
e5069bcf by Jade Lovelace at 2022-11-08T09:53:43-05:00
Clarify msum/asum documentation
- - - - -
633cc912 by Jade Lovelace at 2022-11-08T09:53:43-05:00
Add example for (<$)
- - - - -
dd859669 by Jade Lovelace at 2022-11-08T09:53:43-05:00
Document what Alternative/MonadPlus instances actually do
- - - - -
30 changed files:
- compiler/GHC/Builtin/Names.hs
- compiler/GHC/Core/Coercion.hs
- compiler/GHC/Core/Coercion/Opt.hs
- compiler/GHC/Core/DataCon.hs
- compiler/GHC/Core/DataCon.hs-boot
- compiler/GHC/Core/FamInstEnv.hs
- compiler/GHC/Core/Lint.hs
- compiler/GHC/Core/Reduction.hs
- compiler/GHC/Core/TyCon.hs
- compiler/GHC/Core/Unify.hs
- compiler/GHC/CoreToIface.hs
- + compiler/GHC/Data/List/Infinite.hs
- compiler/GHC/HsToCore/Pmc/Ppr.hs
- compiler/GHC/Iface/Make.hs
- compiler/GHC/Iface/Rename.hs
- compiler/GHC/Iface/Syntax.hs
- compiler/GHC/Iface/Type.hs
- compiler/GHC/IfaceToCore.hs
- compiler/GHC/Parser/Errors/Ppr.hs
- compiler/GHC/Rename/Module.hs
- compiler/GHC/Tc/Gen/Foreign.hs
- compiler/GHC/Tc/Gen/HsType.hs
- compiler/GHC/Tc/Instance/Typeable.hs
- compiler/GHC/Tc/Solver/Canonical.hs
- compiler/GHC/Tc/Solver/Rewrite.hs
- compiler/GHC/Tc/TyCl.hs
- compiler/GHC/Tc/TyCl/Instance.hs
- compiler/GHC/Tc/Utils/TcType.hs
- compiler/GHC/Types/TyThing.hs
- compiler/ghc.cabal.in
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/d9074bc005c39420b9dd2e4c6c2b7d95335c67e8...dd859669579a7f1d48f7881c1772df16607562e5
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/d9074bc005c39420b9dd2e4c6c2b7d95335c67e8...dd859669579a7f1d48f7881c1772df16607562e5
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20221108/7811d79e/attachment.html>
More information about the ghc-commits
mailing list