10.3. Assign of the reference

New operator :=@ is used with the following syntax:

<lVar> := @<rVar>

It assigns <rVar> variable to the <lVar> variable by reference, i.e. <lVar> becomes a reference to (synonym of) <rVar>. <rVar> can be of any data type, including function reference. For example:

a := "a"
b := @a
? a,b        // "a","a"
b := "b"
? a,b        // "b","b"
b := @NIL    // remove reference
f := @func()
? eval(f)    // "Hello!"

static function func
return "Hello!"