[LISPWORKS][Common Lisp HyperSpec (TM)] [Previous][Up][Next]


Issue REQUIRE-PATHNAME-DEFAULTS-AGAIN Writeup

Issue:        REQUIRE-PATHNAME-DEFAULTS-AGAIN

Forum: X3J13

References: PROVIDE, REQUIRE, *MODULES* (all on CLtL1 p188),

Issue REQUIRE-PATHNAME-DEFAULTS

Category: CHANGE

Edit history: 05-Feb-92, Version 1 by Pitman

Status: Approved by X3J13 on vote of 9-0-1 at December 1991 meeting

Problem Description:

REQUIRE, PROVIDE, and *MODULES* were flushed but are still used by many

Common Lisp programs. Many in the user community have expressed dismay.

Proposal (REQUIRE-PATHNAME-DEFAULTS-AGAIN:X3J13-DEC-91):

Return REQUIRE, PROVIDE, and *MODULES* to the language,

as described in CLtL1, except for the following changes:

1. Remove the second argument to REQUIRE.

2. Deprecate all three functions.

3. If any intervening cleanups have been passed and

would have referred to these functions (other than the cleanups

that removed them, of course), those cleanups would apply.

Rationale:

This diminishes the compatibility problems caused by previous votes.

1. The second argument is what was problematic, so remove only that.

2. All of these functions are questionable to some committee members,

but deprecation allows for a suitable transition period for people to

find something better.

3. We have said that the original CLtL1 wording is reinstated,

and we don't believe there are any cleanups which are in conflict,

but if one is later discovered to be in conflict, we want to give

precedence to the cleanup, not to CLtL1.

Test Case:

(PROVIDE '*MODULES*)

(REQUIRE '*MODULES*)

Current Practice:

No previously-conforming implementation could have had these functions.

Some implementations (e.g., Genera) were continuing to provide these

functions but in a different package.

Cost to Implementors:

Very small, and highly localized.

Cost to Users:

None.

Cost of Non-Adoption:

Many users who have expressed the opinion that removing these things was

gratuitous would continue to be upset.

Benefits:

Cost of non-adoption is avoided.

Editorial Impact:

A modular change of relatively small nature. Just whatever it takes to

dredge up the old text and dust it off for current editorial style, etc.,

make it conform to changes cited in the proposal.

Aesthetics:

Some users believe that PROVIDE and REQUIRE are aethetic.

Discussion:

None.


[Starting Points][Contents][Index][Symbols][Glossary][Issues]
Copyright 1996-2005, LispWorks Ltd. All rights reserved.