[asdf-devel] SOURCE-FILE-TYPE

Robert P. Goldman rpgoldman at sift.info
Sat Mar 22 21:25:16 UTC 2014

I have a note from you requesting that I mark SOURCE-FILE-TYPE as
deprecated in code and documentation.

I'm not sure I fully understand.

The code in component.lisp still uses this, and it's not obvious how to
remove it (nor what it means that it can return :DIRECTORY).

I *believe* that what you mean is that SOURCE-FILE-TYPE will stay, but
that outsiders should no longer make methods on it: instead they should
use the :FILE-TYPE slot on FILE-COMPONENT.  But maybe not; see my point
3 below.

Some follow up:

1.  This comment: "
;; SOURCE-FILE-TYPE below is strictly for backward-compatibility with ASDF1.
;; We ought to be able to extract this from the component alone with

That's out of date, right?  Should refer to extract this from
FILE-COMPONENTs along with FILE-TYPE, correct?

2.  Why is FILE-TYPE an ACCESSOR instead of a READER?  Should anyone be
setting this, except as an INITARG?

3.  What is the return type of SOURCE-FILE-TYPE, and in particular why
does it not return an error when applied to a PARENT-COMPONENT?  I think
it's because it's not being used only as a FILE type, but is being used
as a TYPE argument for ASDF's pathname functions, which have a more
expansive notion of :type.  I suppose maybe this means that
SOURCE-FILE-type is a misnomer, and that's one of the reasons it should die.

I'm working my way through the ASDF manual, end-to-end.  I will probably
commit a marked up PDF to the repo pretty soon, so anyone who is
interested can see where I'm going.


More information about the asdf-devel mailing list