Safe Haskell | None |
---|---|
Language | Haskell98 |
- class Monoid b => ProcessOutput a b | b -> a where
- pidf :: ProcessHandle -> b
- outf :: a -> b
- errf :: a -> b
- intf :: SomeException -> b
- codef :: ExitCode -> b
- class ListLikeIO a c => ListLikeProcessIO a c where
- forceOutput :: a -> IO a
- readChunks :: Handle -> IO [a]
- readProcessWithExitCode :: ListLikeProcessIO a c => FilePath -> [String] -> a -> IO (ExitCode, a, a)
- readCreateProcessWithExitCode :: ListLikeProcessIO a c => CreateProcess -> a -> IO (ExitCode, a, a)
- readCreateProcess :: (ProcessOutput a b, ListLikeProcessIO a c) => CreateProcess -> a -> IO b
- ignoreResourceVanished :: IO () -> IO ()
- readCreateProcessLazy :: (ProcessOutput a b, ListLikeProcessIO a c) => CreateProcess -> a -> IO b
- readInterleaved :: (ListLikeProcessIO a c, ProcessOutput a b) => [(a -> b, Handle)] -> IO b -> IO b
- readInterleaved' :: forall a b c. (ListLikeProcessIO a c, ProcessOutput a b) => [(a -> b, Handle)] -> IO b -> MVar (Either Handle b) -> IO b
- writeInput :: ListLikeProcessIO a c => Handle -> a -> IO ()
- resourceVanished :: (IOError -> IO a) -> IOError -> IO a
Documentation
class Monoid b => ProcessOutput a b | b -> a where Source
pidf :: ProcessHandle -> b Source
intf :: SomeException -> b Source
ListLikeProcessIO a c => ProcessOutput a [Chunk a] | |
ListLikeProcessIO a c => ProcessOutput a (ExitCode, [Chunk a]) | |
ListLikeProcessIO a c => ProcessOutput a (ExitCode, a, a) |
class ListLikeIO a c => ListLikeProcessIO a c where Source
forceOutput :: a -> IO a Source
readChunks :: Handle -> IO [a] Source
Read from a handle, returning a lazy list of the monoid a.
ListLikeProcessIO String Char | Like |
ListLikeProcessIO ByteString Word8 | Like |
ListLikeProcessIO ByteString Word8 | Like |
ListLikeProcessIO Text Char | Like |
ListLikeProcessIO Text Char | Like |
readProcessWithExitCode Source
:: ListLikeProcessIO a c | |
=> FilePath | command to run |
-> [String] | any arguments |
-> a | standard input |
-> IO (ExitCode, a, a) | exitcode, stdout, stderr |
Like readProcessWithExitCode
, but with generalized input and output type.
readCreateProcessWithExitCode Source
:: ListLikeProcessIO a c | |
=> CreateProcess | command and arguments to run |
-> a | standard input |
-> IO (ExitCode, a, a) | exitcode, stdout, stderr |
readCreateProcess :: (ProcessOutput a b, ListLikeProcessIO a c) => CreateProcess -> a -> IO b Source
ignoreResourceVanished :: IO () -> IO () Source
readCreateProcessLazy :: (ProcessOutput a b, ListLikeProcessIO a c) => CreateProcess -> a -> IO b Source
Like readCreateProcess, but the output is read lazily.
readInterleaved :: (ListLikeProcessIO a c, ProcessOutput a b) => [(a -> b, Handle)] -> IO b -> IO b Source
Helper function for readCreateProcessLazy.
readInterleaved' :: forall a b c. (ListLikeProcessIO a c, ProcessOutput a b) => [(a -> b, Handle)] -> IO b -> MVar (Either Handle b) -> IO b Source
writeInput :: ListLikeProcessIO a c => Handle -> a -> IO () Source
Write and flush process input, closing the handle when done. Catch and ignore Resource Vanished exceptions, they just mean the process exited before all of its output was read.