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