filepath-1.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:
- 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
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.