ASDF Best Practices

Mark Evenson evenson at panix.com
Sat Apr 1 05:54:13 UTC 2017



On 4/1/17 06:27, Faré wrote:
> I've started an ASDF Best Practices document as a response to all the
> ugly stuff I saw while debugging backward incompatibilities introduced
> by ASDF 3.3. It is currently in my plan branch:
> 
> https://gitlab.common-lisp.net/asdf/asdf/blob/plan/doc/best_practices.md

Very cool, and a needed resource to get some idea of the state of Faré's
brain.

One thing I learned from reading this document is that my use of symbols
to name and refer to ASDF systems is probably wrong, as it contradicts
the best practice of using strings for system identity.  I like using
symbols because

(asdf:defsystem democracry
   :depends-on (civil-society press/freedom)
…

looks much less cluttered than

(asdf:defsystem "capitalism"
   :depends-on ("profit/increasing" "internal-contradictions")
…

While I can see problems stemming from what package the "democracry"
symbol gets interned within, I assume that ASDF:DEFSYSTEM goes to great
lengths to ensure that it is processed in a reasonable manner to guard
against such problems, therefore system designators as symbols should be
more or less the same as system designators as strings.  Using strings
as system designators seems to work fine with asdf-3.2.0.

Just to be clear, could someone please illuminate my understanding here
a bit:  why are strings a better practice than symbols here?



-- 
"A screaming comes across the sky.  It has happened before, but there
is nothing to compare to it now."



More information about the asdf-devel mailing list