Subject: Re: Lisp & SICP From: Erik Naggum <erik@naggum.no> Date: 2000/05/17 Newsgroups: comp.lang.lisp Message-ID: <3167576002217603@naggum.no> * "Harley Davis" <nospam_hdavis@nospam.museprime.com> | Unless you are writing very deeply nested functions and use a lot of | shadowed variable names, or unless you are passing around a lot of | functions as arguments, the functional position in Scheme | expressions is quite stable. I disagree. Reading Scheme code, I have to check for these things all the time -- especially if I have to do so in order to assess the programmer as "wise enough" to avoid the problem, _and_ he's aware of the vocabulary of "standard names" that I subscribe to. (Lacking a package system and a language useless without extensions, this is not the same, simple issue it is in Common Lisp.) Common Lisp has a simple rule that you can't modify the meaning of symbols in the Common Lisp package globally. This lets me sleep well and read code with confidence. With Scheme, I have no idea what anything means unless I have checked. That makes me nervous, and because it's so utterly pointless to push this and many other problems on me as a (potential) user, I have come to dislike Scheme. | My experience is that in practice this is not much of an issue, | because most programmers are wise enough not to rebind standard | names, but I have a bias for the multiple namespace system because I | agree that it is marginally clearer for the human to see an explicit | function call when using functional arguments or computed functions. Sometimes, the margins are all that keeps us from ... Never mind. :) #:Erik -- If this is not what you expected, please alter your expectations.