On Thu, May 9, 2019 at 11:04 AM Per Bothner <xxxxxx@bothner.com> wrote:
 
I'm not convinced that direct Scheme access to low-level integer file descriptors and fork are
useful to standardize.

It is better to standardize higher-level APIs. For example Kawa has a flexible high-level process API:
https://www.gnu.org/software/kawa/Processes.html

I'm okay with standardizing a facade here when what underlies it is bad (like termio), but in general I'd rather standardize a low-level API so that high-level APIs (also definitely in scope) can be mostly portable rather than non-portable.  This would include things like a high-level directory API that caches the full path and file-info (stat) information lazily as it goes, a popen-ish API, and so on.

I realize that this approach won't work for JVM and CLR Schemes, but they are free to implement the higher-level stuff over what they have, and throw exceptions when low-level operations are done.  (That said, I note that there is a drop-in version of the Python "os" module for Jython at <https://sourceforge.net/projects/jnios/> which uses JNI.)


John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
We call nothing profound that is not wittily expressed.
        --Northrop Frye (improved)