On 11 April 2011 10:07, Alessio Stalla alessiostalla@gmail.com wrote:
On Mon, Apr 11, 2011 at 3:19 PM, Ville Voutilainen ville.voutilainen@gmail.com wrote:
Could you implement a variant of run-program? It might require some trickery to support both Unix and Windows, but it would be very useful, probably beyond just XCVB.
Seems something worth considering.
I can work on it. It should be rather easy using the JVM APIs. Faré, do you have an example of a good Lisp API for this feature?
I suppose you could copy the API from CCL or SBCL, both of which are reasonably complete, and IIUC, portably implemented on both Windows and Unix at least for CCL. CMUCL and SCL have something similar, too - for good historical reasons. If it makes sense, I'd like also a :directory argument, but that's relatively secondary.
I don't know if it makes sense wrt the underlying JVM API, but another different approach would be to expose posix_spawn - except that its libc implementation seems somewhat broken, so obviously no one is using it too seriously. Libfixposix reimplements it and iolib uses it to build its create-process abstraction that I'm working on refining. I don't know how much sense this makes on Windows or on the JVM API, though. But if you're interested, you should discuss with me and/or Stelian as we're trying to settle on an API for IOLib.
I disrecommend the APIs from Allegro, CLISP, ECL, GCL, Lispworks, XCL.
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] The naturalistic fallacy: "if it's natural, it's good." The anti-naturalistic fallacy: "if it's natural, it's bad." The a-naturalistic fallacy: "nature has no relationship to good and bad."