Toronto ToolKit - Current Work on Release 3 Richard Levine, Toronto Toolkit Editor June 8, 1994 The Toronto Toolkit is currently at Release 2.1. It is a collection of 150 APL "utility" functions developed by the Toronto APL SIG (Special Interest Group). It was released as freeware in computer-readable format in May 1992 and has been widely distributed and favourably reviewed within the APL community. It is also included at no charge with ISI (Sharp) APL (Iverson Software) and APL 68000 (MicroAPL). Currently the Toolkit comprises about 150K of functions, and about 350K of documentation. We are now working on Release 3 of the Toolkit. As Toolkit editor, I am actively soliciting contributions and enhancing functions in preparation for Release 3 of the Toolkit. We cannot give a precise release date because we intend to take whatever time is required to maintain the Toolkit's committment to and reputation for reliability, but we intend that when it is released, it will be great! For Release 3 we intend to strengthn the Toolkit in the following areas: (1) Many Toolkit functions enhanced and generalized. (2) Significant enhancements to functions in the programming tools category (e.g. reports for x-ref, calling trees, ws changes). (3) New toolkit categories such as prompting utilities, workspace "describe" utilities, APL-ASCII transliteration, etc. (4) More consistent arguments such as the consistent use of "control" values in the left argument, and the removal of global arguments in favour of explicit arguments. (5) Improved Naming Conventions. (6) Use of a simple method for copying (and removing!) Toolkit functions and subfunctions. (7) More sophisticated "packaging", and support of more APL systems. All this work follows the original Toolkit committment to the 1984 ISO (International Standards Organization) APL Standard N8485. Incidentally, even thought the Toolkit is written in ISO-standard APL, it can benefit from non-ISO-standard features of 2nd-gneration APLs. The Toolkit is based on a core of clearly defined subfunctions that may be re-defined using 2nd-generation primitives (such as string-search, character grade-up, cut conjunction for matrix creation, etc.) if so desired. Furthermore, the fact of conformity means that the Toolkit is executable on all APLs, and this has proved an immensely valuable feature for many users. "Packaging" of Release 3 One area being worked on is the "packaging" of Release 3. It is anticipated that Release 3 will be distributed in several workspace formats, one workspace for each APL system. Each workspace will contain the toolkit functions, and minimal supplementary documentation. It is currently anticated that we will provide workspaces in the following formats: Sharp APL (Iverson Software), APL-PLUS PC, APL-PLUS VERSION II, APL2/PC, Dyalog APL, and APL/68000. Interchange formats (WSIS0, APL-ASCII transliteration, and APL2 ATF) will be provided to help other vendors and users port the toolkit to their systems. The supplementary documentation will be in a separate directory of DOS files in APL-ASCII transliteration. Each workspace will contain (system- specific) functions to read DOS files, and translate from ASCII to APL internal format; also included will be ISO-standard functions to translate from ASCII transliteration to standard APL symbols. The anticipated advantages of this method will be to significantly reduce the size of the active Toolkit workspace, and to make the bulk of the documentation immediately available using any editor capable of reading .TXT (standard text) files. Contributions welcome If you would like to contribute utilities or ideas for Release 3, please contact the Toolkit editor at any time. You may reach him by phone at 416-781-4198. However, long-distance phone replies cannot be handled at this time. For two-way communication, it is probably more cost-effective to use e-mail c/o Internet address: richard.levine@canrem.com Or use post mail c/o: Toronto APL SIG, Attention: Toolkit Editor P.O.Box 384, Adelaide Street Station, Toronto, Ontario, Canada M5C 2J5 Take this opportunity to see your ideas incorporated into this very useful set of APL functions!