On Mon, Jul 7, 2008 at 10:48 PM, Aubrey Jaffer <xxxxxx@alum.mit.edu> wrote:
> Exactly my point; environ is useful for debugging. For that purpose
> it doesn't need to be precisely specified or mandated. For debugging,
> it would be just as useful if (environ) printed out the environment
> table rather than returning a Scheme structure [and more convenient to
> type than (for-each (lambda (pr) (write pr) (newline)) (getenv))].
> Consider the "room" function of Common-Lisp:
> http://www-2.cs.cmu.edu/Groups/AI/html/hyperspec/HyperSpec/Body/fun_room.html
It's always easier to go from a function that returns a
structured representation to one that just prints stuff than vice
versa. And I can imagine using a structured representation of
the entire environment, for instance if I wanted to create a
subprocess with a particular set of environment variables. What
is more, unlike the room function, there is a perfectly good
implementation-independent possible spec for what this function
should do, so there's really no reason not to specify it.
$0.02,
~Alexey