[Haskell-cafe] ANNOUNCE: persistent-vector-0.1.0.1

Tristan Ravitch travitch at cs.wisc.edu
Wed Aug 29 19:17:01 CEST 2012


Sorry, persistent as in purely functional.  Updates to one vector
don't affect others.  I guess the distinction isn't as useful in
Haskell as it is in other languages since it is the default.

On Wed, Aug 29, 2012 at 07:13:38PM +0200, Alberto G. Corona  wrote:
> Where the "persistent" part of the name comes from?. It can be
> serialized/deserialized from a persistent storage automatically or on
> demand?
>
> 2012/8/29 Tristan Ravitch <travitch at cs.wisc.edu>
>
> > I uploaded a package implementing persistent vectors using array
> > mapped tries (based on the implementation in clojure).  Version
> > 0.1.0.0 was broken, so I am starting off with 0.1.0.1.
> >
> >   http://hackage.haskell.org/package/persistent-vector
> >
> > Persistent vectors are a sequence container offering efficient and
> > purely functional append (snoc), indexing, and updates.  This is
> > similar to Data.Sequence from containers.  The array mapped trie
> > is closely related to the data structure used in the
> > unordered-containers package.
> >
> > Comparison to Sequence:
> >
> >  * Faster indexing and append
> >
> >  * Slightly slower updates to existing elements
> >
> >  * O(1) slicing
> >
> >  * Sequence offers efficient prepend and concatenate
> >    (persistent-vector does not implement prepend, while concatenate is
> >    O(n)).
> >
> > I tried to model the API after Sequence as much as was reasonable, but
> > a few functions are still missing.  Some are reasonable to implement
> > and some would be difficult to make efficient.  The results from
> > criterion (mostly comparing against Sequence and IntMap) are posted
> > here:
> >
> >   http://pages.cs.wisc.edu/~travitch/pvec.html
> >
> > The *Vec* runs are the vectors from this package and IM and Seq are
> > IntMap and Sequence from containers.
> >
> >
> > Hopefully someone will find this useful.  Comments and suggestions are
> > definitely welcome for anything: API, implementation, test suite, or
> > benchmarks.
> >
> > _______________________________________________
> > Haskell-Cafe mailing list
> > Haskell-Cafe at haskell.org
> > http://www.haskell.org/mailman/listinfo/haskell-cafe
> >
> >
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120829/c790f06e/attachment.pgp>


More information about the Haskell-Cafe mailing list