 | FileManip-0.2: Expressive file and directory manipulation for Haskell. | Contents | Index |
|
| System.FilePath.Manip | | Portability | Unix-like systems (requires flexible instances) | | Stability | unstable | | Maintainer | Bryan O'Sullivan <bos@serpentine.com> |
|
|
|
|
|
| Description |
|
|
| Synopsis |
|
|
|
| Documentation |
|
| class Streamable a where |
| Type class for string manipulation over files.
| | | Methods | | | Instances | |
|
|
| renameWith |
| :: (FilePath -> FilePath) | function to rename with
| | -> FilePath | file to rename
| | -> IO () | | | Use a renaming function to generate a new name for a file, then
rename it.
|
|
|
| modifyWith |
| :: Streamable a | | | => (FilePath -> FilePath -> IO ()) | file manipulation action
| | -> (a -> a) | transformation function
| | -> FilePath | | | -> IO () | | Modify a file in place using the given function. The new content
is written to a temporary file. Once this is complete, the file
manipulation action is called. Its arguments are the names of the
original and temporary files.
Example:
modifyInPlace = modifyWith (flip rename)
|
|
|
| modifyWithBackup |
| :: Streamable a | | | => (FilePath -> FilePath) | chooses new name for original file
| | -> (a -> a) | transformation function
| | -> FilePath | name of file to modify
| | -> IO () | | Modify a file in place using the given function. The original
copy of the file is saved under a new name. This is performed by
writing to a temporary file; renaming the original file to its new
name; then renaming the temporary file to the original name.
Example:
-- save original file with a ".bak" extension
modifyWithBackup (<.> "bak")
|
|
|
| modifyInPlace |
| :: Streamable a | | | => (a -> a) | transformation function
| | -> FilePath | name of file to modify
| | -> IO () | | | Modify a file in place using the given function. This is
performed by writing to a temporary file, then renaming it on top of
the existing file when done.
|
|
|
| Produced by Haddock version 0.8 |