Agda-2.4.2.1: A dependently typed functional programming language and proof assistant

Safe HaskellSafe-Inferred
LanguageHaskell98

Agda.Utils.FileName

Description

Operations on file names.

Synopsis

Documentation

data AbsolutePath Source

Paths which are known to be absolute.

Note that the Eq and Ord instances do not check if different paths point to the same files or directories.

Andreas, 2014-03-30: For efficiency of serialization, AbsolutePath is implemented as ByteString which short-cuts equality testing using pointer equality. This saves 20% of the serialization time of the standard library!

filePath :: AbsolutePath -> FilePath Source

Extract the AbsolutePath to be used as FilePath.

rootName :: AbsolutePath -> String Source

maps blablablafoo.bar.xxx to foo.bar.

mkAbsolute :: FilePath -> AbsolutePath Source

Constructs AbsolutePaths.

Precondition: The path must be absolute and valid.

absolute :: FilePath -> IO AbsolutePath Source

Makes the path absolute.

This function may raise an __IMPOSSIBLE__ error if canonicalizePath does not return an absolute path.

(===) :: AbsolutePath -> AbsolutePath -> Bool infix 4 Source

Tries to establish if the two file paths point to the same file (or directory).

doesFileExistCaseSensitive :: FilePath -> IO Bool Source

Case-sensitive doesFileExist for Windows. This is case-sensitive only on the file name part, not on the directory part. (Ideally, path components coming from module name components should be checked case-sensitively and the other path components should be checked case insenstively.)