maintaining non-Lisp systems with ASDF

Faré fahree at gmail.com
Thu Sep 17 22:11:38 UTC 2015


This section of the manual, and the surrounding chapter, may help:
https://common-lisp.net/project/asdf/asdf/Creating-new-operations.html#Creating-new-operations

You basically need to define a new component :maxima-file, :maxima, or
whatever the name.

If it produces a Lisp file that then gets compiled to FASL, make it a
subclass of cl-source-file indeed, and add a process-op or such to
create the lisp file from the maxima source (see how
cffi-grovel:grovel-file does it).

Otherwise, make it a subclass of source-file (or then again, possibly
cl-source-file, if it produces FASLs),
and define methods for compile-op and load-op on it.

Do NOT for whatever reason clobber any existing function (unless they
have bugs indeed, in which case, submit a patch) — there lies madness
(I should know, we were doing that at ITA before I bit the bullet and
became ASDF maintainer). Define new classes and use ad hoc
polymorphism as designed to specialize the behavior of the software.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Guns & bullets don't kill people — blood loss and organ damage kills people.



More information about the asdf-devel mailing list