h&      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL Safe-Inferred"#%&')*?procexThe signature for  and .procex/Replace the current process with a new process.procexFork and execute a new process.procex The full path to the executable.procex$The args to pass, including argv[0].procexThe environment to pass. Will default to the current environment if M is passed.procexThe fds to pass. All other fds will be closed. In the new process, the integral id for each fd will be set to the position the fd has in this list, e.g. the first element in this list will be stdin, and so on.procex#The process id for the new process. Safe-Inferred"#%&')*? N procex%A command. You can execute this with  or .procexMake a  from the path to an executable. Does not take PATH into account. See  for a version that provides some sensible defaults, like forwarding stdin, stdout, stderr.procexEmbeds the IO action inside the command, such that the IO action is executed when the command is executed.procexExecutes some code after launching the process. If launching the process fails, it will be provided with the exception it failed with.procexRuns the specified command asynchronously and returns the process status.procexRuns the specified commands and replaces the current process with it. This will not return unless an error occurs while executing the process. procex Pass an argument to the command. procexBind a fd in the new process to a fd available now. If you try to bind an fd already bound, it will simply replace the older binding. procexDon't open a fd in the new process if it was going to be opened by  !. Does not affect fds opened by  . procexPass an argument of the form /proc/self/fd/ to the process, where n7 is an fd which is a duplicate of the fd provided here. procex (new, old) procexnew     Safe-Inferred"#%&')*? procex1Thrown when the return code of a command isn't 0.procex A version of  that resolves the path according to PATH and passes through stdin, stdout and stderr (unless overrided).procex#Wait on a process status and raise  if it is a non-zero exit code.procex'Runs a command synchronously. See also . % will be thrown if the command fails.procexPass an argument of the form /proc/self/fd/ to the process, where n is the reader end of a pipe which the command writes to through the specified fd.procexPass an argument of the form /proc/self/fd/ to the process, where n is the writer end of a pipe which the command reads from through the specified fd.procex2Pipes from the first command to the second commandprocex2Pipes from the second command to the first commandprocex Pipes from the handle to the fd.procex Pipes from the fd to the handle.procexPass an argument of the form /proc/self/fd/ to the process, where n is the reader end of a pipe where the writer end is passed to a Haskell function.procexPass an argument of the form /proc/self/fd/ to the process, where n is the writer end of a pipe where the reader end is passed to a Haskell function.procex*Captures the outputs to the specified fds.procex The fd the command will write toprocex%The command that will write to the fdprocexThe command you're modifyingprocex!The fd the command will read fromprocex&The command that will read from the fdprocexThe command you're modifyingprocexThe writing endprocexThe reading endprocexThe writer commandprocexThe reader commandprocexThe reading endprocexThe writing endprocexThe reader commandprocexThe writer command Safe-Inferred"#%&')*?procexA helper class to allow lightweight syntax for executing commands procex.If a type implements this, you can pass it to $."procex to the process, where n is the reader end of a pipe which the passed string is written to.+procexCapture the output of the fd of the command lazily. If the process exits with a non-zero exit code, reading from the bytestring will throw *. Garbage collection will close the pipe.,procexCapture the output of the fd of the command lazily. Ignores process exit code. Garbage collection will close the pipe.-procex+ for stdout..procex+ for stderr../procex, for stdout.0procex, for stderr.1procexCapture the output of the fd of the command strictly, err if the command exits with a non-zero exit code.2procexCapture the output of the fd of the command strictly. Ignores process exit code.3procex1 for stdout.4procex2 for stdout.5procex1 for stderr.6procex2 for stderr.Eprocex UTF-8 encoded$procex%The path to the executable, uses PATHprocex Either a , an IO (), or a function that takes  Cmd -> Cmd , N or O !"#$%&'()*+,-./0123456&)%('34-/56.012+,*$ !"#%1&1'1(1)1  Safe-Inferred"#%&')*?$1  !"#$%&'()*+,-./0123456 Safe-Inferred"#%&')*?IprocexFor some ungodly reason, cd-ing inside ghci won't change the cwd of ghci itself, so completion, etc. will always happen from the directory you started ghci in. This is a quick hack to work around this by also running changeWorkingDirectory "above" the shell.0Do `:set prompt-function promptFunction` in GHCiJprocexYou need to run this if you want stdin to work properly inside ghci.KprocexThis goes hand-in-hand with I. It is a standard P, but it sets PWD in the environment too.IJKIJK Safe-Inferred"#%&')*?     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVTWXYZ[\]^#procex-0.3.3-7AXLFpM2c0K1Ju3w9FndOI Procex.Execve Procex.CoreProcex.Process Procex.Quick Procex.ShellProcex.Shell.LabelsrunmakeCmdProcex.PreludeExecveexecve forkexecveCmdmakeCmd'unIOCmdpostCmdrun' runReplacepassArgpassFdpassNoFd passArgFd $fShowArg CmdExceptionwaitCmd pipeArgIn pipeArgOutpipeInpipeOutpipeHInpipeHOut pipeArgHIn pipeArgHOutcaptureFdsAsHandles$fExceptionCmdException$fShowCmdExceptionQuickCmdquickCmd QuickCmdArg quickCmdArg ToByteString toByteStringmq<||!><<< pipeArgStrIn captureFdLazycaptureFdLazyNoThrow captureLazycaptureErrLazycaptureLazyNoThrowcaptureErrLazyNoThrow captureFdcaptureFdNoThrowcapturecaptureNoThrow captureErrcaptureErrNoThrow$fToByteStringByteString$fToByteStringByteString0$fToByteString[]$fQuickCmdArgFUN$fQuickCmdArg(,)$fQuickCmdArg(,)0$fQuickCmdArg(,)1$fQuickCmdArgByteString$fQuickCmdArg[]$fQuickCmdArg[]0$fQuickCmdArg[]1$fQuickCmdArg[]2$fQuickCmdArg[]3$fQuickCmdArg[]4$fQuickCmdArg[]5 $fQuickCmdCmd $fQuickCmdIO $fQuickCmdFUNpromptFunctioninitInteractivecd $fIsLabellabase GHC.MaybeNothingGHC.BaseStringbytestring-0.11.3.1Data.ByteString.Lazy.Internal ByteString unix-2.7.2.2System.Posix.DirectorychangeWorkingDirectory