Faré wrote: > On Sun, Feb 23, 2014 at 10:33 PM, Robert Goldman <rpgold...@sift.net> wrote: >> Faré wrote: >>> On Sun, Feb 23, 2014 at 12:11 PM, Robert Goldman <rpgold...@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?