Subject: CVS commit: pkgsrc/devel/hs-vector
From: Thomas Klausner
Date: 2022-08-19 14:30:14
Message id: 20220819123014.9A4F5FB1A@cvs.NetBSD.org

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)

Files:
RevisionActionfile
1.14modifypkgsrc/devel/hs-vector/Makefile
1.6modifypkgsrc/devel/hs-vector/PLIST
1.13modifypkgsrc/devel/hs-vector/distinfo