@haskell filepath1.4.301.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

System.OsString is like System.OsPath, but more general purpose. Refer to the documentation of those modules for more information.

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