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

Reply via email to