Re: [Haskell-cafe] Array, Vector, Bytestring

2013-07-10 Thread Alfredo Di Napoli
Hello Bas, sorry for being unclear. What you say is correct, I was referring (and I realised this after posting :D ) that the real annoying thing is fragmentation in memory. Due to the fact the GC can't move those objects, if we have long running processes our memory will become more and more frag

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-07-10 Thread Bas van Dijk
On 10 July 2013 08:57, Alfredo Di Napoli wrote: > >> To make the transition easier I have an experimental library which >> defines a ByteString as a type synonym of a Storable.Vector of Word8 >> and provides the same interface as the bytestring package: >> >> https://github.com/basvandijk/vector-b

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-07-10 Thread Alfredo Di Napoli
> To make the transition easier I have an experimental library which > defines a ByteString as a type synonym of a Storable.Vector of Word8 > and provides the same interface as the bytestring package: > > https://github.com/basvandijk/vector-bytestring That's interesting Bas. What bothers me abou

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-05 Thread Bas van Dijk
On 5 June 2013 11:50, Peter Simons wrote: > I meant to say that there is redundancy in *both*. The libraries > mentioned in this thread re-implement the same type internally and > expose APIs to the user that are largely identical. I agree. I hope that ByteStrings will be replaced by a Storable.V

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-05 Thread Peter Simons
Hi Tom, thank you for the explanation. > I believe you are suggesting that there is redundancy in the > implementation details of these libraries, not in the APIs they > expose. I meant to say that there is redundancy in *both*. The libraries mentioned in this thread re-implement the same typ

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-04 Thread Tom Ellis
On Tue, Jun 04, 2013 at 11:23:16PM +0200, Peter Simons wrote: > > On Tue, Jun 04, 2013 at 04:01:37PM +0200, Peter Simons wrote: > >> > If you're representing text, use 'text'. > >> > If you're representing a string of bytes, use 'bytestring'. > >> > If you want an "array" of values, think c+

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-04 Thread Peter Simons
Hi Tom, > On Tue, Jun 04, 2013 at 04:01:37PM +0200, Peter Simons wrote: >> > How is this a problem? >> > >> > If you're representing text, use 'text'. >> > If you're representing a string of bytes, use 'bytestring'. >> > If you want an "array" of values, think c++ and use 'vector'. >>

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-04 Thread silvio
These libraries are tuned for wildly different workloads and use cases, so these sorts of micro benchmarks are an Apples to Frogs comparisons. You can argue that for any benchmark, but sometimes the choice is between Apples and Frogs. If you have some more extensive benchmarks I'm happy to hav

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-04 Thread Mike Ledger
On 05/06/13 07:01, silvio wrote: array does provide folding functions, found in its Foldable and Traversable instances. Where can I find this? I can neither in the array package nor with google nor with hoogle. Silvio ___ Haskell-Cafe mailing list

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-04 Thread silvio
array does provide folding functions, found in its Foldable and Traversable instances. Where can I find this? I can neither in the array package nor with google nor with hoogle. Silvio ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://w

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-04 Thread Mike Ledger
On 05/06/13 02:49, silvio wrote: Just to clarify for those on the sidelines, the issue is duplication of implementation details, rather than duplication of functionality? Well to me, that is not the main issue. The main issue is that you have to study all of them and depending on which librari

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-04 Thread Carter Schonwald
I really don't understand this concern. These libraries are tuned for wildly different workloads and use cases, so these sorts of micro benchmarks are an Apples to Frogs comparisons. (even aside from the fact that you'll get very different perf if you used -fllvm and set things up so the array ind

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-04 Thread silvio
Just to clarify for those on the sidelines, the issue is duplication of implementation details, rather than duplication of functionality? Well to me, that is not the main issue. The main issue is that you have to study all of them and depending on which libraries you want to use have to conver

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-04 Thread Tom Ellis
On Tue, Jun 04, 2013 at 04:01:37PM +0200, Peter Simons wrote: > > How is this a problem? > > > > If you're representing text, use 'text'. > > If you're representing a string of bytes, use 'bytestring'. > > If you want an "array" of values, think c++ and use 'vector'. > > the problem is that a

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-04 Thread Peter Simons
Hi Clark, > How is this a problem? > > If you're representing text, use 'text'. > If you're representing a string of bytes, use 'bytestring'. > If you want an "array" of values, think c++ and use 'vector'. the problem is that all those packages implement the exact same data type from scratch

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-04 Thread Artyom Kazak
Oops. Ben Gamari писал(а) в своём письме Tue, 04 Jun 2013 04:41:53 +0300: To be perfectly clear, ByteString and Text target much different use-cases and are hardly interchangeable. While ByteString is, as the name suggests, a string of bytes, Text is a string of characters in a Unicode encodin

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-03 Thread briand
On Mon, 3 Jun 2013 23:19:38 -0400 Clark Gaebel wrote: > That's absolutely true. Wrappers around vector for your multidimensional > access is probably best, but Vectors of Vectors are usually easier. > > But again, you're right. Multidimensional access is a pain. If it's a > "matrix" of numerical

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-03 Thread Clark Gaebel
That's absolutely true. Wrappers around vector for your multidimensional access is probably best, but Vectors of Vectors are usually easier. But again, you're right. Multidimensional access is a pain. If it's a "matrix" of numerical values, you could take a look at 'hmatrix'. - Clark On Monday

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-03 Thread Jason Dagit
On Mon, Jun 3, 2013 at 7:45 PM, Clark Gaebel wrote: > How is this a problem? > > If you're representing text, use 'text'. > If you're representing a string of bytes, use 'bytestring'. > If you want an "array" of values, think c++ and use 'vector'. > If you want to mutate arrays, first, make sure y

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-03 Thread Clark Gaebel
How is this a problem? If you're representing text, use 'text'. If you're representing a string of bytes, use 'bytestring'. If you want an "array" of values, think c++ and use 'vector'. If you want to mutate arrays, first, make sure you do. You probably don't. If you're sure, use MVector. Don't u

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-03 Thread briand
On Mon, 03 Jun 2013 19:16:08 + silvio wrote: > Hi everyone, > > Every time I want to use an array in Haskell, I find myself having to > look up in the doc how they are used, which exactly are the modules I > have to import ... and I am a bit tired of staring at type signatures > for 10 mi

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-03 Thread Ben Gamari
Artyom Kazak writes: > silvio писал(а) в своём письме Mon, 03 Jun 2013 > 22:16:08 +0300: > >> Hi everyone, >> >> Every time I want to use an array in Haskell, I find myself having to >> look up in the doc how they are used, which exactly are the modules I >> have to import ... and I am a b

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-03 Thread Artyom Kazak
silvio писал(а) в своём письме Mon, 03 Jun 2013 22:16:08 +0300: Hi everyone, Every time I want to use an array in Haskell, I find myself having to look up in the doc how they are used, which exactly are the modules I have to import ... and I am a bit tired of staring at type signatures

Re: [Haskell-cafe] Array, Vector, Bytestring

2013-06-03 Thread silvio
write :: MVector a -> Int -> a -> ST s a This should have been: write :: MVector s a -> Int -> a -> ST s a ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

[Haskell-cafe] Array, Vector, Bytestring

2013-06-03 Thread silvio
Hi everyone, Every time I want to use an array in Haskell, I find myself having to look up in the doc how they are used, which exactly are the modules I have to import ... and I am a bit tired of staring at type signatures for 10 minutes to figure out how these arrays work every time I use the