- complex numbers can be entered as 1i2 instead of the usual mathematics notation 1 + 2 i
- Hamilton's quaternions include the complex numbers, plus two
more square roots of -1, 1i2j3k4. Note that quaternions are not
commutative. Various choices are possible for quaternion
multiplication tables, with 2 in common use. In aplc there are two
possible, though the standard is now the default
- 0i1*0j1 <-> 0k1
- 0j1*0i1 <-> 0k-1
- Here's the default multiplication table:
0 1 0i1 0j1 0k1 1 1 0i1 0j1 0k1 0i1 0i1 -1 0k1 0j-1 0j1 0j1 0k-1 -1 0i1 0k1 0k1 0j1 0i-1 -1

- Cayley's octionions include the quaternions, plus four
more roots of -1, U,I,J,K. An octonion can be entered in much the same
way as quaternions: 1i2j3k4U5I6J7K8.
There are 480 possible octonion multiplication tables.
They are not even associative, as demonstrated below:
- 0I1*0J1*0K1 <-> 0U-1
- (0I1*0J1)*0K1 <-> 0U1

- Development Version. Added anonymous functions, functions as values. Allow system fns with user ops, and vice-versa. I've gotten tired of yacc/bison and have moved most of the parsing to hand written parser. Much easier, probably because APL isn't lalr or ... (maybe a packrat parser would be better?).
- Stable version (bug fixes):

Tim Budd's original code (.tar.Z)

Comments? swsirlinAtEarthlinkDotNet