Subject: Re: A modest proposal (long)
From: Erik Naggum <erik@naggum.no>
Date: 2000/03/01
Newsgroups: comp.lang.lisp
Message-ID: <3160870773012596@naggum.no>

* Erann Gat
| *You* might not have DEFVARed X, but how do you know that Joe didn't?

  it seems to me that this the fundamental question.  the answer lies in
  the implementation's excellence in implementing the function `describe'
  and any other environment-querying functions.

  however, there _is_ something we can and should do: add explicit support
  for retrieving this important piece of information about a symbol, apart
  from the rather obvious user interface issues like querying the system
  when at a symbol name in Emacs.  the compiler and the interpreter could
  also be asked to produce warnings about special variables for those who
  need them.  (I'd favor declaring variables special locally as a nice way
  to document the known special effects and also silence such warnings.)

  removing special variables because they confuse a few people is a typical
  "modern" reaction to the lack of diligence and effort that "modern" users
  are no longer expected to expend in learning anything.  this is simply a
  beginner's issue.  Common Lisp used to cater to experienced programmers
  at the cost of having to learn it, like a _skill_, something people of
  reasonable competence levels would _value_.  such is of course terribly
  politically incorrect in this day and age, where blathering idiots get to
  vote as many times as they can by virtue of forgetting the question and
  anyone with any experience at all is considered prejudiced by virtue of
  not answering all questions up for vote with a blank stare.

  I vote that Common Lisp remain a language that needs to be learned and
  studied, and instead focus our attention on stuff that actually affects
  users of all categories much more than this trifling issue, like being
  compatible with the notion in languages with which we would like to
  communicate of what constitutes a symbol name: the actual, literal
  sequence of characters (dollar signs included), not some case-mangled
  version of same.

  I also vote that somebody write "the complete idiot's guide to special
  variables" instead of proposing silly language changes.

| $x == (symbol-value 'x)

  I think "Common Perl" would be a good name for your modified language,
  with syntax in macros and equal signs and all.  yuck.

#:Erik