EDIT2: There are many ways to do this:
'Passing the value (read only) FUNC1 VAR("A") FUNC1 A 'same DEF FUNC1 V PRINT V V=3 'DOES NOT WORK END 'passing the name (only works with global variables) FUNC2 "A" DEF FUNC2 V$ PRINT VAR(V$) VAR(V$)=3 END 'input and output (works with anything) FUNC3 VAR("A") OUT VAR("A") FUNC3 A OUT A 'same VAR("A")=FUNC3(VAR("A")) 'same A=FUNC3(A) 'same DEF FUNC3 V_IN OUT V V=V_IN 'get value PRINT V V=3 END 'using arrays to cheat: '(arrays are passed as reference type always, so changing an array inside a function will change the real array, unlike with number variables) DIM A[1] FUNC4 VAR("A") FUNC4 A 'same DEF FUNC4 V[] PRINT V[0] V[0]=3 END