:rpg Going back to Fare’s argument that ASDF should properly separate decision making into what’s appropriate for the user of the library and the developer of the library, this seems clearly wrong: it implies that the developer of the library gets to choose to make a system that will behave wrong if the user of the library happens to configure ASDF using logical pathnames, a behavior that the ASDF docs claim is fine. Since it’s up to the user to decide how to configure the source registry, it is inappropriate for ASDF to encourage developers to publish libraries that will break if users make a configuration decision that we claim is acceptable.
Agreed, with a small caveat: if one is trying to publish a library usable by CLers in general, one should absolutely restrict oneself to lowercase names (or symbols, that will be downcased) containing only letters, numbers and dashes as allowed in logical-pathnames (CLHS says it's uppercase letters, and in practice, it's case-converted down in the system name, up in the logical pathname, down in the physical pathname) https://www.lispworks.com/documentation/HyperSpec/Body/19_ca.htm
On the other hand, if the system remains local only and is not published, then any string accepted by your implementation should do.
Probably, the nature of the constraint should be explained somewhere in the manual.
—♯ƒ • François-René Rideau • Chief Scientist, MuKn.com/fare “Not all Law is created equal before Man. Some Law causes least conflict and least perverse incentives. By definition we call it Natural Law.”