Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.freenet.de!news.rwth-aachen.de!fu-berlin.de!uni-berlin.de!ip210-55-214-179.ip.win.co.NZ!not-for-mail From: Adam Warner Newsgroups: comp.lang.lisp Subject: Re: Why learn Lisp Date: Wed, 28 Aug 2002 10:30:33 +1200 Lines: 34 Message-ID: References: <86lm6s91b5.fsf@gondolin.local.net> <3239467778955852@naggum.no> NNTP-Posting-Host: ip210-55-214-179.ip.win.co.nz (210.55.214.179) Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: fu-berlin.de 1030487437 52796026 210.55.214.179 (16 [105510]) X-Orig-Path: not-for-mail User-Agent: Pan/0.11.2 (Unix) X-Comment-To: "Erik Naggum" Erik Naggum wrote: > * Adam Warner > | Scratch that. A large and more satisfying simplification would be the > | original text being associated with any individual symbol name the > first | time it is met by the reader (perhaps until the associated text > is | explicitly destroyed). > > What would happen to (defstruct foo ...)? Would you have MAKE-foo or > make-foo? Nothing different because the information would only be available to someone who requested it by calling the new function designed to retrieve the original string info. That's why it shouldn't affect any existing code. > I have spent many hours working on various ways to make a > case-preserving, lower-case Common Lisp work according to the > standard, but I find myself stumped by macros that generate symbols by > "concatenating" input symbols with symbols of its own making. I have > come to believe that this should be avoided at all cost, including > writing out the symbols created by defstruct in full. You see, what I > want is for `intern´ and `symbol-name´ to use lower-case symbol names > when I throw a switch, but if I also want a case- preserving reader, > what comes out of defstruct is probably MAKE-foo. To make this work, > macros that call intern need to capture the state of the flag that > modifies how `intern´ and friends work so that they would do the right > thing as the macro writer intended when it was compiled. This is > pretty messy, so I have not taken then idea any further. This is a much more ambitious idea Erik. I hope it pays off. Regards, Adam