Greg Pfeil wrote:
Here are a couple changes to ASDF that I made in the process of creating an ASDF browser for CCL's IDE:
• system-source-file now works for systems without their own .asd • optional parts of systems (version, maintainer, etc.) don't leave their slots unbound
The first of these looks good, but I'm less fond of the second change. I've been bitten repeatedly by bugs caused by initforms that caused slots not explicitly set to have some value that hides a mistaken failure to fill the slot.
I'd rather have us handle slot-unbound on those optional parts of the system instead of stuffing a bunch of NILs in there.
If one is expecting strings here one must still handle checking for NIL, so having to check for slot-boundp doesn't seem that much more onerous.
On a related topic, I'd be inclined, more for documentation than efficiency, to stick :type string on a bunch of these. Of course, if I'm wrong about the above, this would have to be (or null string)....
best, R