-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Atomically write to a file -- -- Atomically write to a file on POSIX-compliant systems while preserving -- permissions. -- -- On most Unix systems, mv is an atomic operation. This makes it -- simple to write to a file atomically just by using the mv operation. -- However, this will destroy the permissions on the original file. This -- library does the following to preserve permissions while atomically -- writing to a file: -- -- -- -- This way, when the file is mv'ed into place, the permissions -- will be the ones held by the original file. -- -- This library is based on similar implementations found in common -- libraries in Ruby and Python: -- -- -- -- To use `atomic-write`, import the module corresponding to the type you -- wish to write atomically, e.g., to write a (strict) ByteString -- atomically: -- --
--   import System.AtomicWrite.Writer.ByteString
--   
-- -- Then you can use the atomicWriteFile function that accepts a -- FilePath and a ByteString, e.g.: -- --
--   atomicWriteFile myFilePath myByteString
--   
@package atomic-write @version 0.2.0.7 -- | Provides functionality to dump the contents of a ByteString to a file -- in text mode. module System.AtomicWrite.Writer.ByteString -- | Creates or modifies a file atomically on POSIX-compliant systems while -- preserving permissions. atomicWriteFile :: FilePath -> ByteString -> IO () -- | Creates or modifies a file atomically on POSIX-compliant systems and -- updates permissions. atomicWriteFileWithMode :: FileMode -> FilePath -> ByteString -> IO () -- | Provides functionality to dump the contents of a ByteString to a file -- open in binary mode module System.AtomicWrite.Writer.ByteString.Binary -- | Creates or modifies a file atomically on POSIX-compliant systems while -- preserving permissions. The file is opened in binary mode. atomicWriteFile :: FilePath -> ByteString -> IO () -- | Creates or modifies a file atomically on POSIX-compliant systems and -- updates permissions. The file is opened in binary mode. atomicWriteFileWithMode :: FileMode -> FilePath -> ByteString -> IO () -- | Provides functionality to dump the contents of a ByteStringBuilder to -- a file. module System.AtomicWrite.Writer.ByteStringBuilder -- | Creates or modifies a file atomically on POSIX-compliant systems while -- preserving permissions. atomicWriteFile :: FilePath -> Builder -> IO () -- | Creates or modifies a file atomically on POSIX-compliant systems and -- updates permissions. atomicWriteFileWithMode :: FileMode -> FilePath -> Builder -> IO () -- | Provides functionality to dump the contents of a Lazy ByteString to a -- file. module System.AtomicWrite.Writer.LazyByteString -- | Creates or modifies a file atomically on POSIX-compliant systems while -- preserving permissions. atomicWriteFile :: FilePath -> ByteString -> IO () -- | Creates or modifies a file atomically on POSIX-compliant systems and -- updates permissions atomicWriteFileWithMode :: FileMode -> FilePath -> ByteString -> IO () -- | Provides functionality to dump the contents of a Lazy ByteString to a -- file in binary mode. module System.AtomicWrite.Writer.LazyByteString.Binary -- | Creates or modifies a file atomically on POSIX-compliant systems while -- preserving permissions. atomicWriteFile :: FilePath -> ByteString -> IO () -- | Creates or modifies a file atomically on POSIX-compliant systems and -- updates permissions atomicWriteFileWithMode :: FileMode -> FilePath -> ByteString -> IO () -- | Provides functionality to dump the contents of a Text to a file. module System.AtomicWrite.Writer.LazyText -- | Creates a file atomically on POSIX-compliant systems while preserving -- permissions. atomicWriteFile :: FilePath -> Text -> IO () -- | Creates or modifies a file atomically on POSIX-compliant systems and -- updates permissions atomicWriteFileWithMode :: FileMode -> FilePath -> Text -> IO () -- | Provides functionality to dump the contents of a Text to a file in -- binary mode. module System.AtomicWrite.Writer.LazyText.Binary -- | Creates a file atomically on POSIX-compliant systems while preserving -- permissions. atomicWriteFile :: FilePath -> Text -> IO () -- | Creates or modifies a file atomically on POSIX-compliant systems and -- updates permissions atomicWriteFileWithMode :: FileMode -> FilePath -> Text -> IO () -- | Provides functionality to dump the contents of a String to a file. module System.AtomicWrite.Writer.String -- | Creates or modifies a file atomically on POSIX-compliant systems while -- preserving permissions. atomicWriteFile :: FilePath -> String -> IO () -- | A general version of atomicWriteFile atomicWithFile :: FilePath -> (Handle -> IO ()) -> IO () -- | Creates or modifies a file atomically on POSIX-compliant systems and -- updates permissions atomicWriteFileWithMode :: FileMode -> FilePath -> String -> IO () -- | A general version of atomicWriteFileWithMode atomicWithFileAndMode :: FileMode -> FilePath -> (Handle -> IO ()) -> IO () -- | Provides functionality to dump the contents of a String to a file in -- binary mode. module System.AtomicWrite.Writer.String.Binary -- | Creates or modifies a file atomically on POSIX-compliant systems while -- preserving permissions. atomicWriteFile :: FilePath -> String -> IO () -- | A general version of atomicWriteFile atomicWithFile :: FilePath -> (Handle -> IO ()) -> IO () -- | Creates or modifies a file atomically on POSIX-compliant systems and -- updates permissions atomicWriteFileWithMode :: FileMode -> FilePath -> String -> IO () -- | A general version of atomicWriteFileWithMode atomicWithFileAndMode :: FileMode -> FilePath -> (Handle -> IO ()) -> IO () -- | Provides functionality to dump the contents of a Text to a file. module System.AtomicWrite.Writer.Text -- | Creates a file atomically on POSIX-compliant systems while preserving -- permissions. atomicWriteFile :: FilePath -> Text -> IO () -- | Creates or modifies a file atomically on POSIX-compliant systems and -- updates permissions atomicWriteFileWithMode :: FileMode -> FilePath -> Text -> IO () -- | Provides functionality to dump the contents of a Text to a file in -- binary mode. module System.AtomicWrite.Writer.Text.Binary -- | Creates a file atomically on POSIX-compliant systems while preserving -- permissions. atomicWriteFile :: FilePath -> Text -> IO () -- | Creates or modifies a file atomically on POSIX-compliant systems and -- updates permissions atomicWriteFileWithMode :: FileMode -> FilePath -> Text -> IO ()