Subject: Re: A modest proposal (long) From: Erik Naggum <erik@naggum.no> Date: 2000/03/01 Newsgroups: comp.lang.lisp Message-ID: <3160942638240195@naggum.no> * Erann Gat | I see I have not made myself clear. I see no evidence of that. I think we have a fairly good understanding of your issue. all the silly syntax detracted from its delivery, but you've been clear enough. | We are already using a typographical convention to distinguish lexical | and special variables. We already know that we get into trouble when we | don't adhere to that convention. Why not move the burden of applying | that convention from the programmer to the compiler? because we would want to make our own conventions in code where it is safe to make them. and people don't _actually_ get into trouble in the first place, except the first few days they are confused about this. | I also wonder how many of you BIND haters are also LOOP haters. I am | really beginning to worry that people have lost sight of the fact that | an S-expression with just one level of parens is still an S-expression. no need to worry about that. I like loop, I don't if*, and I don't like your bind or any of the numerous other _gratuitous_ syntax-heavy ideas people seem to get with an alarming regularity whenever they see a need for some miniscule improvement to the language. it's as if they don't like simple syntax to begin with, and rush to solve any semantic issue with syntax. I find this disturbing, but nonetheless indicative of something much more important: the language changers don't really grok Common Lisp. | But symbol macros can only be established with lexical scope, so if | there is a symbol macro it must be lexically manifested. Global symbol | macros would be truly problematic. take a look at define-symbol-macro some day and weep, then. I love the fact that we have global symbol macros! I also love the fact that we have constants, which also causes pervasive differences in behavior, and there's no truly established convention for them. I happen to think that special variables is one of Common Lisp's truly great idea. what I want, in response to your "it's EVIL!" is a programmatic means to query the system for the status of a symbol. `describe' and friends help me as a user who gawks at the screen, but that is clearly insufficient. again, there is a need to change the language to make it more amenable to beginners and experienced users alike: unlike all other languages now in current and widespread use, Common Lisp violates the notion that what you see is what you get with respect to the _names_ of the symbols. if symbol-value is such a problem for beginners that it needs language-smith attention, wouldn't you be interested in solving a _real_ problem that would have far-reaching consequences for our interoperability with other languages, other textbooks, other people? it's not a question of case, it's a matter of making (setf (readtable-case *readtable*) :preserve) work the way people _actually_ expect it to. think about it. please. #:Erik