Indeed, a somewhat magical intern would IMO be the easiest way to implement many things people request. Like

  foo:bar == bar:foo

Instead of having two symbols be "the same" in some strange way, simply make the one intern as the other.


 -- nikodemus

Sent from my tablet, sorry about top-posting.

On Sunday, September 16, 2012, Philipp Marek wrote:
>> For example, I would like CL:defun to be the same as CL:DEFUN, but
>> C++:std.cout to be different than C++:STD.COUT -- all with a single
>> reader.  So all symbols in CL will be upcased, and all symbols in C++ will
>> be preserved.
> No, because the symbol characters are normally upcased at read-time.  So we can't handle
> case-folding/preserving behavior in INTERN, for example.
Well, if the reader preserves the character-case, INTERN might well choose to do
STRING-UPCASE (or whatever's been defined) for a given package.

In fact, that might simply be a package option :before-interning - with #'STRING-UPCASE
as default. With a case-preserving reader that would give (nearly) the same behaviour as
currently, but would allow that feature, too.

Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:;258768047;13503038;j?
Sbcl-devel mailing list


 -- Nikodemus