[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
R5RS meeting at Xerox PARC
From: Norman Adams <norman@parc.xerox.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.
VICINITY
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.
(program-vicinity) procedure
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.
(library-vicinity) procedure
Returns the vicinity of the shared Scheme library.
(implementation-vicinity) procedure
Returns the vicinity of the underlying Scheme implementation. This
vicinity will likely contain startup code and messages and a compiler.
(user-vicinity) procedure
Returns the vicinity of the current directory of the user. On most
systems this is "".
(scheme-file-suffix) procedure
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>.