help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Working with constansts


From: Barry Margolin
Subject: Re: Working with constansts
Date: Sun, 10 May 2009 14:59:56 -0400
User-agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X)

In article <mailman.6953.1241976532.31690.help-gnu-emacs@gnu.org>,
 Richard Riley <rileyrgdev@googlemail.com> wrote:

> So really the question would be : why does Lisp not enforce constants
> being, err, constant? 

Because this would incur overhead on every assignment, as it would have 
to check whether the variable being assigned was declared as a constant.  
Since this is so rarely the case, this overhead could be seen as mostly 
wasted and unnecessary.

On the other hand, it would be nice if the byte compiler would warn 
about this.  Declaring a constant could put something in its property 
list, and the compiler could then warn if it sees assignments to the 
variable.

Some Common Lisp implementations get around the overhead problem by 
putting constants in a page of VM marked read-only, so a hardware trap 
is raised if an attempt is made to assign it.

-- 
Barry Margolin, barmar@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***
*** PLEASE don't copy me on replies, I'll read them in the group ***


reply via email to

[Prev in Thread] Current Thread [Next in Thread]