home *** CD-ROM | disk | FTP | other *** search
/ ftp.uni-stuttgart.de/pub/systems/acorn/ / Acorn.tar / Acorn / acornet / dev / j.spk / !J / Docs / Status < prev   
Text File  |  1991-10-25  |  27KB  |  780 lines

  1. Copyright (c) 1989 1990, Roger K.W. Hui & K.E. Iverson
  2. Copyright (c) 1990 1991, Iverson Software Inc.
  3. All Rights Reserved.
  4.  
  5.  
  6. J Implementation Status (Version 3.4)
  7.  
  8. Roger Hui
  9. 1991 7 15
  10.  
  11.  
  12. NYA means not yet available
  13.  
  14. Verbs:
  15.  
  16.   =               self-classify         equal
  17.   <               box                   less than
  18.   <.              floor                 lesser of (min)
  19.   <:              decrement             less or equal
  20.   >               open                  larger than
  21.   >.              ceiling               larger of (max)
  22.   >:              increment             larger or equal
  23.   _:          NYA infinity          NYA infinity
  24.   +               conjugate             plus
  25.   +.                                    or/gcd
  26.   +:              double                nor
  27.   *               signum                times
  28.   *.                                    and/lcm
  29.   *:              square                nand
  30.   -               negate                minus
  31.   -.              not                   less
  32.   -:              halve                 match
  33.   %               reciprocal            divide
  34.   %.              matrix inverse        matrix divide
  35.   %:              square root           root
  36.   ^               exponential           power
  37.   ^.              natural log           log
  38.   $               shape of              shape
  39.   ~.              nub
  40.   ~:              nub sieve             not equal
  41.   |               magnitude             residue
  42.   |.              reverse (shift)       rotate (shift)
  43.   |:              transpose             transpose
  44.   ,               ravel                 append
  45.   ,.              ravel items           append items
  46.   ,:              itemize               laminate
  47.   ;               raze                  link
  48.   ;:              words
  49.   #               tally                 copy
  50.   #.              base-2 value          base
  51.   #:              binary rep.           anti-base
  52.   !               factorial             out of
  53.   /:              grade up              sort up
  54.   \:              grade down            sort down
  55.   [               same                  left
  56.   ]               same                  right
  57.   {               catalog               from
  58.   {.              head                  take
  59.   }.              behead                drop
  60.   ".              do (execute)          do left if error (cond. execute)
  61.   ":              format                format
  62.   ?               roll                  deal
  63.   A.              atomic rep.           atom permute
  64.   c.          NYA characteristic    NYA characteristic
  65.   C.              permute/cycle         permute
  66.   e.              raze in               in
  67.   E.                                NYA search
  68.   i.              integers              index of
  69.   o.              pi times              circle
  70.   p.          NYA polynomial        NYA polynomial
  71.   0:              zero                  zero
  72.   1:              one                   one
  73.  
  74.  
  75.  
  76. Adverbs:
  77.  
  78.   m~              evoke                 evoke
  79.   v~              both                  cross
  80.   v/              insert                table
  81.   v/.             oblique               key
  82.   v\              prefix                infix
  83.   v\.             suffix                outfix
  84.   m}              merge                 merge
  85.   v}              merge                 merge
  86.   b.              boolean               boolean
  87.   f.              fix                   fix
  88.  
  89.  
  90.  
  91. Conjunctions:
  92.  
  93.   u^:n            power                 chain
  94.   u^:v            power                 chain
  95.   u .v            determinant           inner product
  96.   m : n           defn                  defn
  97.   m : 1           adverb
  98.   m : 2                                 conjunction
  99.   m : 11          tacit                 tacit
  100.   m : v           defn                  defn
  101.   u : n           defn                  defn
  102.   u : v           defn                  defn
  103.   u :.v           obverse               obverse
  104.   v;.n            cut                   cut (NYA: v;.3 and v;._3)
  105.   u!.n            fit                   fit
  106.   m!:n            foreign               foreign
  107.   [.              lev                   lev
  108.   ].              dex                   dex
  109.   m"n             rank                  rank
  110.   m"v             rank                  rank
  111.   u"n             rank                  rank
  112.   u"v             rank                  rank
  113.   u`v             gerund
  114.   g`:0            append                append
  115.   g`:1            until                 until
  116.   g`:3            insert
  117.   g`:4            recursion
  118.   g`:5                                  selection
  119.   u@v             atop                  atop
  120.   g@.v            agenda                agenda
  121.   u@:v            at                    at
  122.   n&v             with
  123.   u&n             with
  124.   u&v             compose               compose
  125.   u&.v            under                 under
  126.   u&:n            appose                appose
  127.  
  128.  
  129.  
  130. Phrasal Forms:
  131.  
  132.   (u v)           hook
  133.   (u v w)         fork
  134.   n c             adverb
  135.   v c             adverb
  136.   c n             adverb
  137.   c v             adverb
  138.  
  139.  
  140.  
  141. Nouns:
  142.  
  143.   a.              alphabet
  144.   _           NYA infinity
  145.   __          NYA negative infinity
  146.   _.          NYA indeterminate
  147.  
  148.  
  149.  
  150. Pronouns:
  151.  
  152.   $.              suite
  153.   $:              self reference
  154.   x.              first  argument
  155.   y.              second argument
  156.   xyz)            label
  157.   xyz:            given names
  158.  
  159.  
  160.  
  161. Copulae:
  162.  
  163.   name=.value     local  assignment
  164.   name=:value     global assignment
  165.   noun=.value     indirect local  assignment
  166.   noun=:value     indirect global assignment
  167.  
  168.  
  169.  
  170. System Limits:
  171.  
  172.   Array rank             <: 127
  173.   Comparison tolerance   <: 2^_34
  174.   Object size            <  65536 bytes  [PC only]
  175.   Workspace size         <  640 Kbytes   [PC only]
  176.  
  177.  
  178.  
  179. The !: Conjunction:
  180.  
  181.   The !: conjunction currently takes integer scalar left and right
  182.   arguments, and derives verbs.  (One exception:  5!:0 is an adverb.)
  183.   These verbs behave like other verbs; in particular, they have intrinsic
  184.   ranks, may be assigned names, and may serve as arguments to adverbs and
  185.   conjunctions.  Where these verbs take names as arguments (file names,
  186.   WS names, or object names), the names are always boxed, and the verb
  187.   rank is 0.
  188.  
  189.   As with all other verbs, verbs derived from !: requires one or two
  190.   arguments.  Some verbs have no "natural" arguments, but an argument
  191.   must nevertheless be supplied (and will be ignored in execution).
  192.   For example,
  193.        timestamp =. 6!:0
  194.        6!:0 ''
  195.     1991 6 6 10 50 23
  196.  
  197.  
  198.   0!:0      Host System Command
  199.               The string argument is forwarded to the host system for
  200.               execution, and the result is returned as a string with
  201.               embedded new-lines.  For example: 0!:0 'dir *.exe'
  202.  
  203.   0!:1      Spawn
  204.               0!:1 forwards its string argument to the host system for
  205.               execution, like 0!:0, but the output (if any) is ignored.
  206.               For example, 0!:1 can be used to invoke the vi editor
  207.               on UNIX systems.
  208.  
  209.   1!:0      Directory            NYA
  210.  
  211.   1!:1      File Read
  212.               The argument is a boxed file name; the result is a string
  213.               of the file contents.  For example, 1!:1 <'dir\subdir\file.ext'
  214.               The file name follows the conventions of the host system.
  215.               The argument may also be the integer 1, meaning read from
  216.               the keyboard.
  217.  
  218.   1!:2      File Write
  219.               xyz 1!:2 <':folder1:folder2:file'  writes string xyz to the
  220.               specified file.  The right argument may also be the integer 2,
  221.               meaning write to the screen.
  222.  
  223.   1!:3      File Append
  224.               string 1!:3 <'disk:folder1:folder2:file'
  225.  
  226.   1!:4      File Size
  227.               1!:4 'dir/file1';'file2';'phile3'
  228.  
  229.   1!:11     Indexed File Read
  230.               The argument is a 2-element list of boxes: a file name and
  231.               a 2-element integer list of the index and length.  For example,
  232.               1!:11 'test';5 20  reads 20 bytes from file "test", starting
  233.               from position 5.  The index may be negative (the last byte of
  234.               the file is index _1).  The length may be elided, whence the
  235.               file is read from the index to the end of the file.
  236.  
  237.   1!:12     Indexed File Write
  238.               The right argument is a 2-element list of boxes: a file name
  239.               and an integer index.  For example,  xyz 1!:12 'test';14
  240.               writes (string) xyz to file "test", starting at position 14.
  241.               The index may be negative (the last byte of the file is index
  242.               _1).  The positions to be written must already exist in the
  243.               file (and the file must already exist).
  244.  
  245.   1!:55     File Erase
  246.               1!:55 <'careful'
  247.  
  248.   2!:0      WS Name Class
  249.               The integer result is the name class (see 4!:0) of the object
  250.               named in the boxed left argument, in the workspace named in
  251.               the boxed right argument.  In the following example, the
  252.               result of the last sentence is 2 3 4.
  253.                 wsnc =. 2!:0
  254.                 save =. 2!:2
  255.                 noun =. i.3 4
  256.                 adv  =. /
  257.                 save <'wsname'
  258.                 ('noun'; 'save'; 'adv') wsnc <'wsname'
  259.  
  260.   2!:1      WS Name List
  261.               The sorted list of all names in the workspace named in the
  262.               boxed right argument.
  263.  
  264.   2!:2      WS Save
  265.               Monad.  Save all global definitions into the workspace named
  266.               in the boxed right argument.  The workspace is created if it
  267.               does not already exist (and is overwritten if it already
  268.               exists).
  269.  
  270.               Dyad.  Save the global definition of the object named in the
  271.               boxed left argument into the workspace named in the boxed
  272.               right argument.  If the object already exists in the saved
  273.               workspace, it is overwritten; other objects in the saved
  274.               workspace are unaltered.  The workspace is created if
  275.               it does not already exist.
  276.  
  277.               Workspaces are currently in WSIS format (see 5!:3), but may
  278.               use a different format in future J versions.  The workspace name
  279.               follows the file naming rules of the host system, and it'd be a
  280.               good idea to devise your own naming convention to distinguish
  281.               workspaces from other files.
  282.  
  283.   2!:3      WS PSave             NYA
  284.               "Protective" Save:  like Save, but the monad does not modify
  285.               an existing workspace, and the dyad does not overwrite objects
  286.               already in the saved workspace.
  287.  
  288.   2!:4      WS Copy
  289.               Copy the object named in the boxed left argument from the
  290.               saved workspace named in the boxed right argument, and define
  291.               it as a global object.  If the left argument is elided, all
  292.               objects in the saved workspace are copied.
  293.  
  294.               Like all verbs, Copy applies to the argument cells in random
  295.               order, so that if an object is copied from more than one
  296.               workspace, the definition of the object could be from any of
  297.               the workspaces.
  298.  
  299.   2!:5      WS PCopy
  300.               "Protective" Copy:  like Copy, but does not overwrite objects
  301.               already defined.
  302.  
  303.   2!:55     WS Erase
  304.               Erase the object named in the boxed left argument, from the
  305.               workspace named in the boxed right argument.
  306.  
  307.   3!:0      Internal Type
  308.               The internal "type" of a noun, where
  309.               1  boolean
  310.               2  literal
  311.               4  integer
  312.               8  floating point
  313.               16 complex
  314.               32 boxed
  315.  
  316.   3!:1      Convert to   Internal Representation
  317.               A string of the internal representation of a noun.  The result
  318.               is machine-dependent and may change in future J versions.
  319.  
  320.   3!:2      Convert from Internal Representation
  321.               Inverse of 3!:1, but nouns of type "boxed" will not be created.
  322.  
  323.   4!:0      Name Class
  324.               The argument is a boxed name; the result is its class:
  325.               0  undefined, but valid name
  326.               1  (not used)
  327.               2  noun
  328.               3  verb
  329.               4  adverb
  330.               5  conjunction
  331.               6  other
  332.  
  333.   4!:1      Name List
  334.               The argument is a subset of the integers from 2 to 5
  335.               (see 4!:0).  The result is a list of boxed names belonging to
  336.               the class(es) specified in the argument.  The optional left
  337.               argument are initial letters of the names of interest.
  338.  
  339.   4!:55     Erase
  340.               The object named in the boxed argument is erased.
  341.  
  342.   5!:0      Fix
  343.               5!:0 is an adverb which defines an object from its atomic,
  344.               display, or string representations. For example,
  345.  
  346.                    fx =. 5!:0
  347.                    ar =. 5!:1
  348.                    ((ar <'a') fx) -: a =. i. 3 4
  349.                 1
  350.                    plus =. +
  351.                    $$ ar <'plus'
  352.                 0
  353.                    2 ((ar <'plus') fx) 4 5
  354.                 6 7
  355.  
  356.               If the argument is a boxed list of boxes, it is assumed to be
  357.               an atomic representation (a result of 5!:1).
  358.  
  359.               NYA  If the argument is a list of boxes, it is assumed to be a
  360.               display representation (a result of 5!:2).
  361.  
  362.               If the argument is a string, it is assumed to be a catenation
  363.               of string representations (results of 5!:3).  The objects are
  364.               defined, names embedded in the representation are assigned
  365.               as a side effect, and the result of 5!:0 is the last
  366.               represented object.
  367.  
  368.   5!:1      Atomic Representation
  369.               The argument is a boxed name; the result is a boxed list of
  370.               two boxes uniquely representing the named object:
  371.  
  372.               noun:         id  value
  373.               verb:         id  operator arguments
  374.               adverb:       id  operator arguments
  375.               conjunction:  id  operator arguments
  376.  
  377.               If an object is uniquely identified by the id alone (for example
  378.               "a." or "+" or "/."), then the second field is elided, and the
  379.               atomic representation is the id alone.
  380.  
  381.               Gerunds (results of the ` conjunction) are arrays of atomic
  382.               representations.  5!:0 defines an object from its atomic
  383.               representation.  Atomic representations are sometimes called
  384.               "canonical" or "boxed" representations.
  385.  
  386.   5!:2      Display Representation
  387.               The argument is a boxed name; the result is the display
  388.               representation of the named object.  5!:0 defines an object
  389.               from its display representation.  (Different objects can have
  390.               the same display representation, so 5!:0 is only a partial
  391.               inverse.)
  392.                    f =. +/ . *
  393.                    f
  394.                 +-----+-+-+
  395.                 |+-+-+|.|*|
  396.                 ||+|/|| | |
  397.                 |+-+-+| | |
  398.                 +-----+-+-+
  399.                    each =. &. >
  400.                    (5!:2 <'f') -: (, each '+/') ; each '.*'
  401.                 1
  402.  
  403.   5!:3      String Representation
  404.               The argument is a boxed name; the result is a string of the
  405.               WSIS (Workspace Interchange Standard) representation of the
  406.               named object.  (See APL Quote-Quad, 1977 12; and SATN 22,
  407.               IPSA.)  5!:0 defines an object from its string representation.
  408.               The result of 5!:3 is a string, the catenation of the
  409.               following parts:
  410.  
  411.               length    Digits representing the length of the string
  412.                         representation (excluding the length itself).
  413.  
  414.               type      One or two letters denoting the type of object
  415.                           c   literal (character) array
  416.                           n   numeric array
  417.                           xb  boxed array
  418.                           xv  verb
  419.                           xa  adverb
  420.                           xc  conjunction
  421.                         The string representation of a verb, adverb, or
  422.                         conjunction is the string representation of its
  423.                         opened atomic representation (the open of the
  424.                         result computed by 5!:0).
  425.  
  426.               name      The name of the object, or "-" if anonymous.
  427.  
  428.               blank     A single blank.
  429.  
  430.               rank      Digits representing the rank.
  431.  
  432.               blank     A single blank.
  433.  
  434.               shape     Digits and blanks representing the shape.  Each
  435.                         number in the shape is terminated by a blank.
  436.  
  437.               elements  The ravelled elements.  For a character or numeric
  438.                         array, this is the display form of the ravelled
  439.                         array; for a boxed array (hence for a verb, adverb,
  440.                         or conjunction), the elements themselves are
  441.                         recursively string representations.  5!:3 is subject
  442.                         to the fit conjunction &:, i.e. 5!:3&:d has d digits
  443.                         in the computed display form.
  444.  
  445.               With the possible exception of elements of literal arrays, the
  446.               string representation contains only ASCII characters in the
  447.               range 32 to 126 inclusive.
  448.  
  449.   6!:0      Time-Stamp
  450.               The current time as a 6-element list: year, month, day, hour,
  451.               minute, and second (including any fraction thereof).
  452.  
  453.   6!:1      Time since session start
  454.  
  455.   6!:2      Time required to execute an expression
  456.               6!:2 '+/i.100'
  457.  
  458.   6!:3      Delay
  459.               (6!:3) 60 [ 'sleep for a minute'
  460.  
  461.   7!:0      Space currently in use
  462.  
  463.   7!:1      Space used since session start
  464.  
  465.   7!:2      Space required to execute an expression
  466.  
  467.   8!:0      (PC only) Query CGA mode
  468.               (8!:0 ''){'non-CGA mode'; 'CGA mode'
  469.  
  470.   8!:1      (PC only) Set   CGA mode
  471.               (8!:1) 0 [ 'set non-CGA mode'
  472.               (8!:1) 1 [ 'set CGA mode'
  473.  
  474.   8!:4      (PC only) Query screen attributes
  475.  
  476.   8!:5      (PC only) Set   screen attributes
  477.               The argument is a 4 by 2 matrix of integer values between 0 to
  478.               15 inclusive.  Attribute values conform to DOS conventions.
  479.                 .---------------------------.
  480.                 | input area  | input area  |
  481.                 | background  | foreground  |
  482.                 |-------------+-------------|
  483.                 | output area | output area |
  484.                 | background  | foreground  |
  485.                 |-------------+-------------|
  486.                 | cursor bar  | cursor bar  |
  487.                 | background  | foreground  |
  488.                 |-------------+-------------|
  489.                 | status line | status line |
  490.                 | background  | foreground  |
  491.                 |_____________|_____________|
  492.  
  493.   8!:7      (PC only) Refresh screen
  494.               Redisplay the contents of the screen.
  495.  
  496.   8!:9      (PC only) Edit
  497.               8!:9 y invokes the editor on y, a string with lines delimited
  498.               by linefeeds (10{a.). Press F1 to get meanings of function keys.
  499.  
  500.   8!:16     (Macintosh only) Query font attributes
  501.  
  502.   8!:17     (Macintosh only) Set   font attributes
  503.               Font attributes are a 3-element integer list of the font number,
  504.               style, and size.  "Style" is the sum of one or more of the following
  505.               integers, where
  506.                 1  Bold
  507.                 2  Italic
  508.                 4  Underline
  509.                 8  Outline
  510.               Font attributes can also be set by the font dialog box, invoked
  511.               by the "Font ..." item under the "Edit" menu.
  512.  
  513.   8!:19     (Macintosh only) Print screen
  514.  
  515.   9!:0      Query random link
  516.  
  517.   9!:1      Set   random link.  Default: 16807
  518.  
  519.   9!:4      Query prompt
  520.  
  521.   9!:5      Set   prompt.  Default: '   '
  522.  
  523.   9!:6      Query box drawing characters
  524.  
  525.   9!:7      Set   box drawing characters
  526.               The argument is an 11-element string of  nw,ts,ne, te,cr,tw,
  527.               sw,tn,se, ns,ew  (northwest corner, tee south, northeast
  528.               corner; tee east, etc.)  Defaults:
  529.  
  530.               [PC    ]  218 194 191  195 197 180  192 193 217  179 196 { a.
  531.               [Others]  '+++++++++|-'
  532.  
  533.   9!:8      Query error messages
  534.  
  535.   9!:9      Set   error messages
  536.               For example: Replace English messages (default) with
  537.               French ones.
  538.  
  539.   9!:10     Query ) system command names
  540.  
  541.   9!:11     Set   ) system command names
  542.               For example: Replace English command names (default) with 
  543.               French ones.  Only the first 4 characters of each name 
  544.               are significant.
  545.  
  546.   128!:0    QR decomposition
  547.               The QR decomposition of a complex matrix in the domain of %. .
  548.               The result is an Hermitian matrix and a square upper triangular
  549.               matrix, individually boxed.
  550.  
  551.   128!:1    Invert a square upper triangular matrix
  552.  
  553.  
  554.  
  555. System Commands:
  556.  
  557.   )off          Terminate session
  558.  
  559.   )si           NYA
  560.  
  561.   )sic          NYA
  562.  
  563.   )script       Script
  564.   )sscript      Silent Script
  565.  
  566.     )script and )sscript accept an input file name and an optional output
  567.     file name.  File names must be in quotes.  A dash (-) for the input file
  568.     name means "standard input", i.e. the keyboard.  The input file consists
  569.     of lines of APL sentences and other input lines, and is known as a
  570.     "script".  The output file is suitable for subsequent use as a script.
  571.     System commands in scripts are ignored.  )script differs from )sscript
  572.     in that it outputs to the "standard output" (the screen) as well as to
  573.     any output file.  Examples:
  574.  
  575.       )script - 'sesslog'
  576.           Input obtained from the keyboard; output appended to file "sesslog"
  577.           and to the screen.
  578.  
  579.       )sscript '\jscripts\asdf'
  580.           Input from file "\jscripts\asdf"; no output.  Input reverts to the
  581.           keyboard at the end of "\jscripts\asdf".
  582.  
  583.       )sscript 'disk:folder:subfolder:inf' 'outf'
  584.           Input obtained from "disk:folder:subfolder:inf"; output appended
  585.           to "outf".
  586.  
  587.       )script -
  588.           Default.
  589.  
  590.     If there is a file named "profile.js" in the current directory, J will
  591.     automatically execute   )script 'profile.js'   at the start of a session.
  592.  
  593.  
  594.  
  595. Command Line Parameter:
  596.  
  597.   (PC only)  The command line parameter /s specifies standard input and
  598.   standard output, without the session manager supplied with J.  i.e.
  599.     DOS command          Effect
  600.       j               has session manager
  601.       j /s            standard i/o, no session manager
  602.  
  603.  
  604.  
  605. Machines:
  606.  
  607.   AT&T 3B1
  608.   Apple Macintosh
  609.   Atari ST
  610.   DEC VAX (Ultrix and BSD UNIX)
  611.   Interactive 386/ix
  612.   IBM PC family: PC, XT, AT, 286, 386
  613.   IBM RISC/6000
  614.   MIPS R3000
  615.   NeXT
  616.   Philips P9070
  617.   Silicon Graphics SGI Irix
  618.   Sun 3
  619.   Sun 386i
  620.   Sun 4 (SPARC)
  621.  
  622.  
  623.  
  624. Changes between Version 2,   1990  8  9 (APL90 Version)
  625.             and Version 2.7, 1990 10 22
  626.  
  627.   J             code size reduced slightly
  628.                 alternatives for national use characters
  629.   =             faster monad
  630.   -.            faster dyad
  631.   ~.            faster
  632.   ~:            faster monad
  633.   ,.            faster
  634.   ;:            rhematic rules re . and : changed
  635.   e.            faster
  636.   i.            faster dyad
  637.   .             cum (gerund from verb)
  638.   :             con (verb from gerund)
  639.   ::            faster
  640.   u"v           rank (like u, but has ranks of v)
  641.   u&.v          under
  642.   =.            indirect local  assignment
  643.   =:            indirect global assignment
  644.   3!:2          convert from internal representation
  645.   5!:0          fix
  646.   5!:1          atomic representation
  647.   8!:0  8!:1    query/set CGA mode
  648.   9!:0  9!:1    query/set random link
  649.   9!:4  9!:5    query/set prompt
  650.   9!:6  9!:7    query/set box drawing chars
  651.   9!:8  9!:9    query/set error msgs
  652.   9!:10 9!:11   query/set ) system command names
  653.   )box          removed
  654.   )prompt       removed
  655.   )reset        renamed )sic
  656.   )rl           removed
  657.   )script       profile facility added
  658.   ATARI ST      ported to
  659.   tutorial      faster
  660.  
  661.  
  662. Changes in Version 2.8, 1990 11 15
  663.  
  664.   ":            faster on boxed arrays
  665.   display       faster on boxed arrays
  666.   5!:0          string representation inverse
  667.   5!:3          string representation
  668.   8!:2 8!:3     removed (replaced by DOS facility)
  669.   8!:4 8!:5     set screen attributes
  670.   8!:7          refresh screen
  671.   )clear        removed (equivalent to  4!:55 (4!:1) 2 3 4 5 )
  672.   PC            simplified session manager
  673.   PC            added command line parameter /s
  674.  
  675.  
  676. Changes in Version 2.9, 1991 2 15
  677.  
  678.   +:            monad added
  679.   *:            monad added
  680.   -:            monad added
  681.   ":            dyad added
  682.   0:            added
  683.   1:            added
  684.   m&g f&n       faster
  685.   ::            labels
  686.   adverbs       n c, v c, c n, c v derive adverbs
  687.   2!:0          WS name class
  688.   2!:1          WS name list
  689.   2!:2          WS save
  690.   2!:4          WS copy
  691.   2!:55         WS erase
  692.   8!:9          (PC) Edit
  693.   8!:16  8!:17  (Mac) query/set font attributes
  694.   8!:19         (Mac) print screen
  695.   Macintosh     improved user interface
  696.   PC            improved user interface
  697.   386ix         ported to
  698.   SGI           ported to
  699.  
  700.  
  701. Changes in Version 3, 1991 3 17
  702.  
  703.   [             previously spelt }:
  704.   ]             previously spelt {:
  705.   .             previously spelt ..
  706.   `             previously spelt .
  707.   `:            previously spelt :
  708.   :             previously spelt ::
  709.   +/\           invertible
  710.   -/\           invertible
  711.   */\           invertible
  712.   %/\           invertible
  713.   =/\           invertible
  714.   ~:/\          invertible
  715.   +/\.          invertible
  716.   -/\.          invertible
  717.   */\.          invertible
  718.   %/\.          invertible
  719.   =/\.          invertible
  720.   ~:/\.         invertible
  721.   ^~            invertible
  722.   ,~            invertible
  723.   ;~            invertible
  724.   ,:~           invertible
  725.   |:&:k         shift
  726.   b.            boolean
  727.   m.            mean
  728.   n.            normalize
  729.   s.            standard deviation
  730.   xyz:          given names
  731.   tab           treated like space on input
  732.   Mac           resizeable Language Summary
  733.  
  734.  
  735. Changes in Version 3.1, 1991 5 17
  736.  
  737.   LinkJ
  738.   m : 1         replaces  1 : m
  739.   m : 2         replaces  2 : m
  740.   m : 11        translate to tacit
  741.   1!:11         indexed file read
  742.   1!:12         indexed file write
  743.   m.            redefined
  744.   n.            redefined
  745.   s.            redefined
  746.   u . v         determinant
  747.  
  748.  
  749. Changes in Version 3.2, 1991 6 2
  750.  
  751.   A.            previously spelt @:
  752.   C.            previously spelt @.
  753.   !.            previously spelt &:
  754.   ,.            ravel items / append lists
  755.   ;             raze / link
  756.   @.            agenda
  757.   @:            at
  758.   &:            appose
  759.   f.            fix
  760.   [.            lev
  761.   ].            dex
  762.   m.            removed
  763.   n.            removed
  764.   s.            removed
  765.   proverbs      dynamic reference
  766.   0!:1          documentation updated
  767.  
  768.  
  769. Changes in Version 3.3, 1991 6 25
  770.  
  771.   ,.            ravel items / append items
  772.   0-frames      corrected
  773.   a-trains      implemented
  774.   c-trains      implemented
  775.   PC            help screens updated
  776.  
  777.  
  778. Changes in Version 3.4, 1991 7 15
  779.   NB.           implemented
  780.   National Use  implemented (Appendix A of dictionary)