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


    But seriously, I'm not sure what "explicitly" means.  The user has
    to evaluate some Lisp expression involving the module name?  What
    if the underlying operating system provides some similar concept,
    is the Lisp allowed to use it or would it still have to force the
    user to retype it in the Lisp?  How about a search-path-based
    mechanims: is it ok if the user evaluates some Lisp expression
    specifying a search path but not mentioning the module name
    explicitly?  How about a default search path?  Is that allowed, or
    must it start out empty regardless of local cultural conventions?

This is a good examples of why most of us gave up on a portable
REQUIRE that loads files.

    What about vendor-provided modules?  Can we continue to tell our
    users to say (require 'quickdraw) and have that work in the
    off-the-shelf product, or would they have to take some additional
    explicit action to allow this to work?
If REQUIRE is removed from the standard language you can continue to
provide it as an implementation extension and tell your users anything
you want.  This would seem to be ideal for your example: "quickdraw"
sounds like an archtypical non-portable vendor provided module.  If
I'm going to use it, I don't care that the construct which obtains it
is non-standard.  (As I understand the status of other proposals, your
REQUIRE would have to be in a package other than LISP, but since the
default user package could use your extensions package, there would be
no visible change for most users.)