This package provides functionality for manipulating @FilePath@ values, and is shipped with <https://www.haskell.org/ghc/ 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
<https://hasufell.github.io/posts/2022-06-29-fixing-haskell-filepaths.html blog post>.
Code examples for the new API can be found <https://github.com/hasufell/filepath-examples here>.