CLers, I saw a lot of ugly .asd files while addressing compatibility for ASDF 3.3, so here are "ASDF best practices" https://gitlab.common-lisp.net/asdf/asdf/blob/master/doc/best_practices.md …
-
-
Replying to @Ngnghm
First time I see lower case strings prescribed as canonical for system names. Where does this come from?
2 replies 0 retweets 0 likes -
Replying to @Ardubal
It comes from ASDF 1's (defun coerce-name (name) (typecase name ... (symbol (string-downcase (symbol-name name))) ...)
1 reply 0 retweets 0 likes -
Replying to @Ngnghm
OK. Was this also documented or specified? Do you know how other system definition facilities handled this before?
2 replies 0 retweets 0 likes -
Replying to @Ardubal
ASDF 1 has always downcased symbols. The manual documents it since 2.000. No style guide existed before to recommend use of canonical names.
1 reply 0 retweets 0 likes -
Replying to @Ngnghm
OK. In your survey, how prominent were the different styles of string designators for system names?
2 replies 0 retweets 0 likes -
Replying to @Ardubal
There were mostly (naked) symbols, but also (lower-case) strings, keywords, gensyms. And no consistency between definitions & references.
1 reply 0 retweets 0 likes -
Replying to @Ngnghm
Up to now, I generally used uninterned symbols for both systems and packages, and left any case conversion to whoever reads them...
1 reply 0 retweets 0 likes -
Replying to @Ardubal
For packages, I use keywords, and for lists of exported symbols in defpackage I use uninterned symbols. These help for portability to mlisp
2 replies 0 retweets 0 likes -
Why prefer keywords to uninterned symbols?
1 reply 0 retweets 0 likes
Sharing. Package names ARE going to be repeated by many clients. Symbol names will hopefully be used once, optimized away into strings.
-
-
You've got a point, hadn't thought about it that way
0 replies 0 retweets 0 likesThanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
Read my blog!