This caused every data cell of the virtual ram to be the same data cell,which is certainly not what you want for a virtual ram.
We should use id of at every place we don't explicitly want to call by reference.
Yeah sort of. I see what you're saying, and it's close enough, but technically it's all call by value. It's just that the value is a list, which is a thing, you know, even though it's a structured thing. Call by reference would mean that if you use a variable as the actual argument, and there's an assignment to the formal parameter in the procedure, it'd change the value of the variable in the caller. Isn't that right?