Subject: Re: Why learn Lisp From: Erik Naggum <email@example.com> Date: 27 Aug 2002 20:09:38 +0000 Newsgroups: comp.lang.lisp Message-ID: <firstname.lastname@example.org> * 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? 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. | The idea would seem to require the string information for each unique | symbol to be retained forever (unless explicitly destroyed). Why do you think this is not how things work today? -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.