[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Issue: REQUIRE-PATHNAME-DEFAULTS
- To: Masinter.pa@Xerox.COM
- Subject: Issue: REQUIRE-PATHNAME-DEFAULTS
- From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Thu, 22 Oct 87 21:51 EDT
- Cc: sandra%orion@cs.utah.edu, cl-cleanup@SAIL.STANFORD.EDU
- In-reply-to: <871022-173844-5825@Xerox>
- Line-fold: No
Date: 22 Oct 87 17:38 PDT
From: Masinter.pa@Xerox.COM
I certainly would like to see REQUIRE mean something, although I'm a
little uneasy about making it have such an operative rather than
semantic definition.
Be that as it may, I'm willing to report it out as endorsed.
At Symbolics we've had a lot of experience with this kind of thing on a
wide variety of file systems, and I don't think anything as simple as
this proposal will truly be portable across all systems. It can be
fairly difficult to construct module names that will work as expected as
file names on all the different file systems in the world. There are
length restrictions, character set restrictions, and upper case versus
lower case issues. Also the proposal codifies a fairly naive view of
how to use hierarchical file systems. Since the example in the proposal
shows that this can be implemented in 19 lines of code, I'd prefer a
proposal to remove REQUIRE from the language entirely (along with
PROVIDE), and let users who find this 19-line function adequate define
it themselves. Other users might define a different facility for
finding and loading programs.
However, since the proposal doesn't change the behavior of anything
unless you SETQ this new variable, the only way it makes Common Lisp
worse is if more people are misled into thinking that PROVIDE and
REQUIRE are going to do something useful for them. Thus if other
committee members feel that we ought to endorse this, I won't say
anything.
Also a quibble: in the example, (pathname module) should be
(pathname (string module)) so as not to interact with the
PATHNAME-SYMBOL issue.