the rights and source code for Apple's Macintosh version of BASIC. Applesoft was designed to be backwards-compatible with Integer BASIC and uses the core of Microsoft's 6502 BASIC implementation, which includes using the GET command for detecting key presses and not requiring any spaces on program lines. While Applesoft BASIC is slower than Integer BASIC, it has many features that the older BASIC lacks: Atomic strings: A string is no longer an array of characters (as in Integer BASIC and C); it is instead a garbage-collected object (as in Scheme and Java). This allows for string arrays; creates an array of eleven string variables numbered 0–10. Multidimensional arrays (numbers or strings) Single-precision floating-point variables with an 8-bit exponent and a 31-bit significand and improved math capabilities, including trigonometry and logarithmic functions Commands for high-resolution graphics DATA statements, with READ and RESTORE commands, for representing numerical and string values in quantity CHR$, STR$, and VAL functions for converting between string and numeric types (both languages did have the ASC function) User-defined functions: simple one-line functions written in BASIC, with a single parameter Error-trapping: allowing BASIC programs to handle unexpected errors via subroutine written in BASIC Conversely, Applesoft lacks the MOD (remainder) operator from Integer BASIC. Adapting BASIC for the Apple II was a tedious job as Apple received a source listing for Microsoft 6502 BASIC which proved to be buggy and also required the addition of Integer BASIC commands. Since Apple had no 6502 assembler on hand, the development team was forced to send the source code over the phone lines to Call Computer, an outfit that offered compiler services. This was an extremely tedious, slow process and after Call Computer lost the source code due to an equipment malfunction, one of the programmers, Cliff Huston, used his own IMSAI 8080 computer to cross assemble the BASIC source. Features Applesoft is similar to Commodore's BASIC 2.0 aside from features inherited from Integer BASIC. There are a few minor differences such as Applesoft's lack of bitwise operators; otherwise most BASIC programs that do not use hardware-dependent features will run on both BASICs. The statement redirects output to an expansion card, and redirects input from an expansion card. The slot number of the card is specified after the or within the statement. The computer locks-up if there is no card present in the slot. restores output to the 40 column screen and to