This package exports a newtype tagging the vectors from the vector package with a type level natural representing their size. It also exports a few functions from vector appropriately retyped.
This package is fairly similar to
the fixed-vector package.
While both provide vectors of statically know length they use completely
different implementation with different tradeoffs.
vector-sized is a newtype
vector thus it’s able to handle vectors of arbitrary length but
have to carry runtime representation of length which is significant memory
overhead for small vectors.
fixed-vector defines all functions as
manipulations of Church-encoded product types (
∀r. (a→a→r) → r for 2D vectors)
so it can work for both arbitrary product types like
data V2 a = V2 a a and
opaque length-parametrized vectors provided by library. As consequence of
implementation it can’t handle vectors larger than tens of elements.
The initial code for this package was written by @bgamari in a PR for vulkan
[22.214.171.124] - 2018-11-13
- Fix build and add CI for 8.6.2
[126.96.36.199] - 2018-11-08
- Generalise Ix instance
- Add Unboxed vectors
- Fiddle extension guarding
[188.8.131.52] - 2018-10-17
- Add Ix instance
- Add Comonad instance
Thanks mpilgrem and KingoftheHomeless
[184.108.40.206] - 2018-09-04
- Fix compilation on ghc 8.6.
[220.127.116.11] - 2018-07-14
- Add Monad instance for boxed vectors.
[18.104.22.168] - 2018-07-10
- Loosen upper bound on
[22.214.171.124] - 2018-06-24
- Remove redundant KnownNat constraints
[126.96.36.199] - 2018-05-15
not-homehaddock annotations for Internal modules, for more helpful linking
- Fix build with indexed-list-literals-0.2.1.0
[188.8.131.52] - 2018-04-12
- Add Representable and Distributive instances for sized boxed vectors
- Use newer version of indexed-list-literals to allow a fully featured compile on ghc 8.4
[184.108.40.206] - 2018-03-20
- More functions using
- Performance improvements for
- Add a
fromTuple(ghc < 8.3 for now)
- Add sized variants of mutable vectors
- Expose sized vector constructors from Internal modules
Huge thanks to all the contributors!
[0.6.1.0] - 2017-08-04
- Add lenses ix, _head and _last
[0.6.0.0] - 2017-06-07
- Make ordering of additions in types be more consistent
- Make slice more general
Floatinginstances for vectors
[0.5.1.0] - 2017-02-01
- Loosen upper bound on
[0.5.0.0] - 2017-01-04
[0.4.1.0] - 2016-11-24
[0.4.0.1] - 2016-11-12
- Raise lower bound on base to 4.9
[0.4.0.0] - 2016-11-01
- Correct type signature on
[0.3.3.0] - 2016-08-10
- Add instances for Data, Typeable and Generic
[0.3.2.0] - 2016-03-29
- Add overlapping Monoid instance for zero length vectors
[0.3.1.0] - 2016-03-29
- Add Monoid instance
[0.3.0.0] - 2016-03-22
- Export all of the available functionality from Data.Vector.Generic.
- Add Storable
- Add Unboxed
[0.2.0.0] - 2016-02-29
- Tighter bounds on base to avoid compiling with GHC < 7.10.
[0.1.0.0] - 2016-02-28
- Initial release.