[asdf-devel] BUILD-OP

Robert P. Goldman rpgoldman at sift.info
Sun Mar 16 15:25:43 UTC 2014

Faré wrote:
>> > Well, but consider this hypothetical person who doesn't know what's
>> > going to happen and who isn't familiar with ASDF already.
>> >
>> > S/he types (asdf:make "foo") and *either* gets foo loaded into his/her
>> > lisp image or.... an executable file gets dropped onto his/her disk?
>> >
> Whichever makes sense for the given system, and that's the feature:
> the user doesn't have to know which newfangled operation the system is using,
> that will do the Right Thing™.
> Once again, the person who knows the Right Thing™ is the system author,
> so they get to specify the operation via :build-operation.
> The user calls (asdf:build "foo") or (asdf:make "foo"),
> and the Right Thing™ happens.
> The user justs want to use the system and gets it to do its thing.

I still don't follow this claim.  Consider my example again.  I'm the
user.  I don't know whether (MAKE "FOO-SYSTEM") is going to load
FOO-SYSTEM into my current lisp image or dump a standalone executable.

So I type (MAKE "FOO-SYSTEM").  In what sense do I know how to get it to
do its thing now?  I don't know whether I should be exiting lisp and
returning to the shell to invoke an executable, or whether I should be
calling some API functions.

I apologize if I seem dim, but I don't see how this hypothetical MAKE
function actually creates more simplicity than confusion.

The use case I *do* understand is one where, for example, the system
provider knows that to make the system usable I should *both* do
LOAD-SYSTEM *and* (OOS 'DOC-OP <SYSTEM>) because the system provider
knows that the system has a manual, which requires formatting; something
the user cannot be expected to know.

I'm not going to kick and scream too much about this since, as I said, I
don't think it's actively harmful.  But I am not ready to make the
end-to-end modifications to the ASDF manual required to substitute MAKE
for LOAD-SYSTEM, and I'm unconvinced that this is the Right Thing.

I will therefore leave this on the BUILD-OP topic branch until after the
next release.

More information about the asdf-devel mailing list