On Sat 25 Jun 2016 15:51, Josep Portella Florit <j...@primfilat.com> writes:
>> I dunno how much we should push this "processes are a single port" >> abstraction. In many ways for OPEN_BOTH pipes it's easier to deal with >> an input and an output port and a PID instead of the pipe abstraction. >> WDYT? We could just expose `open-process' from (ice-9 popen) to start >> with. It would be good to allow other fd's or ports to map to the child >> as well, e.g. stderr or any particular port; but I don't know what >> interface we should expose. > > Since patching was inconvenient for me, I eventually used: > > (use-modules ((ice-9 popen) #:select (open-process))) > > Which works even though `open-process` is not exported. Note that this behavior of #:select is a bug. We won't remove it in stable-2.0 but we have removed it in master. > For me, exporting `open-process` and documenting it would be enough. Fine with me, many people have asked for this at this point. I guess that's the next step for this bug. > I also like the Racket interface to processes: > <https://docs.racket-lang.org/reference/subprocess.html> > (I've mostly used the `process` procedure.) Duly noted! The more we steal from Racket, the better Guile will be :) Andy