Values and objects

Rustom Mody rustompmody at gmail.com
Sun May 11 02:48:34 EDT 2014


On Sunday, May 11, 2014 11:51:59 AM UTC+5:30, Marko Rauhamaa wrote:
> Rustom Mody :
> 
> 
> 
> > On Saturday, May 10, 2014 2:39:31 PM UTC+5:30, Steven D'Aprano wrote:
> 
> >> 
> 
> >> Personally, I don't imagine that there ever could be a language where
> >> variables were first class values *exactly* the same as ints,
> >> strings, floats etc.
> >
> > [...]
> >
> > What you mean by *exactly* the same mean, I am not sure...
> 
> 
> 
> Lisp variables (symbols) are on an equal footing with other objects.
> IOW, lisp variables are objects in the heap.

But is a symbol a variable??
Sure, by providing a data-structure symbol, lisp provides one of 
the key building blocks for developing language processing systems.

However I would argue that a variable is not a merely a symbol (identifier
in more usual programming language-speak) but a relation between identifiers/symbols
and some 'rhs'

For an (interpreted?) language like python, rhs is naturally value/object
For a C like language it is memory.

[Just invoking the standard denotational semantics fare:
Env : Symbol → Value for interpreted languages
For 'compiled' languages
Env : Symbol → Location (at compile time)
Store : Location → Value  (at run time)



More information about the Python-list mailing list