/usr/share/doc/libghc-process-extras-doc/html/process-extras.txt is in libghc-process-extras-doc 0.4.1.4-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | -- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Process extras
--
-- Extends <a>http://hackage.haskell.org/package/process</a>. Read
-- process input and output as ByteStrings or Text, or write your own
-- ProcessOutput instance. Lazy process input and output. ProcessMaker
-- class for more flexibility in the process creation API.
@package process-extras
@version 0.4.1.4
module System.Process.Common
class ProcessMaker a
process :: ProcessMaker a => a -> IO (Handle, Handle, Handle, ProcessHandle)
class ListLikeIO a c => ListLikeProcessIO a c
forceOutput :: ListLikeProcessIO a c => a -> IO a
-- | Read from a handle, returning a lazy list of the monoid a.
readChunks :: ListLikeProcessIO a c => Handle -> IO [a]
class Monoid b => ProcessOutput a b | b -> a
pidf :: ProcessOutput a b => ProcessHandle -> b
outf :: ProcessOutput a b => a -> b
errf :: ProcessOutput a b => a -> b
intf :: ProcessOutput a b => SomeException -> b
codef :: ProcessOutput a b => ExitCode -> b
-- | Like <a>readProcessWithExitCode</a>, but with generalized input and
-- output type.
readProcessWithExitCode :: ListLikeProcessIO a c => FilePath -> [String] -> a -> IO (ExitCode, a, a)
readCreateProcessWithExitCode :: (ProcessMaker maker, ListLikeProcessIO a c) => maker -> a -> IO (ExitCode, a, a)
readCreateProcess :: (ProcessMaker maker, ProcessOutput a b, ListLikeProcessIO a c) => maker -> a -> IO b
-- | Like readCreateProcess, but the output is read lazily.
readCreateProcessLazy :: (ProcessMaker maker, ProcessOutput a b, ListLikeProcessIO a c) => maker -> a -> IO b
instance System.Process.Common.ProcessMaker System.Process.Common.CreateProcess
instance System.Process.Common.ProcessMaker (System.Process.Common.CreateProcess, GHC.IO.Handle.Types.BufferMode, GHC.IO.Handle.Types.BufferMode)
instance System.Process.Common.ListLikeProcessIO a c => System.Process.Common.ProcessOutput a (GHC.IO.Exception.ExitCode, a, a)
instance GHC.Base.Monoid GHC.IO.Exception.ExitCode
module System.Process.ByteString
-- | Like <a>readProcessWithExitCode</a>, but using <a>ByteString</a>
-- | Specialized version for backwards compatibility.
readProcessWithExitCode :: FilePath -> [String] -> ByteString -> IO (ExitCode, ByteString, ByteString)
readCreateProcessWithExitCode :: CreateProcess -> ByteString -> IO (ExitCode, ByteString, ByteString)
instance System.Process.Common.ListLikeProcessIO Data.ByteString.Internal.ByteString GHC.Word.Word8
module System.Process.ByteString.Lazy
-- | Like <a>readProcessWithExitCode</a>, but using <a>ByteString</a>
-- | Specialized version for backwards compatibility.
readProcessWithExitCode :: FilePath -> [String] -> ByteString -> IO (ExitCode, ByteString, ByteString)
readCreateProcessWithExitCode :: CreateProcess -> ByteString -> IO (ExitCode, ByteString, ByteString)
instance System.Process.Common.ListLikeProcessIO Data.ByteString.Lazy.Internal.ByteString GHC.Word.Word8
module System.Process.Text
-- | Like <a>readProcessWithExitCode</a>, but using <a>Text</a>
-- | Specialized version for backwards compatibility.
readProcessWithExitCode :: FilePath -> [String] -> Text -> IO (ExitCode, Text, Text)
readCreateProcessWithExitCode :: CreateProcess -> Text -> IO (ExitCode, Text, Text)
instance System.Process.Common.ListLikeProcessIO Data.Text.Internal.Text GHC.Types.Char
module System.Process.Text.Lazy
-- | Like <a>readProcessWithExitCode</a>, but using <a>Text</a>
-- | Specialized version for backwards compatibility.
readProcessWithExitCode :: FilePath -> [String] -> Text -> IO (ExitCode, Text, Text)
readCreateProcessWithExitCode :: CreateProcess -> Text -> IO (ExitCode, Text, Text)
instance System.Process.Common.ListLikeProcessIO Data.Text.Internal.Lazy.Text GHC.Types.Char
-- | Re-export all symbols and instances of the process-extras package.
-- Adds the Chunk type with a ProcessOutput instance, and a collectOutput
-- function to turn a list of chunks into any instance of ProcessOutput,
-- such as (ExitCode, String, String). This means you can have
-- readCreateProcess output a list of Chunk, operate on it to do progress
-- reporting, and finally convert it to the type that
-- readProcessWithExitCode woud have returned.
module System.Process.ListLike
class ProcessMaker a
process :: ProcessMaker a => a -> IO (Handle, Handle, Handle, ProcessHandle)
class ListLikeIO a c => ListLikeProcessIO a c
forceOutput :: ListLikeProcessIO a c => a -> IO a
class Monoid b => ProcessOutput a b | b -> a
pidf :: ProcessOutput a b => ProcessHandle -> b
outf :: ProcessOutput a b => a -> b
errf :: ProcessOutput a b => a -> b
intf :: ProcessOutput a b => SomeException -> b
codef :: ProcessOutput a b => ExitCode -> b
readCreateProcess :: (ProcessMaker maker, ProcessOutput a b, ListLikeProcessIO a c) => maker -> a -> IO b
-- | Like readCreateProcess, but the output is read lazily.
readCreateProcessLazy :: (ProcessMaker maker, ProcessOutput a b, ListLikeProcessIO a c) => maker -> a -> IO b
readCreateProcessWithExitCode :: (ProcessMaker maker, ListLikeProcessIO a c) => maker -> a -> IO (ExitCode, a, a)
-- | Like <a>readProcessWithExitCode</a>, but with generalized input and
-- output type.
readProcessWithExitCode :: ListLikeProcessIO a c => FilePath -> [String] -> a -> IO (ExitCode, a, a)
-- | This type is a concrete representation of the methods of class
-- ProcessOutput. If you take your process output as this type you could,
-- for example, echo all the output and then use collectOutput below to
-- convert it to any other instance of ProcessOutput.
data Chunk a
-- | This will always come first, before any output or exit code.
ProcessHandle :: ProcessHandle -> Chunk a
Stdout :: a -> Chunk a
Stderr :: a -> Chunk a
Result :: ExitCode -> Chunk a
-- | Note that the instances below do not use this constructor.
Exception :: SomeException -> Chunk a
-- | Turn a <tt>[Chunk a]</tt> into any other instance of
-- <a>ProcessOutput</a>.
collectOutput :: ProcessOutput a b => [Chunk a] -> b
foldOutput :: (ProcessHandle -> r) -> (a -> r) -> (a -> r) -> (SomeException -> r) -> (ExitCode -> r) -> Chunk a -> r
-- | Send Stdout chunks to stdout and Stderr chunks to stderr.
writeOutput :: ListLikeIO a c => [Chunk a] -> IO ()
-- | System.Process utility functions.
showCreateProcessForUser :: CreateProcess -> String
showCmdSpecForUser :: CmdSpec -> String
-- | Construct a <a>CreateProcess</a> record for passing to
-- <a>createProcess</a>, representing a raw command with arguments.
--
-- See <a>RawCommand</a> for precise semantics of the specified
-- <tt>FilePath</tt>.
proc :: FilePath -> [String] -> CreateProcess
-- | Construct a <a>CreateProcess</a> record for passing to
-- <a>createProcess</a>, representing a command to be passed to the
-- shell.
shell :: String -> CreateProcess
instance GHC.Show.Show a => GHC.Show.Show (System.Process.ListLike.Chunk a)
instance System.Process.Common.ListLikeProcessIO GHC.Base.String GHC.Types.Char
instance GHC.Show.Show System.Process.Common.ProcessHandle
instance System.Process.Common.ListLikeProcessIO a c => System.Process.Common.ProcessOutput a [System.Process.ListLike.Chunk a]
instance System.Process.Common.ListLikeProcessIO a c => System.Process.Common.ProcessOutput a (GHC.IO.Exception.ExitCode, [System.Process.ListLike.Chunk a])
|