homepage: ''
changelog-type: markdown
hash: 4f504d3a1bfa561c50aef8237776184b3c2d4d058999a39b3525ba2dd13ab8d6
test-bench-deps: {}
maintainer: dan.firth@homotopic.tech
synopsis: FileLike and DirLike type classes for the Path library.
changelog: |
  # Changelog for path-like

  ## (v0.1.0.0)

  * 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`.
basic-deps:
  path: -any
  base: '>=4.7 && <5'
all-versions:
- 0.1.0.0
author: Daniel Firth
latest: 0.1.0.0
description-type: markdown
description: |
  # path-like - Type classes for the Path library.

  This library exports two type classes `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](https://hackage.haskell.org/hackage/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](https://hackage.haskell.org/hackage/path)
  library documentation.
license-name: MIT

Update from Hackage at 2020-07-04T15:05:30Z
Update from Hackage at 2020-07-04T15:05:30Z
