
On Fri, Aug 20, 2010 at 21:02, Paulo Tanimoto
Hi John,
What do you think of putting those parsing functions like head, last, length, etc, under another module or, alternatively, putting the main definitions under another module (say, Base or Core)? I wouldn't mind if they all get re-exported.
I say that because since the library aims to be minimalistic, it would be nice to import the core parts only. That makes it easy to avoid some name clashes as well.
My goal isn't to be "minimalistic", necessarily, I just don't want to drag in huge dependencies like haskell98. Ideally, the API would be something like that of "bytestring" or "text" -- easy to understand, comprehensive, and with large dependencies factored out to related modules (like "text-icu" or "bytestring-mmap"). Having lots (and lots and lots) of exports is OK, as long as it's easy for users to understand how they work. Regarding my comment for the parsing functions: I'm starting to think that's wrong. They're not for "parsing" so much as general data manipulation. Especially cases like dropWhile or peek, which are useful to all sorts of data types which can't really be "parsed". The next release will probably see an expansion and documentation of that section, though some of the more useless ones (length, last) will be removed unless anybody speaks up.