summaryrefslogtreecommitdiff
path: root/libraries/base/changelog.md
Commit message (Collapse)AuthorAgeFilesLines
* Add a primop to query the label of a threadBen Gamari2022-08-061-0/+2
|
* rts: Move thread labels into TSOBen Gamari2022-08-061-0/+4
| | | | | | | This eliminates the thread label HashTable and instead tracks this information in the TSO, allowing us to use proper StgArrBytes arrays for backing the label and greatly simplifying management of object lifetimes when we expose them to the user with the coming `threadLabel#` primop.
* Add primop to list threadsBen Gamari2022-08-061-0/+2
| | | | | | | A user came to #ghc yesterday wondering how best to check whether they were leaking threads. We ended up using the eventlog but it seems to me like it would be generally useful if Haskell programs could query their own threads.
* Default implementation for mempty/(<>)Gabriella Gonzalez2022-07-251-0/+2
| | | | | | | | | | | | Approved by: https://github.com/haskell/core-libraries-committee/issues/61 This adds a default implementation for `mempty` and `(<>)` along with a matching `MINIMAL` pragma so that `Semigroup` and `Monoid` instances can be defined in terms of `sconcat` / `mconcat`. The description for each class has also been updated to include the equivalent set of laws for the `sconcat`-only / `mconcat`-only instances.
* Add mapAccumM, forAccumM to Data.TraversableBoris Lykah2022-07-191-0/+2
| | | | | Approved by Core Libraries Committee in https://github.com/haskell/core-libraries-committee/issues/65#issuecomment-1186275433
* changelog typoEric Lindblad2022-07-181-1/+1
|
* Add applyWhen to Data.Function per CLC propAnselm Schüler2022-07-041-0/+1
| | | | Approved by CLC in https://github.com/haskell/core-libraries-committee/issues/71#issuecomment-1165830233
* Add Foldable1 and Bifoldable1 type classesBodigrim2022-06-271-1/+2
| | | | | | | | | | | | Approved by CLC in https://github.com/haskell/core-libraries-committee/issues/9 Instances roughly follow https://hackage.haskell.org/package/semigroupoids-5.3.7/docs/Data-Semigroup-Foldable-Class.html#t:Foldable1 but the API of `Foldable1` was expanded in comparison to `semigroupoids`. Compatibility shim is available from https://github.com/phadej/foldable1 (to be released). Closes #13573.
* re-export GHC.Natural.minusNaturalMaybe from Numeric.NaturalArtem Pelenitsyn2022-06-221-0/+1
| | | | CLC proposal: https://github.com/haskell/core-libraries-committee/issues/45
* export IsList from GHC.IsListTeo Camarasu2022-05-291-0/+2
| | | | it is still re-exported from GHC.Exts
* base: Introduce [sg]etFinalizerExceptionHandlerBen Gamari2022-05-191-0/+5
| | | | | This introduces a global hook which is called when an exception is thrown during finalization.
* Re-export augment and build from GHC.ListBen Gamari2022-05-131-0/+2
| | | | Resolves https://gitlab.haskell.org/ghc/ghc/-/issues/19127
* Correct base's changelog for 4.16.1.0Hécate Moonlight2022-05-091-4/+9
| | | | | | | This commit reaffects the new Ix instances of the foreign integral types from base 4.17 to 4.16.1.0 closes #21529
* Start 9.6.1-notessheaf2022-05-051-0/+2
| | | | | Updates the documentation notes to start tracking changes for the 9.6.1 release (instead of 9.4).
* Mention new MutableByteArray# wrapper in base changelog.Andreas Klebinger2022-04-221-1/+1
|
* Update changelog.Philip Hazelden2022-04-091-0/+3
|
* remove MonadFail instances of STArtem Pelenitsyn2022-03-051-0/+5
| | | | | | | | CLC proposal: https://github.com/haskell/core-libraries-committee/issues/33 The instances had `fail` implemented in terms of `error`, whereas the idea of the `MonadFail` class is that the `fail` method should be implemented in terms of the monad itself.
* Move linters into the treeMatthew Pickering2022-02-241-1/+1
| | | | | | | | | | This MR moves the GHC linters into the tree, so that they can be run directly using Hadrian. * Query all files tracked by Git instead of using changed files, so that we can run the exact same linting step locally and in a merge request. * Only check that the changelogs don't contain TBA when RELEASE=YES. * Add hadrian/lint script, which runs all the linting steps. * Ensure the hlint job exits with a failure if hlint is not installed (otherwise we were ignoring the failure). Given that hlint doesn't seem to be available in CI at the moment, I've temporarily allowed failure in the hlint job. * Run all linting tests in CI using hadrian.
* Add the Ix class to Foreign C integral typesHécate Moonlight2022-02-041-0/+5
| | | | Related CLC proposal is here: https://github.com/haskell/core-libraries-committee/issues/30
* Add a note to base changelogCheng Shao2021-12-151-0/+4
|
* Data.Functor.Classes: fix Ord1 instance for DownVaibhav Sagar2021-12-141-0/+2
|
* Use HasCallStack and error in GHC.List and .NonEmptyOleg Grenrus2021-12-121-0/+4
| | | | | | | | | | | | | | | | | In addition to providing stack traces, the scary HasCallStack will hopefully make people think whether they want to use these functions, i.e. act as a documentation hint that something weird might happen. A single metric increased, which doesn't visibly use any method with `HasCallStack`. ------------------------- Metric Decrease: T9630 Metric Decrease: T19695 T9630 -------------------------
* Re-export GHC.Types from GHC.Extssheaf2021-12-071-0/+2
| | | | | | | | | | | | | | Several times in the past, it has happened that things from GHC.Types were not re-exported from GHC.Exts, forcing users to import either GHC.Types or GHC.Prim, which are subject to internal change without notice. We now re-export GHC.Types from GHC.Exts, which should avoid this happening again in the future. In particular, we now re-export `Multiplicity` and `MultMul`, which we didn't before. Fixes #20695
* Revert "Data.List specialization to []"Matthew Pickering2021-12-031-3/+0
| | | | | | | | | | This reverts commit bddecda1a4c96da21e3f5211743ce5e4c78793a2. This implements the first step in the plan formulated in #20025 to improve the communication and migration strategy for the proposed changes to Data.List. Requires changing the haddock submodule to update the test output.
* Make openFile more tolerant of async excs (#18832)Kamil Dworakowski2021-12-021-0/+3
|
* Rename Data.Array.ByteArray -> Data.Array.ByteBodigrim2021-11-261-1/+1
|
* Rename Data.ByteArray to Data.Array.ByteArray + add TrustworthyBodigrim2021-11-261-1/+1
|
* Add Data.Bits changes to base 4.16 changelogsheaf2021-11-251-0/+16
| | | | | | | | | | Several additions since 4.15 had not been recorded in the changelog: - newtypes And, Ior, Xor and Iff, - oneBits - symbolic synonyms `.^.`, `.>>.`, `!>>.`, `.<<.` and `!<<.`. Fixes #20608.
* base: Note export of Data.Tuple.Solo in changelogBen Gamari2021-10-271-1/+4
|
* Improve error messages involving operators from Data.Type.OrdChristiaan Baaij2021-09-171-0/+7
| | | | Fixes #20009
* Remove dubious Eq1 and Ord1 Fixed instances. Fixes #20309Oleg Grenrus2021-09-111-1/+0
|
* Define returnA = idOleg Grenrus2021-09-061-0/+2
|
* fromEnum Natural: Throw error for non-representable valuesPeter Lebbing2021-09-061-0/+3
| | | | | | | | Starting with commit fe770c21, an error was thrown only for the values 2^63 to 2^64-1 inclusive (on a 64-bit machine), but not for higher values. Now, errors are thrown for all non-representable values again. Fixes #20291
* Add a Typeable constraint to fromStaticPtr, addressing #19729David Simmons-Duffin2021-08-101-0/+2
|
* Add Data.ByteArray, derived from primitiveBodigrim2021-08-051-0/+2
|
* Add Generically (generic Semigroup, Monoid instances) and Generically1 ↵Baldur Blöndal2021-08-021-1/+5
| | | | (generic Functor, Applicative, Alternative, Eq1, Ord1 instances) to GHC.Generics.
* Implement improved "get executable path" queryFraser Tweedale2021-07-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | System.Environment.getExecutablePath has some problems: - Some system-specific implementations throw an exception in some scenarios, e.g. when the executable file has been deleted - The Linux implementation succeeds but returns an invalid FilePath when the file has been deleted. - The fallback implementation returns argv[0] which is not necessarily an absolute path, and is subject to manipulation. - The documentation does not explain any of this. Breaking the getExecutablePath API or changing its behaviour is not an appealing direction. So we will provide a new API. There are two facets to the problem of querying the executable path: 1. Does the platform provide a reliable way to do it? This is statically known. 2. If so, is there a valid answer, and what is it? This may vary, even over the runtime of a single process. Accordingly, the type of the new mechanism is: Maybe (IO (Maybe FilePath)) This commit implements this mechanism, defining the query action for FreeBSD, Linux, macOS and Windows. Fixes: #10957 Fixes: #12377
* Add pattern TypeRep (#19691), exported by Type.Reflection.Baldur Blöndal2021-05-191-0/+4
|
* Add Eq1 and Ord1 Fixed instancesOleg Grenrus2021-04-261-1/+2
|
* Data.List specialization to []Oleg Grenrus2021-04-011-0/+3
| | | | | | | - Remove GHC.OldList - Remove Data.OldList - compat-unqualified-imports is no-op - update haddock submodule
* Additionally export asum from Control.ApplicativeOleg Grenrus2021-03-301-0/+2
| | | | Fixes #19575
* Built-in type families: CharToNat, NatToChar (#19535)Vladislav Zavialov2021-03-171-0/+5
| | | | | Co-authored-by: Daniel Rogozin <daniel.rogozin@serokell.io> Co-authored-by: Rinat Stryungis <rinat.stryungis@serokell.io>
* fromInteger :: Integer -> {Float,Double} now always round to nearest evenARATA Mizuki2021-03-171-0/+3
| | | | | | | | integerToFloat# and integerToDouble# were moved from ghc-bignum to base. GHC.Integer.floatFromInteger and doubleFromInteger were removed. Fixes #15926, #17231, #17782
* Update changelog and release notes for Data.Type.Ord changeDaniel Winograd-Cort2021-03-081-0/+8
|
* Make openFile exception safeDavid Feuer2021-02-221-0/+5
| | | | | | | | | | | | | | | | | | | * `openFile` could sometimes leak file descriptors if it received an asynchronous exception (#19114, #19115). Fix this on POSIX. * `openFile` and more importantly `openFileBlocking` could not be interrupted effectively during the `open` system call (#17912). Fix this on POSIX. * Implement `readFile'` using `withFile` to ensure the file is closed promptly on exception. * Avoid `bracket` in `withFile`, reducing the duration of masking. Closes #19130. Addresses #17912, #19114, and #19115 on POSIX systems, but not on Windows.
* Throw IOError when allocaBytesAligned gets non-power-of-two alignDaniel Gröber2021-02-141-0/+5
|
* Introduce keepAlive primopBen Gamari2021-02-141-2/+13
|
* Remove Data.Semigroup.OptionSimon Jakobi2021-02-131-0/+2
| | | | | | Bumps the binary and deepseq submodules. Fixes https://gitlab.haskell.org/ghc/ghc/-/issues/15028.
* Add instances for GHC.Tuple.SoloBen Gamari2021-01-271-0/+4
| | | | | | | | | | | | | | | The `Applicative` instance is the most important one (for array/vector/sequence indexing purposes), but it deserves all the usual ones. T12545 does silly 1% wibbles both ways, it seems, maybe depending on architecture. Metric Increase: T12545 Metric Decrease: T12545
* Add lifted instances for 3 and 4 tuplesOleg Grenrus2021-01-181-1/+1
|