Greetings, I stumbled upon a curious facility of Boot and SPAD this evening. I do not recall, nor can I find, a reference to this in the list archives or in any documentation. Please correct me if I am wrong.
The facility is w.r.t identifiers. An identifier such as FOO'BAR is interpreted as meaning the symbol BAR in the package FOO. Other identifiers, such as 'FOO or FOO' do not communicate such a meaning. The code which is responsible is the function GET-BOOT-IDENTIFIER-TOKEN defined in bootlex.lisp.pamphlet. Preliminary examination tells me that such identifiers are _not_ currently used in the extant Boot or Spad code. I will perform convincing tests once a local build cycle completes. My opinion is that this is unused cruft which has no discernible application. In fact, it theoretically results in the generation of non-portable code. For example, several popular Lisp implementations have introduced the notion of `package locks' to prevent against unintended alteration of package symbols. The identifier CL'FOO results in FOO being interned in the COMMON-LISP package, which would violate such a lock. There are other examples. I am curious if anyone has noticed this facility and/or sees a potential use for it. Sincerely, Steve _______________________________________________ Axiom-developer mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-developer
