Artyom Kazak <y...@artyom.me> writes: > silvio <silvio.fris...@gmail.com> писал(а) в своём письме 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 >> for 10 minutes to figure out how these arrays work every time I use them >> (It's even worse when you have to write the signatures). I wonder how >> other people perceive this issue and what possible solutions could be. > > Recently I’ve started to perceive this issue as “hooray, we have lenses > now, a generic interface for all the different messy stuff we have”. But > yes, the inability to have One Common API for All Data Structures is > bothering me as well. > >> Why do we need so many different implementations of the same thing? In >> the ghc libraries alone we have a vector, array and bytestring package >> all of which do the same thing, as demonstrated for instance by the >> vector-bytestring package. To make matters worse, the haskell 2010 >> standard has includes a watered down version of array. > > Indeed. What we need is `text` for strings (and stop using `bytestring`) > and reworked `vector` for arrays (with added code from `StorableVector` — > basically a lazy ByteString-like chunked array). > 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 encoding. When you are talking about unstructured binary data, you should most certainly be using ByteString.
Cheers, - Ben _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe