[Haskell-cafe] uvector and the stream interface

Roman Leshchinskiy rl at cse.unsw.edu.au
Mon Jul 14 23:22:35 EDT 2008

Jules Bean wrote:
> It would also be helpful to have someone explain why we have:
> Ptr a
> ByteString
> IOUArray
> IOCArray
> Data.Storable.StorableArray
> UArr
> Of course, I know the answers to some of those questions, ByteString is 
> obviously less polymorphic than all the others there, and Ptr a doesn't 
> contain size information. But it seems we have a rapidly bifurcating 
> profusion of 'typed interfaces to chunks of memory' with no obvious 
> consistency to their naming scheme and I think it's starting to get 
> confusing...

I think the main reason for this is the lack of a generic infrastructure 
for efficient arrays which means that everyone is rolling their own. My 
hope is that the Data Parallel Haskell project will eventually provide 
such an infrastructure (but I'm biased, of course). We need it anyway 
and we are perhaps in the best position to do it at the moment. 
Unfortunately, we don't have too much time to work on it so development 
is slow. Still, I think (obviously) that the vector library is a step in 
the right direction.


More information about the Haskell-Cafe mailing list