Neil Mitchell wrote:
ANNOUNCEMENT:
I am hereby announcing System.FilePath 0.10, which hopefully is pretty
close to final now. This library manipulates FilePath's correctly on
both Posix and Windows.
http://www-users.cs.york.ac.uk/~ndm/projects/libraries.php#filepath
(Includes a darcs repo, a .tar.gz, haddock documentation etc)
In this version I have made reasonably large changes:
* Lots of functions gone (temporary file handling, canonicalization,
drive manipulation, directory creation, directory enumeration) -
pretty much down to only pure (non-IO methods) left.
* 3 new methods (asFile, isFile, asDirectory - look up the docs for
their meanings, but they are pretty small)
* Renamed functions to follow the scheme replace/take/drop instead of
set/get/drop - as suggested by Simon Marlow (since set/get implies
state operations in Haskell)
Looks good! I have a few small further suggestions:
- remove addFileName: it does the same thing as combine, or rather
the difference is subtle and not mentioned in the docs. It's
subsumed by combine, anyway.
- remove isDirectory. I think its presence is confusing, e.g
forall x. isDirectory (takeDirectory x) == False!
Also it's not really correct; "/bin/" means something subtly different to
"/bin" on Unix systems. Similarly isFile, asFile, asDirectory could
be removed, I think.
- Use the terminology "search path" consistently for anything to
do with $PATH. i.e.
fileSeparator => searchPathSeparator,
isFileSeparator => isSearchPathSeparator,
splitFiles => splitSearchPath
also, move fileSeparator, isFileSeparator into the $PATH section
in the docs (or change "basic functions" to "separator predicates").
- remove splitPath: splitDirectories is enough. I'd rename it
to splitPathComponents, though.
- shortPath => relativeToCurrentDirectory
shortPathWith => makeRelativePath
Cheers,
Simon
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe