Bugs

Many. Perhaps competitive with Central American rain forests.

FOR/NEXT loops with integer indices require a variable in the NEXT statement. Integer arrays can only have a dimension of one and will only work in assignment (LET) statements. All arithmetic on integer variables is done using floating point arithmetic. DIM AS DOUBLE and DIM AS INTEGER statements are ignored.

Many string functions (except +, MID$, LEN and INSTR) silently truncate their results to 254 characters (e.g. without warning). All string function may silently truncate strings longer than 32766 characters. Any operation on strings longer than 254 characters will cause the program to run slower.

Comments starting with ' sometimes can't be used after statements that can end with a string parameter. ( :' should always work.)

Any variables used as a CLASS, or TYPE, globally overide all local variables of the same names. Local TYPE'd variables must be declared globally as TYPE'd variables. Named SUBroutines are slower than GOSUBs. The combined length of a SUBroutine name and any local variables declared STATIC must be less than 29 characters. Class object syntax is obscure, particularily for method subroutines in arrays of objects - such constructs may not be possible.

Can't CONTinue from an error inside a named SUB subroutine.

The PRINT USING format string doesn't recognize commas, underscores and many other common format characters.

Macintosh screen editing will only recognise the last line modified before a RETURN or ENTER key. The EDIT command and Mac screen editing are incompatible.

There are many undocumented graphics and sprite commands and keywords in the Macintosh port. See the accompanying README and Chipmunk Basic quick-reference file.