jdelgado
unread,Aug 20, 2009, 4:16:15 AM8/20/09Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to flibug
Hi all,
As we were discussing yesterday, the distinction between dynamic (or
special) and static (or lexical) has been a source of interesting
inventions in the world of lisp-like languages.
I mentioned that I read somewhere that there was a lisp that had
dynamic variables when interpreted and static variables when compiled,
so that interpreted programs had to be modified in order to be
compiled. Well, I found the source of that memory.
In "The New UCI Lisp Manual" (James R. Meehan, Lawrence Erlbaum
Assoc., 1979) there is the following description: "Interpreted
Variables - All variables in interpreted functions and SPECIAL
variables in compiled functions, store their values in the following
way (...)". Thus, there is a default behaviour when interpreted and a
SPECIAL behavior when compiled. So, unless your variables behave
exactly the same way either being dynamic or static (which is possible
with a, let's say, "careful" programming) you should declare SPECIAL
variables in the compiled function not tagged in any way in the same
interpreted function.
I guess it is not as simple as having dynamic variables when
interpreted and static variables when compiled, but it is a funny
headache for programmers...
BTW, this manual is not on-line (AFAIK). So, if anyone is interested I
can lend the book.
Bests,
Jordi