axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Boot/SPAD package syntax


From: Stephen Wilson
Subject: [Axiom-developer] Boot/SPAD package syntax
Date: 05 Jun 2007 01:24:36 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

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


  





reply via email to

[Prev in Thread] Current Thread [Next in Thread]