filepath-1.5.4.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:
- legacy filepaths: 
type FilePath = String - operating system abstracted filepaths (
OsPath): internally unpinnedShortByteString(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 
FilePathvalues (with/as the path separator). - System.FilePath.Windows / System.OsPath.Windows manipulates Windows style 
FilePathvalues (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.