[Tutor] beginning to code
On Sun, 24 Sep 2017 12:37 pm, Bill wrote:
>> For example, if I made "Pass-By-Reference Python" where all argument passing
>> was done by reference, my language would differ from real Python:
>> function(x, y) # allowed
>> function(namespace.x, module.y) # allowed
>> function(x + 1, 2) # FORBIDDEN: can't pass expressions or constants
> This would be okay as long as x + 1 evaluates to an object, no?
Not in Pascal, no.
(Pascal pre-dated objects, but by the 80s there were various forms of Pascal
Pascal requires that the actual argument passed to the var parameter be an
actual variable, not a constant or expression. Technically, it must be
a "L-value", something which can appear on the left hand side of an assignment
and therefore something that has an address.
?Cheer up,? they said, ?things could be worse.? So I cheered up, and sure
enough, things got worse.