
evalassign - assignment with evaluation of the left side

Calling sequence:
evalassign(expr_1, expr_2, integer)

Parameter:
expr_1, expr_2   --   expressions
integer          --   non-negative integer

Summary:

evalassign

makes  it  possible  to  firstly  evaluate  an  expression  with  a  given
substitution depthand then to assign the result a new value. For this, expr_1
is firstly evaluated with the depth integer. The result must be an expression
permissable for the left side of an assignment.  Finally the value expr_2 is
completely evaluated and the result assigned to this left side.

The call evalassign(expr_1, expr_2, 0) is equivalent to the statement
expr_1 := expr_2.

>>  a:=b: evalassign(a, 100, 1): level(a, 1), b;

     b, 100

