On 2015/9/29 17:34, Faré wrote:
On Tue, Sep 29, 2015 at 11:03 AM, Mark Evenson evenson@panix.com wrote:
I wanted to confirm with ASDF developers that as far as I can tell from wrangling with UIOP:RUN-PROGRAM, it isn't going to do what I want because there is no "asynchronous" mode.
UIOP:RUN-PROGRAM itself is synchronous only, but its internal UIOP::%RUN-PROGRAM is asynchronous on platforms that support it... which does not include ABCL at this time, but does include CCL and SBCL. The interface is under-documented, and which exact subset of features it supports depends on the underlying implementation; but obviously it works well enough to portably implement the synchronous UIOP:RUN-PROGRAM.
Is their any informal ASDF policy on the stability unexported symbols like UIOP::%RUN-PROGRAM? I suspect y'all reserve the right to yank the rug at any point, right? Given that UIOP::%RUN-PROGRAM abstracts the Lisp implementations capable of asynchronous operation, I guess it is a little more stable.
[…]
If you only care about CCL and SBCL, you can use UIOP::%RUN-PROGRAM.
If you want a portable solution that requires an external library, try IOLIB/OS:CREATE-PROCESS.
The "external library" library part of IOLIB always tends to make me shy away.
@stellian and @fare: thanks for the advice.