Subject: Re: Separation in function and value cells (was Re: newbie: please don't smash my case) From: Erik Naggum <erik@naggum.net> Date: 2000/07/09 Newsgroups: comp.lang.lisp Message-ID: <3172156073583918@naggum.net> * Kalle Olavi Niemitalo | Please explain what you mean with that. How can it be any clearer? Scheme decided to conflate the function and variable namespaces, and approximately 50 milliseconds later, began whining about Common Lisp's lack of hygienic macros (Scheme people are always whining about something in Common Lisp), simply because a variable binding in Scheme screws up function calls, so an unintentional variable binding colliding with a local function will make Scheme code using non-hygienic macros very unsafe. Scheme code uses local functions a lot more than Common Lisp, so you'd think they'd realize the need to separate the namesaces is even stronger than in Common Lisp, but noooo, "separate namespaces is stupid" so they'd rather suffer the complicating consequences of their decision than fix it. | Common Lisp has its separate namespaces, and even there macros | commonly use gensym so as not to accidentally use variables of their | callers. That's _so_ irrelevant. Common Lisp macros don't use fresh symbols in order to avoid accidentally clobbering the functional value of the symbols it uses. Scheme's hysterical need for hygiene comes from the very significant danger of clobbering _functional_ values. (That's why you see Scheme code us silly variable names likt "lst" instead of "list", too -- in case you want to call `list', it'd better not be some arbitrary list of data.) | How does this differ from Scheme's hygienic macros? It doesn't, of course, but if you look only for similarities to what you already know, you will find very little of interest in your life. Human beings don't have any problems with the noun "house" naming a very different concept than the _verb_ "house". Anyone who argued that "no, no, you can't call your building a `house' because that's already a verb" should just be shot to help him out of his misery. #:Erik -- If this is not what you expected, please alter your expectations.