[Haskell-cafe] about openTempFile
Manlio Perillo
manlio_perillo at libero.it
Wed Sep 17 09:42:12 EDT 2008
Dougal Stanton ha scritto:
> On Wed, Sep 17, 2008 at 1:17 PM, Manlio Perillo
> <manlio_perillo at libero.it> 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
More information about the Haskell-Cafe
mailing list