Hi

1) there are two independent filepath modules used with little
modifications in all projects i seen. They both included in MissingH
(FilePath.hs and NameManip.hs).
From what I can tell, FilePath.hs is the one from Cabal, which I
already used as a reference. As far as I can tell, this library is
also a superset of NameManip.hs.

2) As you can see in this February discussion, one of debatable
question was support of ADTs for filanames. We can talk about this
now. Currently there is ByteStrings with forecoming UTF-8 support and
it's possible to implement FilePath module so it will work both with
filenames represented by String and ByteString. It's also possible to
add support of such filenames to IO library (at least, my own)
I jumped with "no" - since it breaks things like readFile/writeFile. I
would rather something more practical and less pure/safe thats
immediately useable with less cost. Of course, I hope the interface
does not make any demands on the representation - and that other
FilePath's could be used in place, in a similar way to ByteString and
ByteString.Lazy coexisting with the same interface but different
representations.

The other important point regarding ADT's is what is a FilePath and
what is a String? If I set the extension of a FilePath, is that
extension itself a FilePath or a String? What if I set the drive or
the filename? Is a filename on its own a FilePath? Even though it
doesn't correspond to a file, because its lost its context/directory
and therefore cannot be used?

Thanks

Neil
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to