RFC: Slots on operations, and bundle filenames

Robert Goldman rpgoldman at sift.net
Wed Jul 27 22:28:57 UTC 2016


Once upon a time in old ASDF, there was an idea that one might put slots
on operations.  IIRC, this worked oddly, at best, because it wasn't
clear how to propagate these slot values around in the plans that ASDF
built.

OTOH, we could really use the ability to add information to some of the
ASDF operations.  For example, now that we have an IMAGE-OP, we really
don't want the images hidden away in the .cache directory where they are
hard to find.

Justification: it's fine to have fasl files hidden away there, because
the fasls are loaded by ASDF:LOAD-OP based on computed fasl file
locations.  But if you want to load an image, you need to find that
image *before* you have ASDF -- even before you have lisp -- so an
invisible file, whose location is computed, is really inappropriate.

Note also that by Faré's design principle -- the one who knows should
specify -- this information cannot be somehow programmed into the system
-- it must be supplied by the user.

I'm inclined to think we could allow the user to set an output-file for
some of the bundle operations with a keyword argument to OPERATE, and
then jam the value of the keyword argument into the bundle-op for it to
be written.

This works, I think, because it's a trivial case.  If we try to put some
properties on an operation and need them to be propagated around the
plan, I think we just lose.

Comments?



More information about the asdf-devel mailing list