Document limitations, including implementation support.
authorFrancois-Rene Rideau <tunes@google.com>
Mon, 5 Nov 2012 02:45:17 +0000 (21:45 -0500)
committerFrancois-Rene Rideau <tunes@google.com>
Mon, 5 Nov 2012 02:45:17 +0000 (21:45 -0500)
README

diff --git a/README b/README
index 7949be5..91e406e 100644 (file)
--- a/README
+++ b/README
@@ -32,6 +32,31 @@ Example use of inferior-shell, from the rpm system:
                              ")-[^-]+(-[^-]+)?$")))))
    :host host))
 
+
+==== Limitations ====
+
+By default, inferior-shell uses xcvb-driver:run-program/
+as its universal execution backend, and has its limitations,
+which are as follows.
+
+Platforms supported inferior-shell at this time include:
+ABCL, Allegro, CLISP, ClozureCL, CMUCL, ECL, LispWorks, RMCL, SBCL, SCL, XCL.
+Platforms NOT supported (yet) include:
+CormanLisp (untested), GCL (untested), Genera (unimplemented), MKCL (untested).
+On supported platforms, inferior-shell works on both Unix and Windows.
+
+One current limitation is lack of support for arbitrary input redirection.
+The only possible input redirection is from /dev/null
+or by inheriting the parent's standard input
+when running in :interactive mode.
+
+Last but not least, inferior-shell only supports
+synchronous execution of sub-processes.
+For asynchronous execution, please use IOlib or executor.
+IOlib requires C compilation and linking, and may or may not support Windows.
+executor only supports select implementations.
+
+
 ==== Exported Functionality ====
 
 The inferior-shell library creates a package INFERIOR-SHELL,
@@ -110,13 +135,16 @@ RUN/LINES CMD &KEY ON-ERROR TIME SHOW HOST
   doesn't need a shell but has some limitations such as
   only supporting redirection of stdin, stdout, stderr).
 
+
 ==== THE PROCESS-SPEC MINI-LANGUAGE ====
 
-This library offers a SEXP syntax to specify processes and pipelines of processes
-in the manner of Unix shells, including support for file descriptor redirection.
-Process specifications can be printed to be executed by a local or remote shell,
-or directly executed by your Lisp implementation, depending on its capabilities
-and on the complexity of the pipeline.
+This library offers a SEXP syntax to specify processes
+and pipelines of processes in the manner of Unix shells,
+including support for file descriptor redirection.
+Process specifications can be printed,
+to be executed by a local or remote shell,
+or directly executed by your Lisp implementation,
+depending on its capabilities and on the complexity of the pipeline.
 
 SEXP mini-language