Adding System.FilePath

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Fri Mar 16 09:58:08 EDT 2007


On Fri, 2007-03-16 at 12:54 +0300, Bulat Ziganshin 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

The changes are really pretty minor and only in the very low level part
of the api.

> > 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

Bulat, I'm not arguing against making base a bit more modular, but you
know how hard a task that is.

Just yesterday we were struggling with issues of circular dependencies
in the modules in base as we're experimenting with a new list library
implementation.

Heh, just to add to the confusion we've got our experimental list lib
available as a separate package for people to play with, though
obviously for it to be really practical in the long run it has to
replace the list implementation, which (oh noes!) means sticking it in
base. (Since otherwise you can't desugar things like list comprehensions
into the new implementation.)

> 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? :)

It's quite independent. It could work with any standard IO system. I
mention the H98 readFile etc because that's what we have right now.

Note that one could take advantage of async IO without changing the
Handle API.

> 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

As I said, it's quite independent. You could use ByteStrings with any
sane IO library since all it needs is to be able to read/write data
buffers.

Duncan



More information about the Libraries mailing list