[cmucl-imp] Snapshot 2015-06

Stelian Ionescu sionescu at cddr.org
Fri Jun 12 13:52:31 UTC 2015


> On Thu, Jun 11, 2015 at 8:53 AM, Raymond Toy <toy.raymond at gmail.com>
> wrote:
> 
> > My assumption is that it exists so that execve or whatever can be
> > called with a new environment that can be easily manipulated from
> > lisp.
> >
> 
> Correct.
> 
> The CMUCL behavior of copying the environment into a native associative
> structure at start-up (and using that copy to seed the environment of new
> subprocesses) is very common.

You can have both, which IMO is the right thing wrt. to
backwards-compatibility with C programs.
With IOlib one can query the process-level environment or turn that into
an object, manipulate it and pass it to CREATE-PROCESS. See
https://github.com/sionescu/iolib/blob/master/src/os/os-unix.lisp#L10.
Additionally, since a C environment is an array of pointers, it's
probably still faster to query if speed is a concern.

-- 
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.
http://common-lisp.net/project/iolib


More information about the cmucl-imp mailing list