FilePath package:foundation
FilePath is a collection of FileName
TODO: Eq and Ord are implemented using Show This is not very efficient
and would need to be improved Also, it is possible the ordering is not
necessary what we want in this case.
A FilePath is one of the following:
- An Absolute:
- starts with one of the follwing "/"
- A relative:
- don't start with a "/"
- authorised:
- "/"
- "filepath"
- "."
- ".."
- "workhaskellhs-foundation"
- unauthorised
- "path//"
# Opaque implementation for FilePath
The underlying type of a FilePath is a
ByteArray. It is indeed
like this because for some systems (Unix systems) a
FilePath is
a null terminated array of bytes.
# FilePath and FileName for type checking validation
In order to add some constraint at compile time, it is not possible to
append (
</>) a
FilePath to another
FilePath. You can only append (
</>) a
FileName to a given
FilePath.
conversion of a FilePath into a list of Char
this function may throw exceptions
build a file path from a given list of filename
this is unsafe and is mainly needed for testing purpose