
Exported by Common, so they will be available everywhere. These are the same as readFile, writeFile, appendFile. But have two benefits: * They take OsPath, so using them avoids converting back and forth unncessarily. * They use the close-on-exec flag so can't leak FDs to child processes. Unlike the standard Haskell versions which unfortunately have that wart currently. (I do hope the standard versions get fixed eventually.) Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
38 lines
1.1 KiB
Haskell
38 lines
1.1 KiB
Haskell
module Common (module X) where
|
|
|
|
import Control.Monad as X
|
|
import Control.Monad.IfElse as X
|
|
import Control.Applicative as X
|
|
import Control.Monad.IO.Class as X (liftIO)
|
|
|
|
import Data.Maybe as X
|
|
import Data.List as X hiding (head, tail, init, last)
|
|
import Data.Monoid as X
|
|
import Data.Default as X
|
|
|
|
import System.IO as X hiding (FilePath)
|
|
import System.Exit as X
|
|
import System.PosixCompat.Files as X (FileStatus)
|
|
|
|
import Utility.Misc as X
|
|
import Utility.Exception as X
|
|
import Utility.DebugLocks as X
|
|
import Utility.SafeCommand as X
|
|
import Utility.ShellEscape as X
|
|
import Utility.Process as X
|
|
import Utility.Path as X
|
|
import Utility.Path.AbsRel as X
|
|
import Utility.Directory as X
|
|
import Utility.SystemDirectory as X
|
|
import Utility.MoveFile as X
|
|
import Utility.Monad as X
|
|
import Utility.Data as X
|
|
import Utility.Applicative as X
|
|
import Utility.FileSize as X
|
|
import Utility.Network as X
|
|
import Utility.Split as X
|
|
import Utility.FileSystemEncoding as X
|
|
import Utility.OsPath as X
|
|
import Utility.FileIO as X (readFileString, writeFileString, appendFileString)
|
|
|
|
import Utility.PartialPrelude as X
|