Subject: Re: Lisp & SICP
From: Erik Naggum <>
Date: 2000/05/16
Newsgroups: comp.lang.lisp
Message-ID: <>

* Eli Barzilay <>
| I'm perfectly aware of that - you said in the above that not having
| funcall makes the first position be unstable ==> in other words:
| having funcall (and seperate function/variable namespaces) makes the
| first position stable.
| I said that this argument is irrelevant since you can do with
| function bindings whatever you do with variable bindings (rebind
| globals, and have lexical bindings).

  Apparently, the issue here is whether it's "stable" or "stabler".  I
  don't tend to think in absolute terms in the first place, so it is a
  little foreign to me to have to distinguish the two, but it seems
  that the "irrelevance" is that there is a mechanism to reduce the
  stability of the first position even in real Lisps.  The _relevance_
  is to which degree this actually happens, and since we don't bind
  functional values all that often in Common Lisp, I stand by the
  "stable" argument, but if you want me to modify to "stabler", that
  makes absolutely no difference to me.

| So I think that the only thing that is "stable" is the fact that you
| have an explicit notation for playing with functions.  It looks like
| you say that this makes you happy because it is easier for you to
| read & write code that way.  If this is the case, then all further
| discussion is bound to be nothing more than a holy war: others will
| say that writing in Scheme gives you easier code capabilities
| _because_ of the uniform treatment of all positions (and it will
| definitely be a stupid idea to implement funcall in Scheme to prove
| any point).

  Look, here's the deal: I don't like Scheme, and I wanted to explain
  why in this particular context.  If this is how holy wars start, I'd
  venture that the propensity to want absolutes has much to do with it.

  It is unlikely that I will change my mind on Scheme, by the way.  It
  is a grand monument to a certain concept of language design, which I
  think sucks monumentally and should be left behind, but learned from
  if we can so we can avoid similar silly qstunts in the future.

  If this is not what you expected, please alter your expectations.