Open the imported Cabal file ↗
- author
- Neil Mitchell <ndmitchell@gmail.com>
- bug-reports
- https://github.com/haskell/filepath/issues
- build-type
- Simple
- cabal-version
- 2.2
- category
- System
- copyright
- Neil Mitchell 2005-2020, Julian Ospald 2021-2022
- extra-doc-files
- changelog.md HACKING.md README.md
- extra-source-files
- Generate.hs Makefile System/FilePath/Internal.hs System/OsPath/Common.hs
- homepage
- https://github.com/haskell/filepath/blob/master/README.md
- license
- BSD-3-Clause
- license-file
- LICENSE
- maintainer
- Julian Ospald <hasufell@posteo.de>
- name
- filepath
- synopsis
- Library for manipulating FilePaths in a cross platform way.
- tested-with
- GHC ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.3 || ==9.8.1
- version
- 1.5.5.0
Show the complete metadata as JSON
{
"schemaVersion": 1,
"name": "filepath",
"version": "1.5.5.0",
"cabalVersion": "2.2",
"buildType": "Simple",
"fields": {
"author": [
"Neil Mitchell <ndmitchell@gmail.com>"
],
"bug-reports": [
"https://github.com/haskell/filepath/issues"
],
"build-type": [
"Simple"
],
"cabal-version": [
"2.2"
],
"category": [
"System"
],
"copyright": [
"Neil Mitchell 2005-2020, Julian Ospald 2021-2022"
],
"description": [
"This package provides functionality for manipulating @FilePath@ values, and is shipped with <https://www.haskell.org/ghc/ GHC>. It provides two variants for filepaths:\n.\n1. legacy filepaths: @type FilePath = String@\n.\n2. operating system abstracted filepaths (@OsPath@): internally unpinned @ShortByteString@ (platform-dependent encoding)\n.\nIt is recommended to use @OsPath@ when possible, because it is more correct.\n.\nFor each variant there are three main modules:\n.\n* \"System.FilePath.Posix\" / \"System.OsPath.Posix\" manipulates POSIX\\/Linux style @FilePath@ values (with @\\/@ as the path separator).\n.\n* \"System.FilePath.Windows\" / \"System.OsPath.Windows\" manipulates Windows style @FilePath@ values (with either @\\\\@ or @\\/@ as the path separator, and deals with drives).\n.\n* \"System.FilePath\" / \"System.OsPath\" for dealing with current platform-specific filepaths\n.\nFor more powerful string manipulation of @OsPath@, you can use the <https://hackage.haskell.org/package/os-string os-string package> (@OsPath@ is a type synonym for @OsString@).\n.\nAn introduction into the new API can be found in this\n<https://hasufell.github.io/posts/2022-06-29-fixing-haskell-filepaths.html blog post>.\nCode examples for the new API can be found <https://github.com/hasufell/filepath-examples here>."
],
"extra-doc-files": [
"changelog.md\nHACKING.md\nREADME.md"
],
"extra-source-files": [
"Generate.hs\nMakefile\nSystem/FilePath/Internal.hs\nSystem/OsPath/Common.hs"
],
"homepage": [
"https://github.com/haskell/filepath/blob/master/README.md"
],
"license": [
"BSD-3-Clause"
],
"license-file": [
"LICENSE"
],
"maintainer": [
"Julian Ospald <hasufell@posteo.de>"
],
"name": [
"filepath"
],
"synopsis": [
"Library for manipulating FilePaths in a cross platform way."
],
"tested-with": [
"GHC ==8.6.5\n|| ==8.8.4\n|| ==8.10.7\n|| ==9.0.2\n|| ==9.2.8\n|| ==9.4.8\n|| ==9.6.3\n|| ==9.8.1"
],
"version": [
"1.5.5.0"
]
},
"components": [
{
"kind": "library",
"name": "main",
"tree": {
"data": {
"buildable": null,
"exposedModules": [
"System.FilePath",
"System.FilePath.Posix",
"System.FilePath.Windows",
"System.OsPath",
"System.OsPath.Encoding",
"System.OsPath.Internal",
"System.OsPath.Posix",
"System.OsPath.Posix.Internal",
"System.OsPath.Types",
"System.OsPath.Windows",
"System.OsPath.Windows.Internal"
],
"otherModules": [],
"dependencies": [
{
"package": "base",
"range": ">=4.12.0.0 && <4.23",
"libraries": [
"main"
]
},
{
"package": "bytestring",
"range": ">=0.11.3.0",
"libraries": [
"main"
]
},
{
"package": "deepseq",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "exceptions",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "os-string",
"range": ">=2.0.1",
"libraries": [
"main"
]
}
],
"fields": {}
},
"branches": [
{
"condition": {
"compiler": "ghc",
"range": ">=7.2"
},
"then": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [],
"fields": {}
},
"branches": []
},
"else": null
},
{
"condition": {
"compiler": "ghc",
"range": "<9.14"
},
"then": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [
{
"package": "template-haskell",
"range": "-any",
"libraries": [
"main"
]
}
],
"fields": {}
},
"branches": []
},
"else": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [],
"fields": {}
},
"branches": [
{
"condition": {
"compiler": "ghc",
"range": "-any"
},
"then": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [
{
"package": "template-haskell-lift",
"range": ">=0.1 && <0.2",
"libraries": [
"main"
]
},
{
"package": "template-haskell-quasiquoter",
"range": ">=0.1 && <0.2",
"libraries": [
"main"
]
}
],
"fields": {}
},
"branches": []
},
"else": null
}
]
}
},
{
"condition": {
"flag": "cpphs"
},
"then": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [],
"fields": {}
},
"branches": []
},
"else": null
}
]
}
},
{
"kind": "test-suite",
"name": "filepath-tests",
"tree": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [
"TestGen",
"TestUtil"
],
"dependencies": [
{
"package": "base",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "bytestring",
"range": ">=0.11.3.0",
"libraries": [
"main"
]
},
{
"package": "filepath",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "os-string",
"range": ">=2.0.1",
"libraries": [
"main"
]
},
{
"package": "tasty",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "tasty-quickcheck",
"range": "-any",
"libraries": [
"main"
]
}
],
"fields": {
"type": [
"exitcode-stdio-1.0"
]
}
},
"branches": []
}
},
{
"kind": "test-suite",
"name": "filepath-equivalent-tests",
"tree": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [
"Legacy.System.FilePath",
"Legacy.System.FilePath.Posix",
"Legacy.System.FilePath.Windows",
"TestUtil",
"Gen"
],
"dependencies": [
{
"package": "base",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "bytestring",
"range": ">=0.11.3.0",
"libraries": [
"main"
]
},
{
"package": "filepath",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "generic-random",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "generic-deriving",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "os-string",
"range": ">=2.0.1",
"libraries": [
"main"
]
},
{
"package": "tasty",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "tasty-quickcheck",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "QuickCheck",
"range": "-any",
"libraries": [
"main"
]
}
],
"fields": {
"type": [
"exitcode-stdio-1.0"
]
}
},
"branches": []
}
},
{
"kind": "test-suite",
"name": "abstract-filepath",
"tree": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [
"Arbitrary",
"OsPathSpec",
"TestUtil"
],
"dependencies": [
{
"package": "base",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "bytestring",
"range": ">=0.11.3.0",
"libraries": [
"main"
]
},
{
"package": "deepseq",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "filepath",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "os-string",
"range": ">=2.0.1",
"libraries": [
"main"
]
},
{
"package": "quickcheck-classes-base",
"range": "^>=0.6.2",
"libraries": [
"main"
]
},
{
"package": "tasty",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "tasty-quickcheck",
"range": "-any",
"libraries": [
"main"
]
}
],
"fields": {
"type": [
"exitcode-stdio-1.0"
]
}
},
"branches": []
}
},
{
"kind": "benchmark",
"name": "bench-filepath",
"tree": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [
{
"package": "base",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "bytestring",
"range": ">=0.11.3.0",
"libraries": [
"main"
]
},
{
"package": "deepseq",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "filepath",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "os-string",
"range": ">=2.0.1",
"libraries": [
"main"
]
},
{
"package": "tasty-bench",
"range": "-any",
"libraries": [
"main"
]
}
],
"fields": {
"type": [
"exitcode-stdio-1.0"
]
}
},
"branches": []
}
}
],
"setupDependencies": [],
"flags": [
{
"name": "cpphs",
"default": false,
"manual": true,
"description": "Use cpphs (fixes haddock source links)"
}
],
"sourceRepositories": [
{
"kind": "head",
"fields": {
"location": [
"https://github.com/haskell/filepath"
],
"type": [
"git"
]
}
}
],
"warnings": [],
"sourceUrl": "https://hackage.haskell.org/package/filepath-1.5.5.0/filepath.cabal",
"sha256": "c6ec08084ffc90838ad36d03c3792be70fa171942a3677ec68e9be8b437754fe",
"importedAt": "2026-10-14T12:45:55.902Z",
"dependencies": [
{
"package": "base",
"range": ">=4.12.0.0 && <4.23",
"libraries": [
"main"
],
"component": "library:main",
"conditions": []
},
{
"package": "bytestring",
"range": ">=0.11.3.0",
"libraries": [
"main"
],
"component": "library:main",
"conditions": []
},
{
"package": "deepseq",
"range": "-any",
"libraries": [
"main"
],
"component": "library:main",
"conditions": []
},
{
"package": "exceptions",
"range": "-any",
"libraries": [
"main"
],
"component": "library:main",
"conditions": []
},
{
"package": "os-string",
"range": ">=2.0.1",
"libraries": [
"main"
],
"component": "library:main",
"conditions": []
},
{
"package": "template-haskell",
"range": "-any",
"libraries": [
"main"
],
"component": "library:main",
"conditions": [
{
"compiler": "ghc",
"range": "<9.14"
}
]
},
{
"package": "template-haskell-lift",
"range": ">=0.1 && <0.2",
"libraries": [
"main"
],
"component": "library:main",
"conditions": [
{
"not": {
"compiler": "ghc",
"range": "<9.14"
}
},
{
"compiler": "ghc",
"range": "-any"
}
]
},
{
"package": "template-haskell-quasiquoter",
"range": ">=0.1 && <0.2",
"libraries": [
"main"
],
"component": "library:main",
"conditions": [
{
"not": {
"compiler": "ghc",
"range": "<9.14"
}
},
{
"compiler": "ghc",
"range": "-any"
}
]
},
{
"package": "base",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:filepath-tests",
"conditions": []
},
{
"package": "bytestring",
"range": ">=0.11.3.0",
"libraries": [
"main"
],
"component": "test-suite:filepath-tests",
"conditions": []
},
{
"package": "filepath",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:filepath-tests",
"conditions": []
},
{
"package": "os-string",
"range": ">=2.0.1",
"libraries": [
"main"
],
"component": "test-suite:filepath-tests",
"conditions": []
},
{
"package": "tasty",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:filepath-tests",
"conditions": []
},
{
"package": "tasty-quickcheck",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:filepath-tests",
"conditions": []
},
{
"package": "base",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:filepath-equivalent-tests",
"conditions": []
},
{
"package": "bytestring",
"range": ">=0.11.3.0",
"libraries": [
"main"
],
"component": "test-suite:filepath-equivalent-tests",
"conditions": []
},
{
"package": "filepath",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:filepath-equivalent-tests",
"conditions": []
},
{
"package": "generic-random",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:filepath-equivalent-tests",
"conditions": []
},
{
"package": "generic-deriving",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:filepath-equivalent-tests",
"conditions": []
},
{
"package": "os-string",
"range": ">=2.0.1",
"libraries": [
"main"
],
"component": "test-suite:filepath-equivalent-tests",
"conditions": []
},
{
"package": "tasty",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:filepath-equivalent-tests",
"conditions": []
},
{
"package": "tasty-quickcheck",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:filepath-equivalent-tests",
"conditions": []
},
{
"package": "QuickCheck",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:filepath-equivalent-tests",
"conditions": []
},
{
"package": "base",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:abstract-filepath",
"conditions": []
},
{
"package": "bytestring",
"range": ">=0.11.3.0",
"libraries": [
"main"
],
"component": "test-suite:abstract-filepath",
"conditions": []
},
{
"package": "deepseq",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:abstract-filepath",
"conditions": []
},
{
"package": "filepath",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:abstract-filepath",
"conditions": []
},
{
"package": "os-string",
"range": ">=2.0.1",
"libraries": [
"main"
],
"component": "test-suite:abstract-filepath",
"conditions": []
},
{
"package": "quickcheck-classes-base",
"range": "^>=0.6.2",
"libraries": [
"main"
],
"component": "test-suite:abstract-filepath",
"conditions": []
},
{
"package": "tasty",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:abstract-filepath",
"conditions": []
},
{
"package": "tasty-quickcheck",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:abstract-filepath",
"conditions": []
},
{
"package": "base",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:bench-filepath",
"conditions": []
},
{
"package": "bytestring",
"range": ">=0.11.3.0",
"libraries": [
"main"
],
"component": "benchmark:bench-filepath",
"conditions": []
},
{
"package": "deepseq",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:bench-filepath",
"conditions": []
},
{
"package": "filepath",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:bench-filepath",
"conditions": []
},
{
"package": "os-string",
"range": ">=2.0.1",
"libraries": [
"main"
],
"component": "benchmark:bench-filepath",
"conditions": []
},
{
"package": "tasty-bench",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:bench-filepath",
"conditions": []
}
],
"exposedModules": [
"System.FilePath",
"System.FilePath.Posix",
"System.FilePath.Windows",
"System.OsPath",
"System.OsPath.Encoding",
"System.OsPath.Internal",
"System.OsPath.Posix",
"System.OsPath.Posix.Internal",
"System.OsPath.Types",
"System.OsPath.Windows",
"System.OsPath.Windows.Internal"
],
"documents": {
"readme": {
"status": "available",
"sha256": "951ffabef7642c7b5a691b596b3f0ed59fd033acd13a196c685d9a9398f5c224",
"error": null,
"checkedAt": "2026-10-14T12:45:56.686Z"
},
"changelog": {
"status": "available",
"sha256": "dd47b97ebe13c46a688a2a077342110724ff97ab4e084507d80033fd8645dbc0",
"error": null,
"checkedAt": "2026-10-14T12:45:56.721Z"
}
},
"documentation": null,
"versions": [
{
"version": "1.5.5.0",
"imported_at": "2026-10-14T12:45:55.902Z"
}
]
}