03/23/79 apl_vs_vsapl.extensions.info This document lists the features available in Multics APL that are not available in VS APL. Some of the features listed below are extensions to existing facilities and some are totally new features. This list is subject to revision. All of the language features described in the IBM publications "APL Language", GC26-3847-4, and "VS APL for CMS: Terminal User's Guide", SH20-9067-1, except as noted in apl_vs_vsapl.incompat.info, are available in Multics APL. The following new features are available: 1. Comments are no longer restricted to a line by themselves; they may appear to the right of any APL statement (even the function header). 2. Error messages may be printed in either short or long mode; the former is identical to VS APL, the latter explains the particular error more fully. 3. APL functions may call PL/I programs, and these PL/I programs may, in turn, call programs written in BASIC, COBOL, FORTRAN, or PL/I. To the APL function, the PL/I "external function" appears exactly like any other APL function. The external function may be niladic, monadic, or dyadic, may report errors, and may allocate return values in the same manner as any builtin APL operator. This facility allows easy communication between APL and programs written in other languages, and also allows heavily used APL functions to be coded in PL/I for utmost efficiency. 4. Multics APL supports EBCD, Correspondence, typewriter-paired APL/ASCII, bit-paired APL/ASCII, and full ASCII terminals. Multics APL is also fully usable over the ARPA Network, and from Multics absentee (batch). 5. A special subsystem interface is provided for projects which may wish to encapsulate their users entirely within the APL environment. 6. For compatibility with Multics typing conventions, the following APL graphics are used as the erase and kill characters: omega erases previous character or white space alpha kills everything on same line to its left On ASCII terminals, the normal Multics graphics for these functions, number sign and commercial-at sign, may also be used. 7. The Multics APL file system requires no knowledge of JCL or storage formats. All of the operations are easily performed through a complete set of system functions. 8. The grade operators have been extended to sort arrays, column by column. 9. The value of the integer tolerance, which specifies how close a floating point number must be to an integer to be considered exactly equal to that integer, is available through a system variable. (This value is similar to the comparison tolerance ("fuzz"), which specifies how close two numbers must be to be considered equal). 10. Multics APL utilizes the Multics virtual memory to allow almost arbitrarily large workspaces. Single values may contain over 130,000 elements. The entire workspace may grow to over 31 million bytes in the present implementation; and this limit is expandable. 11. In general, 1-element vectors, arrays, and higher-dimensional matrices may appear in any expression where a scalar is permitted. 12. Multics APL preserves the original typing style of the user in calculator mode and functions. Only comment lines and lines with labels are changed; as in VS APL, they are exdented one space. 13. Several new requests have been added to the APL function editor. The capability of searching and substituting by context has been added. The editor also performs a simple syntax check of the function before it is closed, catching many common typing mistakes, and allowing them to be corrected before leaving the editor. 14. The Multics APL character set is a compatible superset of ASCII; hence, character data can be easily and efficiently shared between APL and other Multics programming languages. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved