Re: SRFI 170: 270 days John Cowan (06 Feb 2020 03:52 UTC)
Re: SRFI 170: 270 days Arthur A. Gleckler (06 Feb 2020 05:51 UTC)
CWD and other unresolved issues Lassi Kortela (07 Feb 2020 15:34 UTC)
Re: CWD and other unresolved issues John Cowan (07 Feb 2020 15:42 UTC)
Re: CWD and other unresolved issues Lassi Kortela (07 Feb 2020 15:47 UTC)
Re: CWD and other unresolved issues John Cowan (07 Feb 2020 18:04 UTC)
Re: CWD and other unresolved issues Arthur A. Gleckler (07 Feb 2020 18:48 UTC)
Re: CWD and other unresolved issues Per Bothner (07 Feb 2020 18:57 UTC)
(missing)
Re: CWD and other unresolved issues Per Bothner (08 Feb 2020 07:33 UTC)
Pathnames and URIs Lassi Kortela (08 Feb 2020 09:12 UTC)
Re: Pathnames and URIs Lassi Kortela (08 Feb 2020 09:20 UTC)
Re: CWD and other unresolved issues John Cowan (08 Feb 2020 18:58 UTC)
Pathname representations Lassi Kortela (07 Feb 2020 22:19 UTC)
Re: Pathname representations Per Bothner (07 Feb 2020 22:32 UTC)
Re: Pathname representations Arthur A. Gleckler (07 Feb 2020 22:36 UTC)
Re: Pathname representations Lassi Kortela (07 Feb 2020 22:50 UTC)
Re: Pathname representations John Cowan (08 Feb 2020 07:02 UTC)
Re: CWD and other unresolved issues John Cowan (07 Feb 2020 19:01 UTC)
Re: CWD and other unresolved issues Arthur A. Gleckler (07 Feb 2020 19:20 UTC)
Re: CWD and other unresolved issues Marc Feeley (07 Feb 2020 20:15 UTC)

Re: Pathname representations Lassi Kortela 07 Feb 2020 22:50 UTC

> It's important to define exactly what CWD means.  I can think of several
> different definitions:
>
>  1. what (current-working-directory) and the like return
>  2. the directory in which "foo" will be sought in (open-input-file "foo")
>  3. the initial OS-level working directory of a newly created
>     subprocess, regardless of the language the process is running
>
> All of these can be controlled the same way, but that's not strictly
> necessary.
>
> My inclination is that all three should be controlled by a thread-local
> parameter.

I agree. It would likely make it harder to reason about programs if the
three things are different, and hard to remember the details of the
differences. To me at least, it would seem the kind of gratuitous
abstraction leak that I go to Lisp/Scheme in order to avoid :)

This would imply that the subprocess spawn procedure sets the CWD of the
new subprocess to whatever the thread-local Scheme-level CWD was in the
thread that spawned it.