Legend:
Library
Module
Module type
Parameter
Class
Class type
Operations on abstract filenames.
This module allow to manipulate string or abstract representation of a filename.
Abstract representation of a filename allow to decode it only once, and should speed up further operation on it (comparison in particular). If you intend to do a lot of processing on filename, you should consider using its abstract representation.
This module manipulate abstract path that are not bound to a real filesystem. In particular, it makes the assumption that there is no symbolic link that should modify the meaning of a path. If you intend to use this module against a real set of filename, the best solution is to apply to every filename to solve symbolic link through FileUtil.readlink.
compare fl1 fl2 Give an order between the two filename. The classification is done by sub directory relation, fl1 < fl2 iff fl1 is a subdirectory of fl2, and lexicographical order of each part of the reduce filename when fl1 and fl2 has no hierarchical relation
Return the shortest filename which is equal to the filename given. It remove the "." in Unix filename, for example. If no_symlink flag is set, consider that the path doesn't contain symlink and in this case ".." for Unix filename are also reduced.
PATH-like refers the environment variable PATH. This variable holds a list of filename. The functions string_of_path and path_of_string allow to convert this kind of list by using the good separator between filename.