[asdf-devel] BUILD-OP

Faré fahree at gmail.com
Thu Mar 13 23:11:52 UTC 2014

On Thu, Mar 13, 2014 at 4:24 PM, Robert P. Goldman <rpgoldman at sift.info> wrote:
> For the record, it's not that I'm objecting to the build-operation idea.
>  I'm sorry if you got that idea, and felt that you had to spend a lot of
> time convincing me!
> My concern was a much more limited one: that the word "build" doesn't
> properly convey what is going to happen.
Well, ASDF itself has long been described as a build system or build tool
(including in our ILC 2010 article), just like make, ant, etc.
See also Wikipedia pages for each of these.
What do these programs do? They build.
I don't love the word, but I don't know a better one.

> I believe that the operation is "prepare the direct object system for me
> to use it."
Here are some suggestion:

prepare (shorthand: p)
update (shorthand: u)
build (shorthand: b)
build-and-update (shorthand: bu)
build-and-maintain (shorthand: bnm, or |bnm,|, which perfectly fits
the asdf keyboard pattern)
build-operation or build-op (shorthand: bo, or bop)
default-operation (shorthand: do, shadowing cl:do, or dop)
operate 'build-op (shorthand: op, or ob)
operate-default (shorthand: od)
ok (shorthand: o)
(shorthand: ecibaucifc)

If we pick the latter, we have utterly failed the user.
Actually, I already have failed the user by naming the function build-system,
which is too long a name, and deceiving because it's not just for systems:
you can (build-system '("system" "module" "component")) to build a
targetted component.
Since obviously no one is using it yet, I propose we remove it from 3.1.

> I don't think "build" is the right word for this, but I am happy to see
> some sort of "do the default operation," as long as we can come up with
> a name that conveys the meaning to the user.
> I think "build" in its normal sense has a connotation much closer to the
> things that bundle-op or save-image-op would do.
I don't think it's right, only that it's the rightest available so far.

PS: here is a second patch on top of the former one, that makes string
designators for operations, so that :build-operation "foo::op" works.
Added a suitable test for defsystem-depends-on to the test suite.
Without this feature, build-op is much less useful.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
The Party will yield power when and only when it is in the best interest of
its members. Don't fight the Party: buy It with the profits of Liberty.

More information about the asdf-devel mailing list