[asdf-devel] Tutorial ASDF(?)

Robert Goldman rpgoldman at sift.info
Fri May 20 14:07:45 UTC 2011


On 5/20/11 May 20 -8:25 AM, Ernst van Waning wrote:
> After some unplanned adventures asdf writes and reads fasls from
> implementation-specific directories.  It was simple and the code is in
> the manual: simply put
> 
> (:output-translations
>  (:root (:root :**/ :implementation-type :*.*.*))
>  :inherit-configuration)
> 
> in ~/.config/common-lisp/asdf-output-translations.conf
> 
> and it works like magic.
> 
> As :root is actually mentioned as magic in the manual, you can imagine
> how glad I am to have offered to contribute tutorial stuff :-)  I will
> go through the code to try to demystify it for myself and try to find
> the words to explain it.  Being a noob with configurations, maybe I
> should even try to explain this topic in the case of asdf.

One thing that I have seen my colleagues grapple with is the question
about how to do this programmatically, so that you can put the relevant
code in your common lisp init file (we have some reasons for preferring
this over the use of configuration files).  I believe that one can
discover how to do this, but it's a bit obscure --- the start of the
discussion focuses on placement of the various configuration files
(which directories they can live in), and my colleagues had trouble
figuring it out.  This may actually be primarily a function of the
lameness of the texinfo-generated links.  Because our nodes in the
manual are so big (they tend to be section-level, instead of
subsection), the link there to the "Configuration API" appears not to
work (at least in info mode).  In fact it /does/ work, but not in a
useful way --- because the Configuration API is in the same node,
clicking on the link does nothing.  :-(

Busting these up would not be a huge amount of work, but it's a chunk of
drudgery and has a hard time bubbling to the top of my todo list (let's
see:  paid work/volunteer work; interesting/mechanical drudgery ---
lives in the lowest-priority quadrant...).  I'll try to see that happen,
but the RealWork\tm is not leaving much time for this.

Perhaps having a FAQ entry giving an example of how to use the
configuration under the configuration API would be handy...
> 
> However, I have one question: what is the reason that these output
> translations are apparently not applied to the .asd files?  The way I
> understand my output-translations, I have globally specified that all
> fasls are in a implementation-specific directory just below my source
> files.  For me, .asd files are just source files, so why not place them
> where the other fasls are written?

Not sure I fully understand.  As you say, the .asd files are just source
files, and they are never compiled, so there is no need to do any output
translations for them.

I may not have fully followed the question....

Best,
r




More information about the asdf-devel mailing list