[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 24 commits: compiler: Turn `FinderCache` into a record of operations so that GHC API clients can

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Thu Jul 4 01:51:37 UTC 2024



Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
8fb629b9 by Zubin Duggal at 2024-07-03T21:51:09-04:00
compiler: Turn `FinderCache` into a record of operations so that GHC API clients can
have full control over how its state is managed by overriding `hsc_FC`.

Also removes the `uncacheModule` function as this wasn't being used by anything
since 1893ba12fe1fa2ade35a62c336594afcd569736e

Fixes #23604

- - - - -
7539d874 by Oleg Grenrus at 2024-07-03T21:51:11-04:00
Add reflections of GHC.TypeLits/Nats type families

-------------------------
Metric Increase:
    ghc_experimental_dir
    ghc_experimental_so
-------------------------

- - - - -
ca2881a4 by Teo Camarasu at 2024-07-03T21:51:11-04:00
Deprecate PrimTyConI

- We produce `TyConI` for types where we used to use `PrimTyConI`.
- We add a deprecation warning to `PrimTyConI`
- We add a test case to ensure we can actually reify primitive types.

Resolves #24031

- - - - -
49be7fb6 by Adam Gundry at 2024-07-03T21:51:13-04:00
Correct -Wpartial-fields warning to say "Definition" rather than "Use"

Fixes #24710.  The message and documentation for `-Wpartial-fields` were
misleading as (a) the warning occurs at definition sites rather than use
sites, and (b) the warning relates to the definition of a field independently
of the selector function (e.g. because record updates are also partial).

- - - - -
3df08208 by Max Ulidtko at 2024-07-03T21:51:15-04:00
GHCi: Support local Prelude

Fixes #10920, an issue where GHCi bails out when started alongside a
file named Prelude.hs or Prelude.lhs (even empty file suffices).

The in-source Note [GHCi and local Preludes] documents core reasoning.

Supplementary changes:

 * add debug traces for module lookups under -ddump-if-trace;
 * drop stale comment in GHC.Iface.Load;
 * reduce noise in -v3 traces from GHC.Utils.TmpFs;
 * new test, which also exercizes HomeModError.

- - - - -
8b0dd1e6 by Ryan Scott at 2024-07-03T21:51:15-04:00
Add missing gParPat in cvtp's ViewP case

When converting a `ViewP` using `cvtp`, we need to ensure that the view pattern
is parenthesized so that the resulting code will parse correctly when
roundtripped back through GHC's parser.

Fixes #24894.

- - - - -
1141c3a1 by Adam Gundry at 2024-07-03T21:51:15-04:00
Use structured error representation for module cycle errors (see #18516)

This removes the re-export of cyclicModuleErr from the top-level GHC module.

- - - - -
714586ab by Adam Gundry at 2024-07-03T21:51:15-04:00
Use structured error representation when reloading a nonexistent module

- - - - -
720fa1a3 by sheaf at 2024-07-03T21:51:15-04:00
Use structured errors for a Backpack instantiation error

- - - - -
c82f336a by sheaf at 2024-07-03T21:51:15-04:00
Move mkFileSrcSpan to GHC.Unit.Module.Location

- - - - -
689313dc by Adriaan Leijnse at 2024-07-03T21:51:16-04:00
ttg: Remove SourceText from OverloadedLabel

Progress towards #21592

- - - - -
a0b0ef66 by Alexander Foremny at 2024-07-03T21:51:16-04:00
AST: GHC.Prelude -> Prelude

Refactor occurrences to GHC.Prelude with Prelude within
Language/Haskell.

Progress towards #21592

- - - - -
03f0543f by Alexander Foremny at 2024-07-03T21:51:16-04:00
AST: remove occurrences of GHC.Unit.Module.ModuleName

`GHC.Unit.Module` re-exports `ModuleName` from
`Language.Haskell.Syntax.Module.Name`.

Progress towards #21592

- - - - -
cc0eaddc by Fabian Kirchner at 2024-07-03T21:51:16-04:00
AST: move Data instance definition for ModuleName to GHC.Unit.Types

To remove the dependency on GHC.Utils.Misc inside
Language.Haskell.Syntax.Module.Name, the instance definition is moved
from there into GHC.Unit.Types.

Progress towards #21592

- - - - -
bb3dae58 by Fabian Kirchner at 2024-07-03T21:51:16-04:00
AST: move negateOverLitVal into GHC.Hs.Lit

The function negateOverLitVal is not used within Language.Haskell and
therefore can be moved to the respective module inside GHC.Hs.

Progress towards #21592

- - - - -
619d983b by Fabian Kirchner at 2024-07-03T21:51:16-04:00
AST: move conDetailsArity into GHC.Rename.Module

The function conDetailsArity is only used inside GHC.Rename.Module.  We
therefore move it there from Language.Haskell.Syntax.Lit.

Progress towards #21592

- - - - -
67a82e31 by Mauricio at 2024-07-03T21:51:16-04:00
AST: Remove GHC.Utils.Assert from GHC

Simple cleanup.

Progress towards #21592

- - - - -
31e44262 by Fabian Kirchner at 2024-07-03T21:51:16-04:00
ttg: extract Specificity, ForAllTyFlag and helper functions from GHC.Types.Var

Progress towards #21592

Specificity, ForAllTyFlag and its' helper functions are extracted from
GHC.Types.Var and moved into a new module Language.Haskell.Syntax.Specificity.

Note: Eventually (i.e. after Language.Haskell.Syntax.Decls does not depend on
GHC.* anymore) these should be moved into Language.Haskell.Syntax.Decls.
At this point, this would cause cyclic dependencies.

- - - - -
e520dbb5 by Adowrath at 2024-07-03T21:51:16-04:00
ttg: Split HsSrcBang, remove ref to DataCon from Syntax.Type

Progress towards #21592

This splits HsSrcBang up, creating the new HsBang within
`Language.Haskell.Syntax.Basic`. `HsBang` holds the unpackedness
and strictness information, while `HsSrcBang` only adds the SourceText
for usage within the compiler directly.

Inside the AST, to preserve the SourceText, it is hidden behind the
pre-existing extension point `XBindTy`. All other occurrences of
`HsSrcBang` were adapted to deconstruct the inner `HsBang`, and when
interacting with the `BindTy` constructor, the hidden `SourceText` is
extracted/inserted into the `XBindTy` extension point.

`GHC.Core.DataCon` exports both `HsSrcBang` and `HsBang` for
convenience. A constructor function `mkHsSrcBang` that takes all
individual components has been added.

Two exceptions has been made though:
- The `Outputable HsSrcBang` instance is replaced by
  `Outputable HsBang`. While being only GHC-internal, the only place
  it's used is in outputting `HsBangTy` constructors -- which already
  have `HsBang`. It wouldn't make sense to reconstruct a `HsSrcBang` just
  to ignore the `SourceText` anyway.
- The error `TcRnUnexpectedAnnotation` did not use the `SourceText`,
  so it too now only holds a `HsBang`.

- - - - -
cfbbc858 by Mauricio at 2024-07-03T21:51:16-04:00
AST: Moved definitions that use GHC.Utils.Panic to GHC namespace

Progress towards #21592

- - - - -
ef2a2d40 by Mike Pilgrem at 2024-07-03T21:51:21-04:00
Fix #25032 Refer to Cabal's `includes` field, not `include-files`

- - - - -
875aa5ef by Matthew Pickering at 2024-07-03T21:51:22-04:00
ci: Use nixpkgs-20.04-darwin channel for darwin toolchain

We are currently seeing a couple of errors on darwin machines after I
bumped the toolchain commit.

```
       last 10 log lines:
       >     from .extern.jaraco.text import yield_lines
       >   File "/private/tmp/nix-build-python3.11-setuptools-69.5.1.drv-0/source/setuptools/_vendor/jaraco/text/__init__.py", line 12, in <module>
       >     from setuptools.extern.jaraco.context import ExceptionTrap
       >   File "/private/tmp/nix-build-python3.11-setuptools-69.5.1.drv-0/source/setuptools/_vendor/jaraco/context.py", line 11, in <module>
       >     import urllib.request
       >   File "/nix/store/z3ccgikilqsd1kzjf1sr03wbnjyga4hh-python3-minimal-3.11.9/lib/python3.11/urllib/request.py", line 2656, in <module>
       >     from _scproxy import _get_proxy_settings, _get_proxies
       > ModuleNotFoundError: No module named '_scproxy'
       >
       > ERROR Backend 'setuptools.build_meta' is not available.
```

In theory this channel should be tested so it should work?

- - - - -
7579de42 by Andrew Lelechenko at 2024-07-03T21:51:22-04:00
base: fix more missing changelog entries

- - - - -
1024576a by Bryan Richter at 2024-07-03T21:51:23-04:00
Add .gitlab/README.md with creds instructions

- - - - -


30 changed files:

- + .gitlab/README.md
- .gitlab/darwin/nix/sources.json
- compiler/GHC.hs
- compiler/GHC/Builtin/Types.hs
- compiler/GHC/Core/DataCon.hs
- compiler/GHC/Core/TyCo/Rep.hs-boot
- compiler/GHC/CoreToIface.hs
- compiler/GHC/Driver/Errors/Ppr.hs
- compiler/GHC/Driver/Errors/Types.hs
- compiler/GHC/Driver/Make.hs
- compiler/GHC/Driver/MakeFile.hs
- compiler/GHC/Hs/Expr.hs
- compiler/GHC/Hs/Lit.hs
- + compiler/GHC/Hs/Specificity.hs
- compiler/GHC/Hs/Syn/Type.hs
- compiler/GHC/Hs/Type.hs
- compiler/GHC/HsToCore.hs
- compiler/GHC/HsToCore/Expr.hs
- compiler/GHC/HsToCore/Quote.hs
- compiler/GHC/Iface/Env.hs
- compiler/GHC/Iface/Load.hs
- compiler/GHC/IfaceToCore.hs
- compiler/GHC/Parser.y
- compiler/GHC/Parser/PostProcess.hs
- compiler/GHC/Rename/Expr.hs
- compiler/GHC/Rename/Module.hs
- compiler/GHC/Tc/Deriv/Generics.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/Gen/Splice.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/295e8964a2554ab6ccee99b5ef278506cf875a25...1024576a4c7107d9e8ede89f5849bb85c30025af

-- 
This project does not include diff previews in email notifications.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/295e8964a2554ab6ccee99b5ef278506cf875a25...1024576a4c7107d9e8ede89f5849bb85c30025af
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/20240703/92a84dfc/attachment-0001.html>


More information about the ghc-commits mailing list