Path to this page:
./
devel/hs-vector,
Efficient Arrays for Haskell
Branch: CURRENT,
Version: 0.13.1.0nb2,
Package name: hs-vector-0.13.1.0nb2,
Maintainer: phoAn efficient implementation of Int-indexed arrays (both mutable and
immutable), with a powerful loop fusion optimization framework.
It is structured as follows:
* Data.Vector
Boxed vectors of arbitrary types.
* Data.Vector.Unboxed
Unboxed vectors with an adaptive representation based on data type
families.
* Data.Vector.Storable
Unboxed vectors of Storable types.
* Data.Vector.Primitive
Unboxed vectors of primitive types as defined by the primitive
package. Data.Vector.Unboxed is more flexible at no performance
cost.
* Data.Vector.Generic
Generic interface to the vector types.
Required to run:[
devel/hs-primitive] [
lang/ghc88]
Required to build:[
pkgtools/cwrappers]
Master sites:
Filesize: 153.179 KB
Version history: (Expand)
- (2024-05-09) Updated to version: hs-vector-0.13.1.0nb2
- (2023-11-02) Updated to version: hs-vector-0.13.1.0nb1
- (2023-10-28) Updated to version: hs-vector-0.13.1.0
- (2023-10-09) Updated to version: hs-vector-0.13.0.0nb2
- (2023-02-09) Updated to version: hs-vector-0.13.0.0nb1
- (2022-08-19) Updated to version: hs-vector-0.13.0.0
CVS history: (Expand)
2024-04-29 05:39:34 by Masatake Daimon | Files touched by this commit (1) |
Log message:
devel/hs-vector: Fix build with GHC 9.8
This breaks build with the currently default GHC 9.6. Please bear with me
until I switch the default compiler.
|
2023-11-02 07:37:49 by Masatake Daimon | Files touched by this commit (1141) |
Log message:
Revbump all Haskell after updating lang/ghc96
|
2023-10-28 19:01:01 by Masatake Daimon | Files touched by this commit (4) |
Log message:
devel/hs-vector: Update to 0.13.1.0
Changes in version 0.13.1.0
* Specialized variants of findIndexR are reexported for all vector
types. #469
* UnboxViaPrim could be used for deriving Unbox instances (V_UnboxViaPrim
constructor is exported) #450
* Fields of Data.Vector.Fusion.Bundle.Size are now strict #456
* Compatibility with future GHC 9.10 release #462
* Test suite no longer fails when built with QuickCheck-2.14 #461
* Doctests now work with current versions of GHC #465
* Various documentation improvements
|
2023-10-09 06:55:01 by Masatake Daimon | Files touched by this commit (988) |
Log message:
Bump Haskell packages after updating lang/ghc94
|
2023-01-25 17:37:32 by Masatake Daimon | Files touched by this commit (2) |
Log message:
devel/hs-vector: Fix build with GHC 9.4
|
2022-08-20 10:08:24 by Thomas Klausner | Files touched by this commit (211) |
Log message:
hs*: recursive bump for new dependencies needed
for hs-aeson, hs-vector
|
2022-08-19 14:30:14 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
hs-vector: update to 0.13.0.0.
# Changes in version 0.13.0.0
* `mkType` from `Data.Vector.Generic` is deprecated in favor of
`Data.Data.mkNoRepType`
* The role signatures on several `Vector` types were too permissive, so they
have been tightened up:
* The role signature for `Data.Vector.Mutable.MVector` is now
`type role MVector nominal representational` (previously, both arguments
were `phantom`). [#224](https://github.com/haskell/vector/pull/224)
* The role signature for `Data.Vector.Primitive.Vector` is now
`type role Vector nominal` (previously, it was `phantom`).
The role signature for `Data.Vector.Primitive.Mutable.MVector` is now
`type role MVector nominal nominal` (previously, both arguments were
`phantom`). [#316](https://github.com/haskell/vector/pull/316)
* The role signature for `Data.Vector.Storable.Vector` is now
`type role Vector nominal` (previous, it was `phantom`), and the signature
for `Data.Vector.Storable.Mutable.MVector` is now
`type role MVector nominal nominal` (previous, both arguments were
`phantom`). [#235](https://github.com/haskell/vector/pull/235)
We pick `nominal` for the role of the last argument instead of
`representational` since the internal structure of a `Storable` vector is
determined by the `Storable` instance of the element type, and it is not
guaranteed that the `Storable` instances between two representationally
equal types will preserve this internal structure. One consequence of this
choice is that it is no longer possible to `coerce` between
`Storable.Vector a` and `Storable.Vector b` if `a` and `b` are nominally
distinct but representationally equal types. We now provide
`unsafeCoerce{M}Vector` and `unsafeCast` functions to allow this (the onus
is on the user to ensure that no `Storable` invariants are broken when
using these functions).
* Methods of type classes `Data.Vector.Generic.Mutable.MVector` and
`Data.Vector.Generic.Vector` use concrete monads (`ST`, etc) istead of being
polymorphic (`PrimMonad`, etc). \
[#335](https://github.com/haskell/vector/pull/335).
This makes it possible to derive `Unbox` with:
* `GeneralizedNewtypeDeriving`
* via `UnboxViaPrim` and `Prim` instance
* via `As` and `IsoUnbox` instance: \
[#378](https://github.com/haskell/vector/pull/378)
* Add `MonadFix` instance for boxed vectors: \
[#312](https://github.com/haskell/vector/pull/312)
* Re-export `PrimMonad` and `RealWorld` from mutable vectors:
[#320](https://github.com/haskell/vector/pull/320)
* Add `maximumOn` and `minimumOn`: \
[#356](https://github.com/haskell/vector/pull/356)
* The functions `scanl1`, `scanl1'`, `scanr1`, and `scanr1'` for immutable
vectors are now defined when given empty vectors as arguments,
in which case they return empty vectors. This new behavior is consistent
with the one of the corresponding functions in `Data.List`.
Prior to this change, applying an empty vector to any of those functions
resulted in an error. This change was introduced in:
[#382](https://github.com/haskell/vector/pull/382)
* Change allocation strategy for `unfoldrN`: \
[#387](https://github.com/haskell/vector/pull/387)
* Remove `CPP` driven error reporting in favor of `HasCallStack`:
[#397](https://github.com/haskell/vector/pull/397)
* Remove redundant `Storable` constraints on to/from `ForeignPtr` conversions:
[#394](https://github.com/haskell/vector/pull/394)
* Add `unsafeCast` to `Primitive` vectors: \
[#401](https://github.com/haskell/vector/pull/401)
* Make `(!?)` operator strict: [#402](https://github.com/haskell/vector/pull/402)
* Add `readMaybe`: [#425](https://github.com/haskell/vector/pull/425)
* Add `groupBy` and `group` for `Data.Vector.Generic` and the specialized
version in `Data.Vector`, `Data.Vector.Unboxed`, `Data.Vector.Storable` and
`Data.Vector.Primitive`. [#427](https://github.com/haskell/vector/pull/427)
* Add `toArraySlice` and `unsafeFromArraySlice` functions for conversion to and
from the underlying boxed `Array`: \
[#434](https://github.com/haskell/vector/pull/434)
|
2022-02-26 04:58:36 by Masatake Daimon | Files touched by this commit (872) |
Log message:
Bump all Haskell packages after enabling "split sections" in mk/haskell.mk
|