System.Posix.Temp

unix-2.7.1.0: POSIX functionality

Copyright | (c) Volker Stolz <vs@foldr.org> Deian Stefan <deian@cs.stanford.edu>
License | BSD-style (see the file libraries/base/LICENSE)
Maintainer | libraries@haskell.org, vs@foldr.org, deian@cs.stanford.edu
Stability | provisional
Portability | non-portable (requires POSIX)
Safe Haskell | Safe
Language | Haskell2010

System.Posix.Temp

Description

POSIX temporary file and directory creation functions.

Synopsis

- mkstemp :: String -> IO (FilePath, Handle)
- mkstemps :: String -> String -> IO (FilePath, Handle)
- mkdtemp :: String -> IO FilePath

# Documentation

mkstemp :: String -> IO (FilePath, Handle)

Make a unique filename and open it for reading/writing. The returned `FilePath` is the (possibly relative) path of the created file, which is padded with 6 random characters. The argument is the desired prefix of the filepath of the temporary file to be created.

If you aren't using GHC or Hugs then this function simply wraps mktemp and so shouldn't be considered safe.

mkstemps :: String -> String -> IO (FilePath, Handle)

Make a unique filename with a given prefix and suffix and open it for reading/writing. The returned `FilePath` is the (possibly relative) path of the created file, which contains 6 random characters in between the prefix and suffix. The first argument is the desired prefix of the filepath of the temporary file to be created. The second argument is the suffix of the temporary file to be created.

If you are using as system that doesn't support the mkstemps glibc function (supported in glibc > 2.11) then this function simply throws an error.

mkdtemp :: String -> IO FilePath

Make a unique directory. The returned `FilePath` is the path of the created directory, which is padded with 6 random characters. The argument is the desired prefix of the filepath of the temporary directory to be created.

If you are using as system that doesn't support the mkdtemp glibc function (supported in glibc > 2.1.91) then this function uses mktemp and so shouldn't be considered safe.