summaryrefslogtreecommitdiff
path: root/libraries
Commit message (Collapse)AuthorAgeFilesLines
* Use lazy break for `lines`wip/strict-breakJosh Meredith2023-01-242-7/+7
|
* comment out lazy breakJosh Meredith2023-01-241-5/+5
|
* fix tab whitespaceJosh Meredith2023-01-241-1/+1
|
* WIP strict List break CI benchmarksJosh Meredith2023-01-241-6/+18
|
* Bump process submoduleCheng Shao2023-01-231-0/+0
| | | | | | | Includes a critical fix for wasm32, see https://github.com/haskell/process/pull/272 for details. Also changes the existing cross test to include process stuff and avoid future regression here.
* template-haskell: Bump version to 2.20.0.0Ben Gamari2023-01-234-2/+2
| | | | | | Updates `text` and `exceptions` submodules for bounds bumps. Addresses #22767.
* Give the RTS it's own configure scriptJohn Ericson2023-01-181-1/+0
| | | | | | | | | | | | | Currently it doesn't do much anything, we are just trying to introduce it without breaking the build. Later, we will move functionality from the top-level configure script over to it. We need to bump Cabal for https://github.com/haskell/cabal/pull/8649; to facilitate and existing hack of skipping some configure checks for the RTS we now need to skip just *part* not *all* of the "post configure" hook, as running the configure script (which we definitely want to do) is also implemented as part of the "post configure" hook. But doing this requires exposing functionality that wasn't exposed before.
* Bump gmp-tarballs submoduleBen Gamari2023-01-181-0/+0
| | | | This backports the upstream fix for CVE-2021-43618, fixing #22789.
* Bump ghc-tarballs to fix #22497Ben Gamari2023-01-181-0/+0
| | | | | | | | | | | It turns out that gmp 6.2.1 uses the platform-reserved `x18` register on AArch64/Darwin. This was fixed in upstream changeset 18164:5f32dbc41afc, which was merged in 2020. Here I backport this patch although I do hope that a new release is forthcoming soon. Bumps gmp-tarballs submodule. Fixes #22497.
* testsuite: req_smp --> req_target_smp, req_ghc_smpSylvain Henry2023-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See #22630 and !9552 This commit: - splits req_smp into req_target_smp and req_ghc_smp - changes the testsuite driver to calculate req_ghc_smp - changes a handful of tests to use req_target_smp instead of req_smp - changes a handful of tests to use req_host_smp when needed The problem: - the problem this solves is the ambiguity surrounding req_smp - on master req_smp was used to express the constraint that the program being compiled supports smp _and_ that the host RTS (i.e., the RTS used to compile the program) supported smp. Normally that is fine, but in cross compilation this is not always the case as was discovered in #22630. The solution: - Differentiate the two constraints: - use req_target_smp to say the RTS the compiled program is linked with (and the platform) supports smp - use req_host_smp to say the RTS the host is linked with supports smp WIP: fix req_smp (target vs ghc) add flag to separate bootstrapper split req_smp -> req_target_smp and req_ghc_smp update tests smp flags cleanup and add some docstrings only set ghc_with_smp to bootstrapper on S1 or CC Only set ghc_with_smp to bootstrapperWithSMP of when testing stage 1 and cross compiling test the RTS in config/ghc not hadrian re-add ghc_with_smp fix and align req names fix T11760 to use req_host_smp test the rts directly, avoid python 3.5 limitation test the compiler in a try block align out of tree and in tree withSMP flags mark failing tests as host req smp testsuite: req_host_smp --> req_ghc_smp Fix ghc vs host, fix ghc_with_smp leftover
* Bump submodule parsec to 3.1.16.1Bodigrim2023-01-161-0/+0
|
* Mark maximumBy/minimumBy as INLINE.Andreas Klebinger2023-01-162-2/+34
| | | | | | | | | The RHS was too large to inline which often prevented the overhead of the Maybe from being optimized away. By marking it as INLINE we can eliminate the overhead of both the maybe and are able to unpack the accumulator when possible. Fixes #22609
* Bump process submoduleCheng Shao2023-01-131-0/+0
|
* Bump submodule bytestring to 0.11.4.0Bodigrim2023-01-131-0/+0
| | | | | | Metric Decrease: T21839c T21839r
* Introduce the TypeAbstractions language flagVladislav Zavialov2023-01-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | GHC Proposals #448 "Modern scoped type variables" and #425 "Invisible binders in type declarations" introduce a new language extension flag: TypeAbstractions. Part of the functionality guarded by this flag has already been implemented, namely type abstractions in constructor patterns, but it was guarded by a combination of TypeApplications and ScopedTypeVariables instead of a dedicated language extension flag. This patch does the following: * introduces a new language extension flag TypeAbstractions * requires TypeAbstractions for @a-syntax in constructor patterns instead of TypeApplications and ScopedTypeVariables * creates a User's Guide page for TypeAbstractions and moves the "Type Applications in Patterns" section there To avoid a breaking change, the new flag is implied by ScopedTypeVariables and is retroactively added to GHC2021. Metric Decrease: MultiLayerModulesTH_OneShot
* Add safe list indexing operator: !?Oleg Grenrus2023-01-094-5/+34
| | | | | | With Joachim's amendments. Implements https://github.com/haskell/core-libraries-committee/issues/110
* Misc cleanupKrzysztof Gogolewski2023-01-051-1/+1
| | | | | | | | | - Remove unused uniques and hs-boot declarations - Fix types of seq and unsafeCoerce# - Remove FastString/String roundtrip in JS - Use TTG to enforce totality - Remove enumeration in Heap/Inspect; the 'otherwise' clause serves the primitive types well.
* Explain the auxiliary functions of permutationsFacundo Domínguez2023-01-031-0/+27
|
* Document infelicities of instance Ord Double and workaroundsBodigrim2022-12-241-23/+30
|
* Store RdrName rather than OccName in HolesMatthew Pickering2022-12-241-0/+4
| | | | | | | | | | | | | | | | | In #20472 it was pointed out that you couldn't defer out of scope but the implementation collapsed a RdrName into an OccName to stuff it into a Hole. This leads to the error message for a deferred qualified name dropping the qualification which affects the quality of the error message. This commit adds a bit more structure to a hole, so a hole can replace a RdrName without losing information about what that RdrName was. This is important when printing error messages. I also added a test which checks the Template Haskell deferral of out of scope qualified names works properly. Fixes #22130
* base: Fix event manager shutdown race on non-Linux platformsBen Gamari2022-12-221-3/+10
| | | | | | | During shutdown it's possible that we will attempt to use a closed fd to wakeup another capability's event manager. On the Linux eventfd path we were careful to handle this. However on the non-Linux path we failed to do so. Fix this.
* Refactor mkRuntimeErrorSimon Peyton Jones2022-12-222-11/+16
| | | | | | | | | This patch fixes #22634. Because we don't have TYPE/CONSTRAINT polymorphism, we need two error functions rather than one. I took the opportunity to rname runtimeError to impossibleError, to line up with mkImpossibleExpr, and avoid confusion with the genuine runtime-error-constructing functions.
* Don't consider large byte arrays/compact regions pinned.Andreas Klebinger2022-12-221-0/+7
| | | | | Workaround for #22255 which showed how treating large/compact regions as pinned could cause segfaults.
* ghc-boot: Fix bootstrappingBen Gamari2022-12-211-3/+6
|
* base: Bump version to 4.18Ben Gamari2022-12-2115-6/+6
| | | | Requires various submodule bumps.
* Update submodule transformers to 0.6.0.4Bodigrim2022-12-211-0/+0
|
* Update submodule haskeline to HEAD (to allow transformers-0.6)Bodigrim2022-12-211-0/+0
|
* Allow transformers-0.6 in ghc, ghci, ghc-bin and hadrianBodigrim2022-12-211-1/+1
|
* Correct `exitWith` Haddocksamesgen2022-12-181-7/+5
| | | | The `IOError`-specific `catch` in the Prelude is long gone.
* base: add missing autoconf checks for waitpid/umaskCheng Shao2022-12-172-0/+12
| | | | These are not present in wasi-libc. Required for fixing #22589
* Bump submodule directory to 1.3.8.0 and hpc to HEADBodigrim2022-12-162-0/+0
|
* Mark T21336a fragileBryan Richter2022-12-121-1/+4
|
* Document that Bifunctor instances for tuples are lawful only up to lazinessBodigrim2022-12-111-2/+11
|
* Add heqT, a kind-heterogeneous variant of heqOleg Grenrus2022-12-112-2/+11
| | | | CLC proposal https://github.com/haskell/core-libraries-committee/issues/99
* Update containers submoduleMatthew Pickering2022-12-091-0/+0
| | | | | | This contains a fix necessary for the multi-repl to work on GHC's code base where we try to load containers and template-haskell into the same session.
* Make `drop` and `dropWhile` fuse (#18964)Sebastian Graf2022-12-081-25/+44
| | | | | | | I copied the fusion framework we have in place for `take`. T18964 asserts that we regress neither when fusion fires nor when it doesn't. Fixes #18964.
* Make (^) INLINE (#22324)Sebastian Graf2022-12-081-24/+57
| | | | | | | | | | | | | So that we get to cancel away the allocation for the lazily used base. We can move `powImpl` (which *is* strict in the base) to the top-level so that we don't duplicate too much code and move the SPECIALISATION pragmas onto `powImpl`. The net effect of this change is that `(^)` plays along much better with inlining thresholds and loopification (#22227), for example in `x2n1`. Fixes #22324.
* Update submodule mtl to 2.3.1, parsec to 3.1.15.1, haddock and Cabal to HEADBodigrim2022-12-083-0/+0
|
* Add initial support for LoongArch Architecture.lrzlin2022-12-082-0/+4
|
* Restore show (typeRep @[]) == "[]"Krzysztof Gogolewski2022-12-081-0/+2
| | | | | | | | | The Show instance for TypeRep [] has changed in 9.5 to output "List" because the name of the type constructor changed. This seems to be accidental and is inconsistent with TypeReps of saturated lists, which are printed as e.g. "[Int]". For now, I'm restoring the old behavior; in the future, maybe we should show TypeReps without puns (List, Tuple, Type).
* Mark Type.Reflection.Unsafe as UnsafeKrzysztof Gogolewski2022-12-082-1/+2
| | | | | This module can be used to construct ill-formed TypeReps, so it should be Unsafe.
* Fix bounds-checking buglet in Data.Array.ByteMatthew Craven2022-12-081-3/+5
| | | | | ...another manifestation of #20851 which I unfortunately missed in my first pass.
* Handle type data declarations in Template Haskell quotations and splices ↵Ross Paterson2022-12-035-3/+46
| | | | | | | (fixes #22500) This adds a TypeDataD constructor to the Template Haskell Dec type, and ensures that the constructors it contains go in the TyCls namespace.
* Make Functor a quantified superclass of Bifunctor.Baldur Blöndal2022-11-303-4/+25
| | | | | | | | | | | See https://github.com/haskell/core-libraries-committee/issues/91 for discussion. This change relates Bifunctor with Functor by requiring second = fmap. Moreover this change is a step towards unblocking the major version bump of bifunctors and profunctors to major version 6. This paves the way to move the Profunctor class into base. For that Functor first similarly becomes a superclass of Profunctor in the new major version 6.
* Move Void to GHC.Base...Oleg Grenrus2022-11-308-67/+67
| | | | | | | | | | | | | This change would allow `Void` to be used deeper in module graph. For example exported from `Prelude` (though that might be already possible). Also this change includes a change `stimes @Void _ x = x`, https://github.com/haskell/core-libraries-committee/issues/95 While the above is not required, maintaining old stimes behavior would be tricky as `GHC.Base` doesn't know about `Num` or `Integral`, which would require more hs-boot files.
* Fix @since annotations on WithDict and Coerciblesheaf2022-11-304-5/+18
| | | | Fixes #22453
* Add Javascript backendSylvain Henry2022-11-2940-116/+3425
| | | | | | | | | | | | | | | Add JS backend adapted from the GHCJS project by Luite Stegeman. Some features haven't been ported or implemented yet. Tests for these features have been disabled with an associated gitlab ticket. Bump array submodule Work funded by IOG. Co-authored-by: Jeffrey Young <jeffrey.young@iohk.io> Co-authored-by: Luite Stegeman <stegeman@gmail.com> Co-authored-by: Josh Meredith <joshmeredith2008@gmail.com>
* Move hs_mulIntMayOflo cbits to ghc-primCheng Shao2022-11-282-0/+4
| | | | | | It's only used by wasm NCG at the moment, but ghc-prim is a more reasonable place for hosting out-of-line primops. Also, we only need a single version of hs_mulIntMayOflo.
* Review suggestions for assorted fixes to avoid Data.List.{head,tail}sheaf2022-11-252-6/+8
|
* Assorted fixes to avoid Data.List.{head,tail}Bodigrim2022-11-258-16/+20
|