Dougal Stanton ha scritto:
On Wed, Sep 17, 2008 at 1:17 PM, Manlio Perillo
<[EMAIL PROTECTED]> wrote:
The Python tempfile module, as an example, implements a wrapper around
mkstemp function that does exactly this, and the code is portable; on
Windows it uses O_TEMPORARY_FILE flag, on POSIX systems the file is
unlink-ed as soon as it is created (but note that the code is not signal
safe - well, many functions in the Python standard library are not signal
safe).

Something like:

withTempFile :: String -> ((FilePath, Handle) -> IO b) -> IO b
withTempFile name action = do
    tmpdir <- getTemporaryDirectory
    bracket
        (openTempFile tmpdir name)
        (\(fp,h) -> hClose h >> removeFile fp)
        action

I don't know if this has the safety requirements you mean?


Yes, this is the ideal solution for Haskell.

But since GHC does not implement such a function, I was curious to know why it don't even implement a function that make sure the temporary file is removed.




Thanks  Manlio Perillo
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to