← All packages

filepath1.5.5.0

Library for manipulating FilePaths in a cross platform way.

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"
    }
  ]
}

Import a package

Enter a package name and an exact version from Hackage. The site contains imported versions only.