Module

Pathy.Phantom

#RelOrAbs

data RelOrAbs

The kind for the relative/absolute phantom type.

#Rel

data Rel :: RelOrAbsdata Rel

The phantom type of relative paths.

Instances

#Abs

data Abs :: RelOrAbsdata Abs

The phantom type of absolute paths.

Instances

#IsRelOrAbs

class IsRelOrAbs :: RelOrAbs -> Constraintclass IsRelOrAbs a  where

A class that enables writing operations that abstract over RelOrAbs.

The provided onRelOrAbs function folds over a value indexed by RelOrAbs to produce a new result, passing proof/coercion functions to allow the inner functions to unify their return types if remapping.

Members

Instances

#foldRelOrAbs

foldRelOrAbs :: forall f a b r. IsRelOrAbs a => (f Rel b -> r) -> (f Abs b -> r) -> f a b -> r

Folds over a value that uses RelOrAbs to produce a new result.

#DirOrFile

data DirOrFile

The kind for the directory/file phantom type.

#Dir

data Dir :: DirOrFiledata Dir

The phantom type of directories.

Instances

#File

data File :: DirOrFiledata File

The phantom type of files.

Instances

#IsDirOrFile

class IsDirOrFile :: DirOrFile -> Constraintclass IsDirOrFile b  where

A class that enables writing operations that abstract over DirOrFile.

The provided onDirOrFile function folds over a value indexed by DirOrFile to produce a new result, passing proof/coercion functions to allow the inner functions to unify their return types if remapping.

Members

Instances

#foldDirOrFile

foldDirOrFile :: forall f b r. IsDirOrFile b => (f Dir -> r) -> (f File -> r) -> f b -> r

Folds over a value that uses DirOrFile to produce a new result.

Modules