This package provides functionality for manipulating @FilePath@ values, and is shipped with . 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 (@OsPath@ is a type synonym for @OsString@). An introduction into the new API can be found in this . Code examples for the new API can be found .