[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 5 commits: Merge ghc-bignum into ghc-internal (#24453)

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Tue Dec 24 09:00:29 UTC 2024



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


Commits:
3f7ebc58 by Sylvain Henry at 2024-12-19T20:40:14-05:00
Merge ghc-bignum into ghc-internal (#24453)

First step towards merging ghc-bignum and ghc-prim into ghc-internal.

After this patch, ghc-bignum is deprecated and is just a shallow package
reexporting modules from ghc-internal and base. Use those directly
instead.

Move `gmp` submodule into ghc-internal directory.

- - - - -
ee0150c2 by Rodrigo Mesquita at 2024-12-19T20:40:51-05:00
Improve performance of deriving Show

Significantly improves performance of deriving Show instances by
avoiding using the very polymorphic `.` operator in favour of inlining
its definition. We were generating tons of applications of it, each
which had 3 type arguments!

Improves on #9557

-------------------------
Metric Decrease:
    InstanceMatching
    T12707
    T3294
------------------------

- - - - -
8b266671 by Rodrigo Mesquita at 2024-12-19T20:40:51-05:00
Don't eta expand cons when deriving Data

This eta expansion was introduced with the initial commit for Linear
types.

I believe this isn't needed any longer. My guess is it is an artifact
from the initial linear types implementation: data constructors are
linear, but they shouldn't need to be eta expanded to be used as higher
order functions. I suppose in the early days this wasn't true.

For instance, this works now:

    data T x = T x
    f = \(x :: forall y. y -> T y) -> x True
    f T -- ok!

T is linear, but can be passed where an unrestricted higher order
function is expected. I recall there being some magic around to make
this work for data constructors...

Since this works, there's no need to eta_expand the data constructors in
the derived Data instances.

- - - - -
1c347a6d by Andrei Borzenkov at 2024-12-24T04:00:06-05:00
Flip the order of arguments of setField (#24668)

GHC Proposal 583 "HasField redesign" specifies the
following order of a setField function arguments as this:

  setField :: forall fld a b. SetField fld a b. b -> a -> a

This patch flips the application order to match the spec.

- - - - -
38e22ea0 by Ben Gamari at 2024-12-24T04:00:07-05:00
rel-eng/upload: Add set_symlink mode

This slightly eases updating of the `latest` symlinks.

- - - - -


30 changed files:

- .gitlab/rel_eng/upload.sh
- .gitmodules
- compiler/GHC/Builtin/Names.hs
- compiler/GHC/Core/Opt/Simplify/Utils.hs
- compiler/GHC/CoreToStg/Prep.hs
- compiler/GHC/Driver/Config/Core/Rules.hs
- compiler/GHC/Hs/Utils.hs
- compiler/GHC/Rename/Expr.hs
- compiler/GHC/Tc/Deriv/Generate.hs
- compiler/GHC/Tc/Gen/Default.hs
- compiler/GHC/Tc/Utils/Env.hs
- compiler/GHC/Unit/Types.hs
- docs/users_guide/9.14.1-notes.rst
- docs/users_guide/exts/overloaded_record_update.rst
- hadrian/src/CommandLine.hs
- hadrian/src/Rules/Gmp.hs
- hadrian/src/Rules/Library.hs
- hadrian/src/Rules/Register.hs
- hadrian/src/Rules/SourceDist.hs
- hadrian/src/Settings/Packages.hs
- libraries/base/base.cabal.in
- + libraries/base/src/GHC/Num/BigNat.hs
- + libraries/base/src/GHC/Num/Integer.hs
- + libraries/base/src/GHC/Num/Natural.hs
- − libraries/ghc-bignum/.gitignore
- + libraries/ghc-bignum/Dummy.hs
- − libraries/ghc-bignum/Setup.hs
- − libraries/ghc-bignum/aclocal.m4
- libraries/ghc-bignum/changelog.md
- − libraries/ghc-bignum/config.mk.in


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e4b1f64351c1f64bbb6769dd2efc51d302597e13...38e22ea07fc5585f82b136b7cf439742e6357d02

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e4b1f64351c1f64bbb6769dd2efc51d302597e13...38e22ea07fc5585f82b136b7cf439742e6357d02
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/20241224/8323e49e/attachment.html>


More information about the ghc-commits mailing list