Subject: Re: Why is this code broken? From: Erik Naggum <erik@naggum.net> Date: Mon, 10 Jun 2002 12:19:34 GMT Newsgroups: comp.lang.lisp Message-ID: <3232700368298991@naggum.net> * Adam Warner | Paul my expectations are not on trial here. Yes, they are. | Tell me how many newbies to Lisp expect a variable assigment to | effectively create a constant. It is the value that is a constant, not the variable. You let the variable contain (a pointer to) a constant value. You may modify the variable as much as you want, but not (components of) the constant value. | It seems that this distinction has come about to assist compiler | optimisation. Only to you. | How does that create an intuitive expectation? Good intuition is a result of paying attention and thinking. Ignorant arrogance very seldom produces good intuition. | Python will [...] Sure, and smart people have figured this out. Comparing irrelevant comparends¹ benefits nobody, however. This is _not_ Python. | I would expect to quickly learn and understand how to fix the error if | the compiler signalled the error when it was made. Common Lisp is generally made for people who (want to) know what they are doing. It is not an _error_ to do what you have done. On the contrary, it may be the intended effect and it may be supported in the environment. ------- ¹ this should be a word. -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief. 70 percent of American adults do not understand the scientific process.