PathLike, FileLike and DirLike type classes for the Path library.

LTS Haskell 22.23:
Stackage Nightly 2024-05-30:
Latest on Hackage:

See all snapshots path-like appears in

MIT licensed by Daniel Firth
Maintained by [email protected]
This version can be pinned in stack with:path-like-,1055

Module documentation for

Depends on 2 packages(full list with versions):
Used by 1 package in nightly-2024-05-30(full list with versions):

path-like - Type classes for the Path library.

This library exports type classes PathLike, FileLike and DirLike which serve as a common interface for compiling types down to Path b File and Path b Dir. The only contract that should be respected is that your type should be at least as strict as the Path type itself, i.e no String/FilePath instances. This is the case with the within type.

This library also exports a concatenation function (/>) which defers to the underlying (</>) function in Path, but works for any DirLike and PathLike Rel. This may change to shadow the existing definition if these classes turn out to be generally useful. They tend to be particularly useful for generalising file IO, but you may find you need to cast more when you first construct a Path using TemplateHaskell.

For more information see the path library documentation.


Changelog for path-like


  • Revert ConstraintKinds mess.


  • Add ’PathLikesuperclass toFileLikeandDirLike`.


  • Add FileLike and DirLike type class for using stricter types as Path b File and Path b Dir respectively.
  • Add (/>) combinator for producing a Path from a DirLike and a FileLike Rel.