Module OpamProcess.Job.Op

module Op: sig .. end
Open type and add combinators. Meant to be opened

type 'a job = 
| Done of 'a
| Run of OpamProcess.command * (OpamProcess.result -> 'a job)
val (@@>) : OpamProcess.command ->
(OpamProcess.result -> 'a job) ->
'a job
Stage a shell command with its continuation, eg:
          command "ls" ["-a"] @@> fun result ->
          if OpamProcess.is_success result then Done result.r_stdout
          else failwith "ls"
        

val (@@+) : 'a job ->
('a -> 'b job) -> 'b job
job1 @@+ fun r -> job2 appends the computation of tasks in job2 after job1
val (@@|) : 'a job -> ('a -> 'b) -> 'b job
job @@| f maps f on the results of job. Equivalent to job @@+ fun r -> Done (f r)