| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The atomic Exchange and CAS operations on integral types are updated to
take and return more natural `Word#` rather than `Int#` values. These
are bit-block not arithmetic operations, and the sign bit plays no
special role.
Standardises the names to `atomic<OpType><ValType>Addr#`, where `OpType` is one
of `Cas` or `Exchange` and `ValType` is presently either `Word` or `Addr`.
Eventually, variants for `Word32` and `Word64` can and should be added,
once #11953 and related issues (e.g. #13825) are resolved.
Adds tests for `Addr#` CAS that mirror existing tests for
`MutableByteArray#`.
|
| |
| |
| |
| | |
This patch was authored by David Feuer <david.feuer@gmail.com>
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Also bumps upper bounds on base in boot libraries (incl. submodules).
|
|/
|
|
|
|
|
| |
* Flip `minBound` and `maxBound` to respect the change in ordering
* Remove awkward `Enum` (and hence `Integral`) instances for
`Data.Ord.Down`
* Update changelog
|
|
|
|
|
| |
* Bring back LANGUAGE pragmas in GHC.IO.Handle.Lock.Windows
* Exclude some modules that are wrongfully reported
|
|
|
|
| |
These were incorrectly removed in a recent cleanup commit.
|
|
|
|
| |
As well a ctuples and sums.
|
|
|
|
|
|
| |
No longer neccessary - TypeRep is now indexed, there is no ambiguity.
Also fix a comment in Evidence.hs, IsLabel no longer takes a Proxy#.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit removes the separate kind 'Nat' and enables promotion
of type 'Natural' for using as type literal.
It partially solves #10776
Now the following code will be successfully typechecked:
data C = MkC Natural
type CC = MkC 1
Before this change we had to create the separate type for promotion
data C = MkC Natural
data CP = MkCP Nat
type CC = MkCP 1
But CP is uninhabited in terms.
For backward compatibility type synonym `Nat` has been made:
type Nat = Natural
The user's documentation and tests have been updated.
The haddock submodule also have been updated.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the atomix exchange over the Ptr type to an internal module.
Fix a bug caused by us passing ptr-to-ptr instead of ptr to
atomic exchange.
Renamed interlockedExchange to exchangePtr.
I've also added an cas primitive. It turned out we don't need it
for WinIO but I'm leaving it in as it's useful for other things.
|
|
|
|
| |
[skip ci]
|
|
|
|
|
| |
Metric Decrease:
T18574
|
|
|
|
|
|
| |
Implements GHC Proposal #356
Updates the haddock submodule.
|
|
|
|
|
|
| |
value is clear.
[skip ci]
|
| |
|
|
|
|
| |
The old POSIX emulation appears to ignore the user-requested prefix.
|
|
|
|
| |
Only affected the Windows codepath.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Data.OldList exports a monomorphized singleton function but
it is not re-exported by Data.List. Adding the export to
Data.List causes a conflict with a 14-year old function of the
same name and type by SPJ in GHC.Utils.Misc. We can't just remove
this function because that leads to a problems when building
GHC with a stage0 compiler that does not have singleton in
Data.List yet. We also can't hide the function in GHC.Utils.Misc
since it is not possible to hide a function from a module if the
module does not export the function. To work around this, all
places where the Utils.Misc singleton was used now use a qualified
version like Utils.singleton and in GHC.Utils.Misc we are very
specific about which version we export.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Libraries email: https://mail.haskell.org/pipermail/libraries/2018-April/028724.html
GHC issue: https://gitlab.haskell.org/ghc/ghc/issues/15028
Corresponding PRs for deepseq:
* https://github.com/haskell/deepseq/pull/55
* https://github.com/haskell/deepseq/pull/57
Bumps the deepseq submodule.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Previously, `transpose` produced a list of heads
and a list of tails independently. This meant that
a function using only some heads, and only some tails,
could potentially leak space. Use `unzip` to work
around the problem by producing pairs and selector
thunks instead. Time and allocation behavior will
be worse, but there should be no more leak potential.
|
|
|
|
|
|
|
|
|
| |
Previously we would produce a rather unhelpful pattern match failure
error in the case where the user called `getSystemTimerManager` in a
program which isn't built with `-threaded`. This understandably confused
the user in #15616.
Fixes #15616.
|
| |
|
| |
|
|
|
|
| |
Also enhance bigNatCheck# and isValidNatural test
|
| |
|
|
|
|
| |
Spotted by `vilpan` on `#haskell`
|
|
|
|
|
|
|
| |
shiftR/shiftL support negative arguments despite Haskell 2010 report
saying otherwise. We explicitly test for negative values which is bad
(it gets in the way of constant folding, etc.). Anyway, for consistency
we fix Bits instancesof Integer/Natural.
|
| |
|
|
|
|
|
| |
Previously the old Windows IO manager threw different errors than WinIO.
We now canonicalise these to the WinIO errors.
|
| |
|
|
|
|
|
| |
There's one backwards compatibility issue: GHC.Prim no longer exports
Void#, we now manually re-export it from GHC.Exts.
|
| |
|
|
|
|
|
|
|
|
| |
Follow-up of https://gitlab.haskell.org/ghc/ghc/-/issues/18403
This MR adds `fullCompilerVersion`, a function that shares the same
backend as the `--numeric-version` GHC flag, exposing a full,
three-digit version datatype.
|
| |
|
| |
|