On Fri, Mar 14, 2014 at 9:28 AM, Robert P. Goldman rpgoldman@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:
DO-DEFAULT-OPERATION-ON-SYSTEM to be shortened to DDO
[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