Assignment versus binding

Ben Bacarisse ben.usenet at bsb.me.uk
Tue Oct 4 08:27:36 EDT 2016


Marko Rauhamaa <marko at pacujo.net> writes:

> dieter <dieter at handshake.de>:
>> The concept "assignment" comes from an operational semantics based on
>> some form of "RAM" machine. Such a machine has storage cells where you
>> can assign values to which remain there until overridden with a new
>> value.
>>
>> The concept "binding" comes from a denotational semantics based on
>> some form of functions where parameter names are bound to values on
>> function "application" and do not change inside the function.
>
> I wonder if such pure-bred functional programming languages exist.

I'd put Haskell in that that class.

> Lisp,
> Scheme and Python don't belong to them, at least. Object-oriented
> programming is not really possible without assignment. Even Scheme's
> "letrec" appeals to assignment semantics.

Haskell defines let (it's version of multiple mutually recursive
bindings) in terms of the least fix point of a lambda function whose
(pattern) parameter binds the expressions in the definitions.

<snip>
-- 
Ben.



More information about the Python-list mailing list