[asdf-devel] Re: Another grammar question

Robert Goldman rpgoldman at sift.net
Mon Feb 24 14:32:17 UTC 2014

Faré wrote:
> On Sun, Feb 23, 2014 at 10:33 PM, Robert Goldman <rpgoldman at sift.net> wrote:
>> Faré wrote:
>>> On Sun, Feb 23, 2014 at 12:11 PM, Robert Goldman <rpgoldman at sift.net> wrote:
>>>> The :REQUIRE directive seems undocumented.
>>>> Under what circumstances is it acceptable?
>>> If I remember the intent and interpret the source code correctly,
>>> it is always acceptable, but highly non-portable, and is thus better
>>> guarded by a
>>> (:feature :sbcl (:require :sb-posix))
>>> or
>>> (:feature :ecl (:require :sockets))
>>> or some such.
>>> The result being that your component depends on a system that when
>>> loaded calls (require name).
>> I see.  We had done something like that, but by having a pseudo-system type called REQUIRE-SYSTEM, and setting it up to use REQUIRE for (PERFORM LOAD-OP SYSTEM)....
>> I have a documentation patch that describes REQUIRE now.  Should push it soon.
> REQUIRE-SYSTEM is actually used underneath by the :REQUIRE syntax,
> unless the implementation provides the system through a regular ASDF
> system (which SBCL used to do until they took my ASDF3 patch).
> —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
> Judge and party — the ultimate nature of a monopoly government.

So I believe what happens is that use of :REQUIRE triggers the automatic generation of a REQUIRE-SYSTEM for the corresponding module, and then its loading, when necessary, is handled by REQUIRE. Yes?

More information about the asdf-devel mailing list