What about this?

TYPE Array = ARRAY 2 OF INTEGER;
VAR a, b: POINTER TO Array;

b^ := a^; (* value copy *)
b := a; (* pointer copy *) 

2006/6/19, Rex Couture <rex@levee.wustl.edu>:

VAR
       a, b: POINTER TO ARRAY OF INTEGER;
       x, y: ARRAY 2 OF INTEGER;

NEW( a, 2); NEW( b, 2); 
a[1]:= 1;  b[1]:= 2;
x[1]:= 1;  y[1]:= 2;

b:= a;
y:= x; (* not an equivalent statement *)

}tent-Type: mult