Instructor:
When do we read and when write to a memory location?
var x:Int = 0
x
x = x + 1
int x = 5;int y = 6;int *p = &x;int *q = &y;int **r = &p;r = &q;q = p;**r = 7;
val x = 5val l = List(1, 2)val (a, b) = (1, 2)val y :: z :: Nil = l
int x = 5;int y = 6;int *p = &(x + y); /* not allowed */(x + y) = 7; /* not allowed */
(x + y)
arr[n + 2] = 7;
obj.f1 = 7
L-values
&x
val x = 5val y :: tail = List(1, 2, 3)
arr[1+2]
R-values
1
x+y