@haskell filepath1.5.3.0

Library for manipulating FilePaths in a cross platform way.

This package provides functionality for manipulating FilePath values, and is shipped with GHC. It provides two variants for filepaths:

  1. legacy filepaths: type FilePath = String

  2. operating system abstracted filepaths (OsPath): internally unpinned ShortByteString (platform-dependent encoding)

It is recommended to use OsPath when possible, because it is more correct.

For each variant there are three main modules:

  • System.FilePath.Posix / System.OsPath.Posix manipulates POSIX/Linux style FilePath values (with / as the path separator).

  • System.FilePath.Windows / System.OsPath.Windows manipulates Windows style FilePath values (with either \ or / as the path separator, and deals with drives).

  • System.FilePath / System.OsPath for dealing with current platform-specific filepaths

For more powerful string manipulation of OsPath, you can use the os-string package (OsPath is a type synonym for OsString).

An introduction into the new API can be found in this blog post. Code examples for the new API can be found here.