
Hello Duncan, Friday, March 16, 2007, 12:07:24 PM, you wrote:
So some of these are just bug fixes and not api changes so will be in 6.6.1.
and some will be deferred until 6.8 when we will have one more incompatibility-break? thank you
But in general: so you could say that these bugs show we should have waited longer for the library to mature, on the other hand I rather suspect that we'd never have found these without the huge number of people using the lib that came from it being included as standard.
there are no differences in this aspect between base and any other bundled library
As I've mentioned before, a reason to keep it in base in future is that it gives us the opportunity to rewrite programs that don't even import ByteString into more efficient versions, for example:
f . lines =<< readFile "foo"
to
f . map unpack . B.lines =<< B.readFile "foo"
(and there may be further fusion opportunities if f is a fusible list consumer)
oh my god! you plan to further evolve base library and its legacy i/o part. but how about using unicode filenames or newer async i/o api? it should be also implemented inside base? one library for anything? :) i think that it will be much better if fps will be detached from base and you will provide i/o library on top of fps and lowIO [1] that makes all these cool things. this way you will got support of all the features lowIO provides for free [1] http://haskell.org/haskellwiki/Library/IO -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com