
Isaac Dupree wrote:
* Data.Map String Int * Data.Map ByteString Int * bytestring-trie
What about a Unicode/text aware version of ByteString? I mean, I suspect people will want to use this map for strings of characters, and I want to make sure we don't hardcode a type that will cause us trouble in the future (and I have this idea in my head that ByteString is supposed to represent byte-sequences and not character-sequences).
The bytestring-trie package uses ByteStrings as a vector of bytes. That is, there's no built in support for or against textual data (modulo byte==char traditions). Anything that can be rendered into a ByteString can be tried (with performance depending on the suitability of the encoding). I can't really see any way to make use of knowing that the data is textual, though. I've thought about adding a typeclass to automate the encoding/decoding between various "string" types and the ByteStrings used internally. Unfortunately such a class would have a very large number of methods, and is of dubious utility in the big picture. All in all, the problem of rendering an abstract string into a sequence of bytes belongs to another package. -- Live well, ~wren