[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
R5RS meeting at Xerox PARC
From: Norman Adams <email@example.com>
Date: Wed, 6 May 1992 21:55:30 PDT
If anyone has suggestions for the agenda, please post them.
Here is the spec for vicinities as used in SLIB. (program-vicinity),
(library-vicinity), (implementation-vicinity), and
(scheme-file-suffix) could well be syntax instead of proceures since
they are static data.
A vicinity is a descriptor for a place in the file system. Vicinities
hide from the programmer the concepts of host, volume, directory, and
version. Vicinities express only the concept of a file environment
where a file name can be resolved to a file in a system independent
manner. Vicinities can even be used on `flat' file systems (which
have no directory structure) by having the vicinity express
constraints on the file name. On most systems a vicinity would be a
string. All of these procedures are file system dependent.
(make-vicinity <pathname>) procedure
Returns the vicinity of <pathname> for use by in-vicinity.
Returns the vicinity of the currently loading Scheme code. For an
interpreter this would be the directory containing source code. For a
compiled system (with multiple files) this would be the directory
where the object or executable files are. If no file is currently
loading it the result is undefined.
Returns the vicinity of the shared Scheme library.
Returns the vicinity of the underlying Scheme implementation. This
vicinity will likely contain startup code and messages and a compiler.
Returns the vicinity of the current directory of the user. On most
systems this is "".
Returns the default filename suffix for scheme source files. On most
systems this is ".scm".
(in-vicinity <vicinity> <filename>) procedure
(in-vicinity <vicinity> <filename> <suffix>) procedure
Returns a filename suitable for use by load, open-input-file,
open-output-file, etc. The returned filename is <filename>, with
optional <suffix> appended, in <vicinity>. In-vicinity should allow
<filename> to override <vicinity> when <filename> is an absolute
pathname and <vicinity> is equal to the value of (user-vicinity). The
behavior of in-vicinity when <filename> is absolute and <vicinity> is
not equal to the value of (user-vicinity) is unspecified. For most
systems in-vicinity can be string-append.
(sub-vicinity <vicinity> <name>) procedure
Returns the vicinity of <vicinity> restricted to <name>. This is used
for large systems where names of files in subsystems could conflict.
On systems with directory structure sub-vicinity will return a
pathname of the subdirectory <name> of <vicinity>.