Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
Julian Ospald 87e452c49f
Add/update READMEs
vor 4 Jahren
..
src Improve documentation vor 4 Jahren
CHANGELOG Bump versions vor 4 Jahren
LICENSE Split packages into hpath{,-io,-filepath} vor 4 Jahren
README.md Add/update READMEs vor 4 Jahren
Setup.hs Split packages into hpath{,-io,-filepath} vor 4 Jahren
hpath.cabal Bump versions vor 4 Jahren
run-doctests.sh Fix run-doctests working dir vor 4 Jahren

README.md

HPath

Gitter chat Hackage version Build Status Hackage-Deps

Support for well-typed paths in Haskell.

This package is part of the HPath suite, also check out:

Motivation

The motivation came during development of hsfm which has a pretty strict File type, but lacks a strict Path type, e.g. for user input.

The library that came closest to my needs was path, but the API turned out to be oddly complicated for my use case, so I decided to fork it.

Goals

  • well-typed paths
  • safe filepath manipulation, never using String as filepath, but ByteString

Note: this library was written for posix systems and it will probably not support other systems.

Differences to ‘path’

  • doesn’t attempt to fake IO-related information into the path, so whether a path points to a file or directory is up to your IO-code to decide...
  • uses safe ByteString for filepaths under the hood instead of unsafe String
  • fixes broken dirname
  • renames dirname/filename to basename/dirname to match the POSIX shell functions
  • allows pattern matching via unidirectional PatternSynonym
  • uses simple doctest for testing
  • allows ~/ as relative path, because on posix level ~ is just a regular filename that does NOT point to $HOME