Skip to content
Snippets Groups Projects
  1. Apr 26, 2024
    • Simon Peyton Jones's avatar
      Fix missing escaping-kind check in tcPatSynSig · 4d6394dd
      Simon Peyton Jones authored and Marge Bot's avatar Marge Bot committed
      Note [Escaping kind in type signatures] explains how we deal
      with escaping kinds in type signatures, e.g.
          f :: forall r (a :: TYPE r). a
      where the kind of the body is (TYPE r), but `r` is not in
      scope outside the forall-type.
      
      I had missed this subtlety in tcPatSynSig, leading to #24686.
      This MR fixes it; and a similar bug in tc_top_lhs_type. (The
      latter is tested by T24686a.)
      4d6394dd
    • Hannes Siebenhandl's avatar
      Split `BinHandle` into `ReadBinHandle` and `WriteBinHandle` · bac57298
      Hannes Siebenhandl authored and Marge Bot's avatar Marge Bot committed
      A `BinHandle` contains too much information for reading data.
      For example, it needs to keep a `FastMutInt` and a `IORef BinData`,
      when the non-mutable variants would suffice.
      
      Additionally, this change has the benefit that anyone can immediately
      tell whether the `BinHandle` is used for reading or writing.
      
      Bump haddock submodule BinHandle split.
      bac57298
    • Hannes Siebenhandl's avatar
      Refactor the Binary serialisation interface · fa03b1fb
      Hannes Siebenhandl authored and Marge Bot's avatar Marge Bot committed
      The goal is simplifiy adding deduplication tables to `ModIface`
      interface serialisation.
      
      We identify two main points of interest that make this difficult:
      
      1. UserData hardcodes what `Binary` instances can have deduplication
         tables. Moreover, it heavily uses partial functions.
      2. GHC.Iface.Binary hardcodes the deduplication tables for 'Name' and
         'FastString', making it difficult to add more deduplication.
      
      Instead of having a single `UserData` record with fields for all the
      types that can have deduplication tables, we allow to provide custom
      serialisers for any `Typeable`.
      These are wrapped in existentials and stored in a `Map` indexed by their
      respective `TypeRep`.
      The `Binary` instance of the type to deduplicate still needs to
      explicitly look up the decoder via `findUserDataReader` and
      `findUserDataWriter`, which is no worse than the status-quo.
      
      `Map` was chosen as microbenchmarks indicate it is the fastest for a
      small number of keys (< 10).
      
      To generalise the deduplication table serialisation mechanism, we
      introduce the types `ReaderTable` and `WriterTable` which provide a
      simple interface that is sufficient to implement a general purpose
      deduplication mechanism for `writeBinIface` and `readBinIface`.
      
      This allows us to provide a list of deduplication tables for
      serialisation that can be extended more easily, for example for
      `IfaceTyCon`, see the issue ghc/ghc#24540
      for more motivation.
      
      In addition to this refactoring, we split `UserData` into `ReaderUserData`
      and `WriterUserData`, to avoid partial functions and reduce overall
      memory usage, as we need fewer mutable variables.
      
      Bump haddock submodule to accomodate for `UserData` split.
      
      -------------------------
      Metric Increase:
          MultiLayerModulesTH_Make
          MultiLayerModulesRecomp
          T21839c
      -------------------------
      fa03b1fb
  2. Apr 25, 2024
    • Andrei Borzenkov's avatar
      Fix tuple puns renaming (24702) · 94da9365
      Andrei Borzenkov authored and Marge Bot's avatar Marge Bot committed
      Move tuple renaming short cutter from `isBuiltInOcc_maybe` to `isPunOcc_maybe`, so we consider incoming module.
      
      I also fixed some hidden bugs that raised after the change was done.
      94da9365
    • Matthew Pickering's avatar
      Linearise ghc-internal and base build · 8a06ddf6
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      This is achieved by requesting the final package database for
      ghc-internal, which mandates it is fully built as a dependency of
      configuring the `base` package. This is at the expense of cross-package
      parrallelism between ghc-internal and the base package.
      
      Fixes #24436
      8a06ddf6
    • Sylvain Henry's avatar
      JS: correctly handle RUBBISH literals (#24664) · daeda834
      Sylvain Henry authored and Marge Bot's avatar Marge Bot committed
      daeda834
    • Cheng Shao's avatar
      autoconf: remove obsolete patch detection · 71f28958
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This commit removes obsolete deletection logic of the patch command
      from autoconf scripts, given we no longer need to patch anything in
      the GHC build process.
      71f28958
    • Cheng Shao's avatar
      hadrian: remove obsolete Patch logic · 65b4b92f
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This commit removes obsolete Patch logic from hadrian, given we no
      longer need to patch the gmp tarball when building in-tree GMP.
      65b4b92f
    • Cheng Shao's avatar
      ghc-bignum: update gmp to 6.3.0 · 6399d52b
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This patch bumps the gmp-tarballs submodule and updates gmp to 6.3.0.
      The tarball format is now xz, and gmpsrc.patch has been patched into
      the tarball so hadrian no longer needs to deal with patching logic
      when building in-tree GMP.
      6399d52b
    • Cheng Shao's avatar
      ghc-bignum: remove obsolete ln script · c62dc317
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This commit removes an obsolete ln script in ghc-bignum/gmp. See
      060251c2 for its original intention,
      but it's been obsolete for a long time, especially since the removal
      of the make build system. Hence the house cleaning.
      c62dc317
  3. Apr 23, 2024
  4. Apr 22, 2024
    • Brandon S. Allbery's avatar
      fix link in CODEOWNERS · e1cf8dc2
      Brandon S. Allbery authored and Marge Bot's avatar Marge Bot committed
      It seems that our local Gitlab no longer has documentation for the
      `CODEOWNERS` file, but the master documentation still does. Use
      that instead.
      e1cf8dc2
  5. Apr 21, 2024
  6. Apr 20, 2024
  7. Apr 19, 2024
  8. Apr 17, 2024
Loading