[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