Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal to deprecate contructors for data unboxed vectors for tuples #506

Open
Shimuuar opened this issue Oct 8, 2024 · 0 comments
Open

Comments

@Shimuuar
Copy link
Contributor

Shimuuar commented Oct 8, 2024

They are very dangerous and allow to violate memory safety, could be replaced with zip#/unzip#. And attempts to use them safely largely amounts to rewriting of zip#/unzip#. So I propose to deprecate them without plan for removal

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Jan 29, 2025
# Changes in version 0.13.2.0

 * Strict boxed vector `Data.Vector.Strict` and `Data.Vector.Strict.Mutable` is
   added (#488). it ensures that all values in the vector are evaluated to WHNF.
 * `DoNotUnboxStrict`, `DoNotUnboxLazy`, and `DoNotUnboxNormalForm` wrapper are
   added for defining unbox instances for types that contain not unboxable fields.
   [#503](haskell/vector#506),
   [#508](haskell/vector#508)
 * `spanR` and `breakR` were added [#476](haskell/vector#476).
   They allow parsing vector from the right.
 * We had some improvements on `*.Mutable.{next,prev}Permutation{,By}`
   [#498](haskell/vector#498):
   * Add `*.Mutable.prevPermutation{,By}` and `*.Mutable.nextPermutationBy`
   * Improve time performance. We may now expect good specialization supported by inlining.
     The implementation has also been algorithmically updated: in the previous implementation
     the full enumeration of all the permutations of `[1..n]` took Omega(n*n!), but it now takes O(n!).
   * Add tests for `{next,prev}Permutation`
   * Add benchmarks for `{next,prev}Permutation`
 * Cabal >= 3.0 is now required for building package (#481).
 * `vector:benchmarks-O2` public sublibrary containing benchmarks is added (#481).
 * Type family `Mutable` provides instances for arrays from `primitive`.
 * Various documentation improvements.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant