./devel/hs-vector, Efficient Arrays for Haskell

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.13.1.0nb2, Package name: hs-vector-0.13.1.0nb2, Maintainer: pho

An 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)


CVS history: (Expand)


   2024-05-09 03:32:57 by Masatake Daimon | Files touched by this commit (1137)
Log message:
Recursive revbump after changing the default Haskell compiler
   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) | Package updated
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)