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

Re: Dynamic variables



    I find it bothersome that something called a "variable" can be the
    result of an evaluation.

In some terminologies, the procedure CONS returns a pair of two variables;
that is, the word ``variable'' is synonymous with ``location''.  I don't
particularly subscribe to that point of view, however.

Perhaps ``dynamic variable'' is a misnomer.  Consider the environment and
store:

	env: (1) --> (2)
	store (2) --> (3)

I think that it's reasonably well-established that (2) is the set of
``locations'' and (3) is the set of ``values''.  In lexical environments,
(1) is usually referred to as the set of ``identifiers''.  One possibility
therefore is to change the specification to say that MAKE-DYNAMIC returns a
``dynamic identifier''.  This doesn't quite sound right to me, though.  How
about ``dynamic names''?  I guess I don't really care what these frobs are
called.

My main concerns are that shared-memory multiprocessors are not
discriminated against and that the semantics of the rest of the language
not change dramatically with the addition of dynamic binding.  The BASH
proposal grew out of my only idea satisfying these two concerns.

	Pavel