1 03/23/79  apl_vs_vsapl.extensions.info
 2 
 3 
 4      This document  lists the  features  available in Multics APL
 5 that are not  available in VS  APL.  Some of  the features listed
 6 below are extensions to  existing facilities and some are totally
 7 new features.  This list is subject to revision.
 8 
 9      All  of  the   language   features   described  in  the  IBM
10 publications  "APL Language",  GC26-3847-4,  and "VS APL for CMS:
11 Terminal   User's  Guide",   SH20-9067-1,   except  as  noted  in
12 apl_vs_vsapl.incompat.info, are available in Multics APL.
13 
14      The following new features are available:
15 
16 1.  Comments are  no longer  restricted to a  line by themselves;
17     they may appear to  the right of any  APL statement (even the
18     function header).
19 
20 2.  Error messages may  be printed in  either short or long mode;
21     the former is  identical to  VS APL, the  latter explains the
22     particular error more fully.
23 
24 3.  APL functions may call PL/I programs, and these PL/I programs
25     may, in turn, call programs written in BASIC, COBOL, FORTRAN,
26     or PL/I.  To the  APL function, the  PL/I "external function"
27     appears  exactly like any  other APL  function.  The external
28     function may  be  niladic,  monadic,  or  dyadic, may  report
29     errors, and may allocate  return values in the same manner as
30     any  builtin  APL   operator.   This   facility  allows  easy
31     communication  between APL  and  programs  written  in  other
32     languages, and  also allows heavily  used APL functions to be
33     coded in PL/I for utmost efficiency.
34 
35 4.  Multics APL supports EBCD,  Correspondence, typewriter-paired
36     APL/ASCII,  bit-paired  APL/ASCII, and full  ASCII terminals.
37     Multics APL is  also fully usable over  the ARPA Network, and
38     from Multics absentee (batch).
39 
40 5.  A special subsystem interface  is provided for projects which
41     may wish to  encapsulate their users  entirely within the APL
42     environment.
43 
44 6.  For  compatibility  with   Multics  typing  conventions,  the
45     following  APL  graphics  are  used as  the  erase  and  kill
46     characters:
47          omega     erases previous character or white space
48          alpha     kills everything on same line to its left
49     On ASCII  terminals,  the normal  Multics  graphics for these
50     functions,  number sign and  commercial-at  sign, may also be
51     used.
52 
53 7.  The Multics APL  file system requires  no knowledge of JCL or
54     storage formats.  All of the  operations are easily performed
55     through a complete set of system functions.
56 
57 8.  The grade operators have been extended to sort arrays, column
58     by column.
59 
60 9.  The value of the integer tolerance, which specifies how close
61     a  floating  point  number   must be  to  an  integer  to  be
62     considered  exactly  equal to   that  integer,  is  available
63     through a  system  variable.   (This value is  similar to the
64     comparison tolerance  ("fuzz"), which specifies how close two
65     numbers must be to be considered equal).
66 
67 10. Multics  APL  utilizes the  Multics  virtual  memory to allow
68     almost  arbitrarily  large  workspaces.   Single  values  may
69     contain over 130,000 elements.  The entire workspace may grow
70     to over 31 million bytes in  the present implementation;  and
71     this limit is expandable.
72 
73 11. In general, 1-element vectors, arrays, and higher-dimensional
74     matrices may  appear  in any  expression  where a  scalar  is
75     permitted.
76 
77 12. Multics APL  preserves the original  typing style of the user
78     in  calculator mode  and  functions.  Only  comment lines and
79     lines  with  labels  are  changed;  as  in VS  APL,  they are
80     exdented one space.
81 
82 13. Several  new  requests have  been  added to the  APL function
83     editor.   The  capability of  searching and  substituting  by
84     context has  been added.   The editor also  performs a simple
85     syntax check  of the  function before it is  closed, catching
86     many  common   typing  mistakes,  and   allowing  them to  be
87     corrected before leaving the editor.
88 
89 
90 14. The  Multics APL  character set is  a  compatible superset of
91     ASCII; hence,  character  data can be  easily and efficiently
92     shared between APL and other Multics programming languages.