# this procedure makes a specific table, and returns its NAME # NAMES in Maple represent an object (or variable) in Maple. TableT:=proc() local T: T[1]:=2: T[2]:=3: T: end: # Maple will output: A:=T # `A` on the LHS is an object of type NAME and it is assigned the NAME of the table our procedure name A:=TableT(); # Maple evaluates A[2] as T[2] and so it outputs 3 A[2]; # This outputs T A; # How does op interact with names? # Answer: op unpacks what the name is referencing. op(A); # Try: op(TableT); # notice that TableT is the NAME of the procedure. # Another example of how op works: # it "evaluates" the name given. B:=5; op(B); # B is a NAME for 5