
see
CHARACTER for definitions 
text = "hello world" 
string variable = string constant 
c100 = Left // Right 
string concatenation appends Left to Right 
text(i: j) = string(3:) 
: text byte i to j = string byte 3 to end_string 
c1 =
CHAR( 65 ) 
same as c1 = 'A' 

compares a and b (both numeric, or both character) 
a < b 
less than (same as a.LT.b). 3 < 4 evaluates to 1 
a <= b 
less than or equal to (same as a.LE.b). "A" <= "a" evaluates to 1 (A precedes a in the ASCII collating sequence) 
a == b 
equal to (same as a.EQ.b). 14 == (3) evaluates to 1 (parenthesize unary subtraction) 
a /= b 
not equal to (same as a.NE.b). 3 * 4 > 5 evaluates to 1 (numeric has higher precedence than relational) 
a >= b 
greater than or equal to (same as a.GE.b). 3 >= 4  2 evaluates to 1 
a > b 
greater than (same as a.GT.b). 'a' > 'a' // 'A' evaluates to 0 (// has higher precedence than relational) 

0 is false, /=0 is true: 
true = 123.45 
any scalar value not equal to 0 is true 
maybe = y > 1 
maybe is set to 1 for y > 1, else it is 0 
(3 < 4) + 5 
→ 6 ( because 3 < 4 → 1) 
L1 + L2 
→ L1+L2 (false if 0) 
(L1>0) + (L2<0) 
, true if not 0 
(L1>0) * (L2<0) 
, true if not 0 
IF( x ) x = 1/x 
conditional
execution: division only for x not equal 0,
⇾ see also 

all numeric entities are 8 byte floating point 
3.1415 
constant 
pi = 3.1415 
defines a variable named pi 
pi =
ACOS(1) 
set pi to result of arccosine function 
(3 + pi) / 2 
parenthesis to force order of evaluation 
a = 1 
unary subtraction 
b = 1 + 2  3/4 
b is set to 2.25 
c = (2^2)**0.5 
^ and ** are identical operators 
i =
INT( pi ) 
== 3 (i is internally still 8byte floating point) 
L =
LEN("Hello") 
== 5 
: 
(from low:) relational → + and  → * and / → ^ or ** (to high)
2^3 / 4 * 3 + 0.5 > 6 is the same as
(((2^3) / 4 * 3) + 0.5) > 6 

⇾ array definitions 
vec(15) 
element 15 of the 1dimensional array vec. Index origin is 1. 
mtx(i,j) 
element row i, column j. This is element number (i1)*columns + j (storage is row by row). 
vec = (3.14, x, x+1, x^2,
SIN(x), ...) 
set vec to individual values starting with element 1 
mtx = 0 
all elements of mtx = 0 
vec =
$**2 
set vec = 1 4 9 16 25 ... 
vec = mod(
$,11)==1 
set vec = (1 0 0 0 0 0 0 0 0 0 1 0 0 ...) 
ALLOCATE(vec, 10, 10) 
set vec to a 10x10 
DLG(Edit = matrix) 
opens a spreadsheetlike dialog 
LINE(x=x_array, y=y_array) 
plot one array against another 
DIFFEQ(..., Y=vector) 
simultaneous 1st order differential equations 
INDEX( vector, 3.14 ) 
1st occurence of 3.14 in vector 
INTPOL(XV=x_vec, YV=y_array, x=3.27, ...) 
cubic interpolation 
READ(text='3.1 by 5.2 and 4 4 U') vector 
set vector = (3.1, 5.2, 4, 4) 
SOLVE(Matrix=A, Vector=B) 
solve linear equations 
SORT(Vector=A, Sorted=B) 
sort has many options 
WRITE(Name) vec 
outputs e.g.: vec(1)=1 vec(2)=3.141592654 vec(3)=2.302 