[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issue: REQUIRE-PATHNAME-DEFAULTS (Version 3)



>     The REQUIRE function tests whether a module is already present
>     (using a case-sensitive comparison); if the module is not present,
>     REQUIRE signals a correctable error of type REQUIRE-ERROR.
>     This gives the user the opportunity to load the appropriate files
>     from the debugger before continuing.

Is this saying that it is not appropriate for the system to load the
necessary files automatically if it knows how?  I agree that there is no
hope of trying to standardize on something like DEFSYSTEM, but it should
be possible (and encouraged) that REQUIRE be a standard interface to
load a group of files that has been specified in some
implementation-dependent way.  Signalling a correctable error for the
user to do something is appropriate if no definition of the module is
available.

I liked the specification of the interaction between LOAD and PROVIDE
that was included in version 2 but has been removed from version 3.  I
think that JonL's objections to a "lying PROVIDE" might be satisfied by
clarifying that the temporary behavior relates only to the relation
between PROVIDE and REQUIRE, and the user-visible *MODULES* list is not
actually updated until LOAD reaches the end of the file containing the
PROVIDE.

If this approach is not adopted, the the proposal needs to specify
instead a change to the specification currently on pages 189 and 191 of
CLtL to say that PROVIDE should be at the end of the file instead of the
beginning.