diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2020-12-03 18:54:54 +0100 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2021-02-27 19:42:51 +0000 |
commit | b7c1e487fcdd77f31fd8da2cc849b5d54a723255 (patch) | |
tree | b9ba6e542f96973162ba5f0149028e7590e6f77b /libraries/binary | |
parent | 157fe938eabf6428fa9de42d57f8cfad08b38ddb (diff) | |
download | haskell-wip/primop-naming-consistency.tar.gz |
Fix array and cleanup conversion primops (#19026)wip/primop-naming-consistency
The first change makes the array ones use the proper fixed-size types,
which also means that just like before, they can be used without
explicit conversions with the boxed sized types. (Before, it was Int# /
Word# on both sides, now it is fixed sized on both sides).
For the second change, don't use "extend" or "narrow" in some of the
user-facing primops names for conversions.
- Names like `narrowInt32#` are misleading when `Int` is 32-bits.
- Names like `extendInt64#` are flat-out wrong when `Int is
32-bits.
- `narrow{Int,Word}<N>#` however map a type to itself, and so don't
suffer from this problem. They are left as-is.
These changes are batched together because Alex happend to use the array
ops. We can only use released versions of Alex at this time, sadly, and
I don't want to have to have a release thatwon't work for the final GHC
9.2. So by combining these we get all the changes for Alex done at once.
Bump hackage state in a few places, and also make that workflow slightly
easier for the future.
Bump minimum Alex version
Bump Cabal, array, bytestring, containers, text, and binary submodules
Diffstat (limited to 'libraries/binary')
m--------- | libraries/binary | 0 |
1 files changed, 0 insertions, 0 deletions
diff --git a/libraries/binary b/libraries/binary -Subproject 890fcc606d5c9052bdb016d786289dadc29cd46 +Subproject d0c3f06716be373e4195535a76f94f1bba8ab97 |