Examples - basics

Ans (last answer)

Ans is useful to eliminate common subexpressions.
(3+4+5)/2; sqrt(ans*(ans-a)*(ans-b)*(ans-c))

Variables

Real numbers, complex numbers, fractions, vectors and matrices can be stored to variables. Names of variables are not case sensitive.
x=7.3e6; a_b=3/2; abc=4+2i; v1=(-1,8,5,-4); m=(7,9,-1\2,-6,11);

Base conversions

Operators dec, hex, bin, oct, baseX are used before a number or an expression. You must prepend 0 to numbers which start with a letter.
oct 75 *  bin1011 - dec 49E3 + hex(0a6f * 8ed E12) - base36(0jiz7 + 6zpq)

Angle units conversions

Operators deg, rad, grad are used after sin, cos, tan, exp.
Operators todeg, torad, tograd are used before asin, acos, atan, ln.
sin deg 60 - tan rad(pi/3) - sec grad 150 - cos 45;
180 - todeg(acos ans + asin 0.3) + todeg atan sqrt 3;
degtorad ans + pi/2 + torad imag ln(2+3i);
exp 60i + exp deg(45)i - exp(5+rad(ans)i)

Engineering symbols (mili, kilo, mega, giga, ...)

0.78m + 12k - 8.6M + 2G

Precedence (priority)

sin45^2;      /* = sin(45^2) */
sin(45)^2;    /* = (sin45)^2 */
ln2#3;        /* = ln(2#3) = ln(sqrt 3) */    
ln(2)#3;      /* = (ln2)#3 = 3^(1/ln2) */
3*10 nCr 7+2; /* = 3*(10 nCr 7)+2 */
5*2<<3+1;     /* = (5*2)<<(3+1) */
5|7 xor 4;    /* = 5 or (7 xor 4) */
(a=3,4);      /* = (3,4); a=3 */

Vectors and matrices

a=(6,-7,2.5,4);     /* row vector (list) */
b=(-1\9.2\3\-6);    /* column vector */
e=(7,0,-1\4,8,3);   /* matrix: 3 columns, 2 rows */
a[2]=3;             /* change the 3rd item */
a[2,3]=(2,-3);      /* change list range */
e[1][0]=5;          /* change matrix item in the 2nd row and the 1st column */
e[0]=(4,5,2);       /* change the 1st row */
e[][2]=(-3\1);      /* change the 3rd column */
e[0,1][1,2]=(8,-2\3,7);/* change submatrix */
c=a';               /* convert row to column */
d=b';               /* convert column to row */
(a,d);              /* concatenate (join) lists */
b\c;                /* concatenate column vectors */
listfor(i,5,8,i);   /* = (5, 6, 7, 8) */
rowsfor(i,0,3,i*2+5);/* = (5\ 7\ 9\ 11) */
rowsfor(i,2,3,listfor(j,3,5,i*j));/* = (6, 8, 10 \ 9, 12, 15) */