h$      !"#$%&'()*+,-./0123456789:;<=>? Safe-Inferred  !#$%'(>~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 @ 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  !#$%'(>@ 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. 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)     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).procexWait on a process status and raise an exception if it is an errorprocex'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  None  !#$%'(>JprocexA helper class to allow lightweight syntax for executing commands!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  .+procexCapture the output of the fd of the command lazily. Ignores process exit code.,procexCapture the stdout of the command lazily. If the process exits with a non-zero exit code, reading from the bytestring will throw  .-procexCapture the stderr of the command lazily. If the process exits with a non-zero exit code, reading from the bytestring will throw  ..procexCapture the stdout of the command lazily. Ignores process exit code./procexCapture the stderr of the command lazily. Ignores process exit code.1procexCapture the stdout of the command strictly, err if the command exits with a non-zero exit code.2procexCapture the stdout of the command strictly. Ignores process exit code.3procexCapture the stderr of the command strictly, err if the command exits with a non-zero exit code.4procexCapture the stderr of the command strictly. Ignores process exit code.#procex%The path to the executable, uses PATHprocex Either a , an IO (), or a function that takes  Cmd -> Cmd , A or B !"#$%&'()*+,-./01234%($'&12,.34-/0*+)# "!$1%1&1'1(1None  !#$%'(>/  !"#$%&'()*+,-./01234 Safe-Inferred  !#$%'(>>procexFor 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 GHCi?procexYou need to run this if you want stdin to work properly inside ghci.>?>?      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHFIJKLM#procex-0.2.0-C93ETBBeW3y1Tv1TmoQzdf Procex.Execve Procex.CoreProcex.Process Procex.Quick Procex.ShellrunmakeCmdProcex.PreludeExecveexecve forkexecveCmdmakeCmd'unIOCmdpostCmdrun' runReplacepassArgpassFd passArgFd $fShowArg CmdExceptionwaitCmd pipeArgIn pipeArgOutpipeInpipeOutpipeHInpipeHOut pipeArgHIn pipeArgHOutcaptureFdsAsHandles$fExceptionCmdException$fShowCmdExceptionQuickCmdquickCmd QuickCmdArg quickCmdArg ToByteString toByteStringmq<||!><<< pipeArgStrIn captureFdLazycaptureFdLazyNoThrow captureLazycaptureErrLazycaptureLazyNoThrowcaptureErrLazyNoThrow captureFdcapturecaptureNoThrow captureErrcaptureErrNoThrow$fToByteStringByteString$fToByteStringByteString0$fToByteString[]$fQuickCmdArg->$fQuickCmdArgByteString$fQuickCmdArg[] $fQuickCmdCmd $fQuickCmdIO $fQuickCmd->promptFunctioninitInteractivebase GHC.MaybeNothingGHC.BaseString*bytestring-0.11.1.0-5zJk1ZOFjxP4R6SHLWgFCcData.ByteString.Lazy.Internal ByteString