[Git][ghc/ghc][wip/sand-witch/lazy-skol] 32 commits: Enhance Documentation of functions exported by Data.Function

Simon Peyton Jones (@simonpj) gitlab at gitlab.haskell.org
Fri Jan 26 13:33:08 UTC 2024



Simon Peyton Jones pushed to branch wip/sand-witch/lazy-skol at Glasgow Haskell Compiler / GHC


Commits:
1fa1c00c by Jade at 2024-01-23T19:17:03-05:00
Enhance Documentation of functions exported by Data.Function

This patch aims to improve the documentation of functions exported
in Data.Function

Tracking: #17929
Fixes: #10065

- - - - -
ab47a43d by Jade at 2024-01-23T19:17:39-05:00
Improve documentation of hGetLine.

- Add explanation for whether a newline is returned
- Add examples

Fixes #14804

- - - - -
dd4af0e5 by Cheng Shao at 2024-01-23T19:18:17-05:00
Fix genapply for cross-compilation by nuking fragile CPP logic

This commit fixes incorrectly built genapply when cross compiling
(#24347) by nuking all fragile CPP logic in it from the orbit. All
target-specific info are now read from DerivedConstants.h at runtime,
see added note for details. Also removes a legacy Makefile and adds
haskell language server support for genapply.

- - - - -
0cda2b8b by Cheng Shao at 2024-01-23T19:18:17-05:00
rts: enable wasm32 register mapping

The wasm backend didn't properly make use of all Cmm global registers
due to #24347. Now that it is fixed, this patch re-enables full
register mapping for wasm32, and we can now generate smaller & faster
wasm modules that doesn't always spill arguments onto the stack. Fixes #22460 #24152.

- - - - -
0325a6e5 by Greg Steuck at 2024-01-24T01:29:44-05:00
Avoid utf8 in primops.txt.pp comments

They don't make it through readFile' without explicitly setting the
encoding. See https://gitlab.haskell.org/ghc/ghc/-/issues/17755

- - - - -
1aaf0bd8 by David Binder at 2024-01-24T01:30:20-05:00
Bump hpc and hpc-bin submodule

Bump hpc to 0.7.0.1
Bump hpc-bin to commit d1780eb2

- - - - -
e693a4e8 by Ben Gamari at 2024-01-24T01:30:56-05:00
testsuite: Ignore stderr in T8089

Otherwise spurious "Killed: 9" messages to stderr may cause the test to fail.
Fixes #24361.
- - - - -
a40f4ab2 by sheaf at 2024-01-24T14:04:33-05:00
Fix FMA instruction on LLVM

We were emitting the wrong instructions for fused multiply-add
operations on LLVM:

  - the instruction name is "llvm.fma.f32" or "llvm.fma.f64", not "fmadd"
  - LLVM does not support other instructions such as "fmsub"; instead
    we implement these by flipping signs of some arguments
  - the instruction is an LLVM intrinsic, which requires handling it
    like a normal function call instead of a machine instruction

Fixes #24223

- - - - -
69abc786 by Andrei Borzenkov at 2024-01-24T14:05:09-05:00
Add changelog entry for renaming tuples from (,,...,,) to Tuple<n> (24291)

- - - - -
0ac8f385 by Cheng Shao at 2024-01-25T00:27:48-05:00
compiler: remove unused GHC.Linker module

The GHC.Linker module is empty and unused, other than as a hack for
the make build system. We can remove it now that make is long gone;
the note is moved to GHC.Linker.Loader instead.

- - - - -
699da01b by Hécate Moonlight at 2024-01-25T00:28:27-05:00
Clarification for newtype constructors when using `coerce`

- - - - -
0033d4e0 by Andrei Borzenkov at 2024-01-26T13:32:56+00:00
Lazy skolemisation for @a-binders (17594)

This patch is a preparation for @a-binders implementation.
We have to accept SigmaType in matchExpectedFunTys function
to implement them. To achieve that, I made skolemization more
lazy. This leads to

- Changing tcPolyCheck function. Now it collects skolemised
  type variables and passes a list of them into tc_match_fun,
  so they could be used as [ExpPatType] with @-binsers.
- Changing tcExprSig function, so now it only skolemises signature
  if there is `ScopedTypeVariables` extension enabled.
- Changing tcPolyExpr function. Now it goes deeper into type if type
  actually is
    1) HsPar
    2) HsLam
  In all other cases tcPolyExpr immediately skolemises a type as it was
  previously.

These changes would allow lambdas to accept invisible type arguments
in the most interesting contexts.

- - - - -
25c5cb87 by Andrei Borzenkov at 2024-01-26T13:32:56+00:00
fixup! Lazy skolemisation for @a-binders (17594)

- - - - -
ebfd0343 by Andrei Borzenkov at 2024-01-26T13:32:56+00:00
Use flag instead of [ExpPatTy]

- - - - -
f87cb382 by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Big refactor

..based on conversations with Vlad and Ricahrd

Proper commit message yet to come...

- - - - -
c054a361 by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Revert erroneous changes to error messages

- - - - -
2da7a193 by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Wibbles

- - - - -
c8d8d419 by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Wibble

- - - - -
5515c70a by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
More improvements

- - - - -
8f42628a by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Tidying up

- - - - -
436b2fb1 by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
More

- - - - -
60b3728c by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Yet more improvements

- - - - -
3ed31054 by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Yet more

- - - - -
e3300211 by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Wibble

- - - - -
8bf333f5 by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Fix assertion error

- - - - -
afcdd48a by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Move implicationNeeded check to tcSkolemiseGeneral

- - - - -
13e7a43b by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Wibble

- - - - -
f443b1eb by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Comments

- - - - -
e153de7a by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Typos and wibbles

Thanks @sheaf and @sand-wich

- - - - -
b4ef9396 by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Re-add reconstructType

- - - - -
213da46a by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Improve wibble

- - - - -
24eb1935 by Simon Peyton Jones at 2024-01-26T13:32:56+00:00
Wibbles in response to reviews

...still incomplete

- - - - -


30 changed files:

- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/CmmToLlvm/CodeGen.hs
- compiler/GHC/Core/Make.hs
- compiler/GHC/Core/TyCo/Rep.hs
- compiler/GHC/Hs/Expr.hs
- compiler/GHC/Hs/Instances.hs
- compiler/GHC/Hs/Utils.hs
- compiler/GHC/HsToCore/Pmc/Utils.hs
- compiler/GHC/Iface/Ext/Ast.hs
- − compiler/GHC/Linker.hs
- compiler/GHC/Linker/Loader.hs
- compiler/GHC/Llvm/Ppr.hs
- compiler/GHC/Llvm/Syntax.hs
- compiler/GHC/Platform/Wasm32.hs
- compiler/GHC/Rename/Env.hs
- compiler/GHC/Rename/Expr.hs
- compiler/GHC/Rename/Pat.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/Gen/App.hs
- compiler/GHC/Tc/Gen/Arrow.hs
- compiler/GHC/Tc/Gen/Bind.hs
- compiler/GHC/Tc/Gen/Expr.hs
- compiler/GHC/Tc/Gen/Expr.hs-boot
- compiler/GHC/Tc/Gen/Head.hs
- compiler/GHC/Tc/Gen/Match.hs
- compiler/GHC/Tc/Gen/Match.hs-boot
- compiler/GHC/Tc/Gen/Pat.hs
- compiler/GHC/Tc/Gen/Sig.hs
- compiler/GHC/Tc/TyCl/Class.hs
- compiler/GHC/Tc/TyCl/Instance.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/82b49c619678ff946421b76a4af062b4231ab75c...24eb1935e9a080568852dbec4dabee666ced0c19

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/82b49c619678ff946421b76a4af062b4231ab75c...24eb1935e9a080568852dbec4dabee666ced0c19
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/20240126/645bfdeb/attachment-0001.html>


More information about the ghc-commits mailing list