[Git][ghc/ghc][wip/or-pats] 17 commits: Update `Data.List.singleton` doc comment

David (@knothed) gitlab at gitlab.haskell.org
Mon Feb 13 16:55:28 UTC 2023



David pushed to branch wip/or-pats at Glasgow Haskell Compiler / GHC


Commits:
d9d0c28d by konsumlamm at 2023-02-09T14:07:48-05:00
Update `Data.List.singleton` doc comment
- - - - -
fe9cd6ef by Ben Gamari at 2023-02-09T14:08:23-05:00
gitlab-template: Emphasize `user facing` label

My sense is that the current mention of the ~"user facing" label is
overlooked by many MR authors.

Let's move this point up in the list to make it more likely that it is
seen. Also rephrase some of the points.

- - - - -
e45eb828 by Simon Peyton Jones at 2023-02-10T06:51:28-05:00
Refactor the simplifier a bit to fix #22761

The core change in this commit, which fixes #22761, is that

* In a Core rule, ru_rhs is always occ-analysed.

This means adding a couple of calls to occurAnalyseExpr when
building a Rule, in
* GHC.Core.Rules.mkRule
* GHC.Core.Opt.Simplify.Iteration.simplRules

But diagosing the bug made me stare carefully at the code of the
Simplifier, and I ended up doing some only-loosely-related refactoring.

* I think that RULES could be lost because not every code path
  did addBndrRules

* The code around lambdas was very convoluted

It's mainly moving deck chairs around, but I like it more now.

- - - - -
11e0cacb by Rebecca Turner at 2023-02-10T06:52:09-05:00
Detect the `mold` linker

Enables support for the `mold` linker by rui314.

- - - - -
59556235 by parsonsmatt at 2023-02-10T09:53:11-05:00
Add Lift instance for Fixed

- - - - -
c44e5f30 by Sylvain Henry at 2023-02-10T09:53:51-05:00
Testsuite: decrease length001 timeout for JS (#22921)

- - - - -
133516af by Zubin Duggal at 2023-02-10T09:54:27-05:00
compiler: Use NamedFieldPuns for `ModIface_` and `ModIfaceBackend` `NFData`
instances

This is a minor refactor that makes it easy to add and remove fields from
`ModIface_` and `ModIfaceBackend`.

Also change the formatting to make it clear exactly which fields are
fully forced with `rnf`

- - - - -
7b40a6bf by David Knothe at 2023-02-13T17:55:04+01:00
Add Or Patterns (proposal 0522)

- - - - -
a9eea663 by David Knothe at 2023-02-13T17:55:05+01:00
Update submodule haddock & linting stuff

- - - - -
5546a105 by David Knothe at 2023-02-13T17:55:05+01:00
Write user guide entry

- - - - -
c0298e4b by David Knothe at 2023-02-13T17:55:05+01:00
Add EPAs

- - - - -
043d5665 by David Knothe at 2023-02-13T17:55:05+01:00
Update submodule haddock

- - - - -
b97476e9 by David Knothe at 2023-02-13T17:55:06+01:00
Add EPA test

- - - - -
678dcdef by Sebastian Graf at 2023-02-13T17:55:06+01:00
Adjust the pattern-match checker for Or patterns

Previously, any pattern match or guard could be desugared into a vector of
elementary `PmGrd`s (called `GrdVec`) that must all match conjunctively.

But with Or patterns, that is bound to change, quite drastically so:
Or patterns imply disjunctive matching, and because they may occur
nestedly inside other patterns, we need to widen our `GrdVec` type
to accomodate both conjunctive/sequential as well as disjunctive/alternative
composition.

This leads to a rather modest generalisation of the guard tree formalism,
yielding guard *directed acyclic graphs*. These DAGs are *series-parallel*,
that is to say a *very* benign kind of DAG that is nearly a tree, and which
can be defined easily as an inductive data type, `GrdDag`.

Beyond adjustments to use the new graph constructors, the rest is just routine
re-use of the existing `topToBottom` combinator in `GHC.HsToCore.Pmc.Check`.

Nice!

- - - - -
4d3a9027 by David Knothe at 2023-02-13T17:55:07+01:00
Minor things

- - - - -
923b6dfe by David Knothe at 2023-02-13T17:55:07+01:00
Fix test errors

- - - - -
5c5a93f5 by David Knothe at 2023-02-13T17:55:08+01:00
Test fixes

- - - - -


30 changed files:

- .gitlab/merge_request_templates/merge-request.md
- compiler/GHC/Core.hs
- compiler/GHC/Core/Opt/Arity.hs
- compiler/GHC/Core/Opt/OccurAnal.hs
- compiler/GHC/Core/Opt/Simplify/Env.hs
- compiler/GHC/Core/Opt/Simplify/Iteration.hs
- compiler/GHC/Core/Opt/Simplify/Utils.hs
- compiler/GHC/Core/Rules.hs
- compiler/GHC/Core/Utils.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Hs/Pat.hs
- compiler/GHC/Hs/Syn/Type.hs
- compiler/GHC/Hs/Utils.hs
- compiler/GHC/HsToCore/Match.hs
- compiler/GHC/HsToCore/Pmc/Check.hs
- compiler/GHC/HsToCore/Pmc/Desugar.hs
- compiler/GHC/HsToCore/Pmc/Types.hs
- compiler/GHC/HsToCore/Utils.hs
- compiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Parser.y
- compiler/GHC/Parser/Annotation.hs
- compiler/GHC/Parser/Errors/Ppr.hs
- compiler/GHC/Parser/Errors/Types.hs
- compiler/GHC/Parser/Lexer.x
- compiler/GHC/Parser/PostProcess.hs
- compiler/GHC/Rename/Bind.hs
- compiler/GHC/Rename/Expr.hs
- compiler/GHC/Rename/Pat.hs
- compiler/GHC/SysTools/Info.hs
- compiler/GHC/Tc/Errors/Ppr.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/7689564d58a89c35520139834bdb7056c1ddba7c...5c5a93f59ab960b65d4b38af233d426309868af2

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/7689564d58a89c35520139834bdb7056c1ddba7c...5c5a93f59ab960b65d4b38af233d426309868af2
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/20230213/d9adf37e/attachment-0001.html>


More information about the ghc-commits mailing list