Path type class
defines the Path associated types and basic functions to implement related to the path manipulation
# TODO, add missing enhancement:
splitExtension :: PathEnt path -> (PathEnt path, PathEnt path)
addExtension :: PathEnt path -> PathEnt path -> PathEnt path
(.) :: path -> PathEnt path -> path
(-.) :: path -> PathEnt path -> path
Associated types
type family PathEnt paththe associated PathEntity of the given
paththis type is the minimal element contained in the Path a Path is not a collection but it is possible to see this associated type equivalent to the Element type familytype family PathPrefix paththe associated prefix of the given
pathin the case of a
Foundation.VFS.FilePath, it is a void (i.e.()) in the case of aFoundation.VFS.URI, it is the schema, host, port...type family PathSuffix paththe associated suffix of the given path
in the case of the
Foundation.VFS.FilePath, it is a void (i.e.()) in the case of theFoundation.VFS.URI, it is a the query, the fragment
Methods
(</>) :: path -> PathEnt path -> pathjoin a path entity to a given path
splitPath :: path -> (PathPrefix path, [PathEnt path], PathSuffix path)split the path into the associated elements
buildPath :: (PathPrefix path, [PathEnt path], PathSuffix path) -> pathbuild the path from the associated elements