ASDF exports
Stig E Sandoe <[email protected]>
| Newsgroups | gmane.lisp.cclan.general |
|---|---|
| Message-ID | <[email protected]> |
hi,
I've been trying lately to let a documentation tool exploit
the information in an asdf-sysdef that's already there and
to extend a sysdef with additional info for tailouring how
a documentation generator should generate the docs for that
specific system. Some of the issues I've stumbled across:
a) several accessors for asdf-slots aren't exported, but
probably should be. Examples are:
SYSTEM-DESCRIPTION
LONG-DESCRIPTION
SYSTEM-AUTHOR
SYSTEM-MAINTAINER
SYSTEM-LICENCE
These provide ifnormation that a third-party app that can
reason about an asdf-system should be encouraged to use.
To avoid SLOT-UNBOUND mess, they probably should have an
:initform NIL as well.
b) To add more information to an asdf system I've mainly used
the :properties keyword which seems to be there to add extra
information, also for third-party apps using asdf. Using
COMPONENT-PROPERTY (which is exported) it can be used nicely
for keywords and other EQL info. The problem is that with
keywords you run into the same issues as with CL:*FEATURES*,
it is a flat namespace. By changing the :TEST to EQUAL it
is easier to use hierarchical properties, e.g lists of strings:
("3rd party app" "main setting" "sub setting") as keys for
properties without cluttering things for asdf's use of
properties or other apps use of properties.
So my suggestion is that COMPONENT-PROPERTY explicitly will
use an EQUAL test (argument to ASSOC) to access property keys,
allowing 3rd party apps more liberal use of keys and avoiding
cluttering each other.
An example is how I now use keys like:
("albert" "docbook" "bgcolor")
("albert" "docbook" "fontsize")
("albert" "html" "tablestyle")
...
Regards,
--
------------------------------------------------------------------
Stig Erik Sandoe [email protected] http://www.ii.uib.no/~stig/
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01