[asdf-devel] BUILD-OP

Faré fahree at gmail.com
Fri Mar 14 15:15:13 UTC 2014

On Fri, Mar 14, 2014 at 9:28 AM, Robert P. Goldman <rpgoldman at sift.info> wrote:
> Faré wrote:
>>> I get it, but now ASDF does more than one kind of build, including some
>>> > things (with the bundle-op) that look a lot more like what 'make' does
>>> > than what ASDF has done up to now.
>>> >
>> Indeed. On the other hand, you just acknowledged that all these things
>> are a kind of "build".
> I don't think there IS a single word that captures these two radically
> different things, so what's the advantage to papering over their
> differences by using a single word?
> I.e., I push a button, and it either loads a system into my running lisp
> image (possibly without building *anything*), or builds a stand-alone
> executable.  Why would I want a single button, or a single word, to use
> for both of these operations?
> I suppose the counter-argument is that there IS a thing those two
> operations have in common: each is the default operation for the
> corresponding system.
> That seems reasonable: the system author might want to create and
> deliver a system that is intended to be a standalone executable, and is
> never meant to be integrated into a running lisp image.
My theory is that we've been calling ASDF an "(in-image) build
system", so what it does is build stuff (in (the current) image).
Therefore, it is appropriate to call the main asdf verb BUILD or
BUILD-IN-IMAGE. Is BNM an OK shorthand for Build-iN-iMage ? ASDF:BNM
is in the natural keyboard line noise starting with B. Otherwise, BII
might do. Although, with POIU and maybe some future XCVB-like
extension, the in-image would become misleading — into-image might be
more correct, then.

I don't claim the work is perfect, just that it's the least bad
alternative I think of, with a valid justification.

ASDF:MAKE can be justified by the analogy with Unix make. In itself,
the name is just as good/bad and has the same casual language
connotations as build. However and has the disadvantage that we don't
call ASDF a make system or make replacement, and indeed, that we might
want to avoid the confusion with Unix make.

> In that case, maybe instead of trying to take a real English word that
> already has a meaning, we should take a short phrase that means exactly
> what we will do:
> to be shortened to
> [I don't like DoS or DDoS for obvious reasons! ;-)]
> I think DEFAULT-OP is a better name than BUILD-OP because it says what
> it means.
While semantically correct, that is quite ugly, and ultimately not
very helpful, because it fails to convey intent to someone who is not
familiar with ASDF already, and someone who is familiar doesn't need
to be reminded such thing. Also, the word "default" might be ambiguous
in this context: default if who/what/where didn't specify something?
The "default" is precisely about the system having (maybe) specified
something that is not the default *load-system-operation* — so the
name, while precisely correct in some context, only raises ambiguity
in other important contexts.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Down to Gehenna or up to the Throne,
He travels the fastest who travels alone. — Rudyard Kipling

More information about the asdf-devel mailing list