Copyright (c) 1989 1990, Roger K.W. Hui & K.E. Iverson
Copyright (c) 1990-1993, Iverson Software Inc.
All Rights Reserved.


J Implementation Status (Version 7 - 14 November 1993)

System Limits:

  Array rank             <: 127
  Comparison tolerance   <: 2^_34
  Object size            <  65536 bytes  [PC AT only]
  Workspace size         <  640 Kbytes   [PC AT only]

Machines to which J has been ported:

  Acorn Archimedes
  AT&T 3B1
  Apple Macintosh
  Atari ST
  DECsystem 5500
  DEC VAX (Ultrix and BSD UNIX)
  Interactive 386/ix
  PC/XT, PC/AT
  PC/386, PC/486
  PC/Windows
  IBM RISC/6000
  MIPS R3000
  NeXT
  Silicon Graphics SGI Irix
  Sun 3
  Sun 386i
  Sun 4 (SPARC)


Not Yet Available:

  _
  __
  _.
  v;.3   v;._3
  c.
  E.
  p.
  1!:0

Changes between Version 2,   1990  8  9 (APL90 Version)
            and Version 2.7, 1990 10 22

  J             code size reduced slightly
                alternatives for national use characters
  =             faster monad
  -.            faster dyad
  ~.            faster
  ~:            faster monad
  ,.            faster
  ;:            rhematic rules re . and : changed
  e.            faster
  i.            faster dyad
  .             cum (gerund from verb)
  :             con (verb from gerund)
  ::            faster
  u"v           rank (like u, but has ranks of v)
  u&.v          under
  =.            indirect local  assignment
  =:            indirect global assignment
  3!:2          convert from internal representation
  5!:0          fix
  5!:1          atomic representation
  8!:0  8!:1    query/set CGA mode
  9!:0  9!:1    query/set random link
  9!:4  9!:5    query/set prompt
  9!:6  9!:7    query/set box drawing chars
  9!:8  9!:9    query/set error msgs
  9!:10 9!:11   query/set ) system command names
  )box          removed
  )prompt       removed
  )reset        renamed )sic
  )rl           removed
  )script       profile facility added
  ATARI ST      ported to
  tutorial      faster


Changes in Version 2.8, 1990 11 15

  ":            faster on boxed arrays
  display       faster on boxed arrays
  5!:0          string representation inverse
  5!:3          string representation
  8!:2 8!:3     removed (replaced by DOS facility)
  8!:4 8!:5     set screen attributes
  8!:7          refresh screen
  )clear        removed (equivalent to  4!:55 (4!:1) 2 3 4 5 )
  PC AT         simplified session manager
  PC AT         added command line parameter /s


Changes in Version 2.9, 1991 2 15

  +:            monad added
  *:            monad added
  -:            monad added
  ":            dyad added
  0:            added
  1:            added
  m&g f&n       faster
  ::            labels
  adverbs       n c, v c, c n, c v derive adverbs
  2!:0          WS name class
  2!:1          WS name list
  2!:2          WS save
  2!:4          WS copy
  2!:55         WS erase
  8!:9          (PC AT) Edit
  8!:16  8!:17  (Mac) query/set font attributes
  8!:19         (Mac) print screen
  Macintosh     improved user interface
  PC AT         improved user interface
  386ix         ported to
  SGI           ported to


Changes in Version 3, 1991 3 17

  [             previously spelt }:
  ]             previously spelt {:
  .             previously spelt ..
  `             previously spelt .
  `:            previously spelt :
  :             previously spelt ::
  +/\           invertible
  -/\           invertible
  */\           invertible
  %/\           invertible
  =/\           invertible
  ~:/\          invertible
  +/\.          invertible
  -/\.          invertible
  */\.          invertible
  %/\.          invertible
  =/\.          invertible
  ~:/\.         invertible
  ^~            invertible
  ,~            invertible
  ;~            invertible
  ,:~           invertible
  |.&:k         shift
  b.            boolean
  m.            mean
  n.            normalize
  s.            standard deviation
  xyz:          given names
  tab           treated like space on input
  Mac           resizeable Language Summary


Changes in Version 3.1, 1991 5 17

  LinkJ
  m : 1         replaces  1 : m
  m : 2         replaces  2 : m
  m : 11        translate to tacit
  1!:11         indexed file read
  1!:12         indexed file write
  m.            redefined
  n.            redefined
  s.            redefined
  u . v         determinant


Changes in Version 3.2, 1991 6 2

  A.            previously spelt @:
  C.            previously spelt @.
  !.            previously spelt &:
  ,.            ravel items / append lists
  ;             raze / link
  @.            agenda
  @:            at
  &:            appose
  f.            fix
  [.            lev
  ].            dex
  m.            removed
  n.            removed
  s.            removed
  proverbs      dynamic reference
  0!:1          documentation updated


Changes in Version 3.3, 1991 6 25

  ,.            ravel items / append items
  0-frames      corrected
  a-trains      implemented
  c-trains      implemented


Changes in Version 3.4, 1991 7 15 (APL91 Version)

  NB.           implemented
  National Use
    Chars       implemented (Appendix A of dictionary)


Changes in Version 4, 1991 11 23

  _:            implemented
  +.y           implemented
  *.y           implemented
  x-.y          faster
  u^:_          implemented
  u^:_1         linear approximation
  u^:n          dyad changed
  u^:v          changed
  $:            changed
  |:            faster on matrices
  u .. v        implemented
  u .: v        implemented
  m : 11        string m only
  m : 12        implemented
  atom1,:atom2  produces 2 1$atom1,atom2
  u/.           dyad faster
  0{atom        returns atom
  u}            changed; old defn is u@i.@}.@$} : (u@i.@$})
  u"_           implemented
  `:1           replaced by u^:v
  `:4           replaced by m~
  `:5           replaced by @.
  j.            implemented
  r.            implemented
  4!:0          returns _1 on invalid arguments
  5!:4          implemented
  9!:10         removed
  9!:11         removed
  )script       replaced by 0!:2
  )sscript      replaced by 0!:3
  )off          replaced by 0!:55 and Ctrl D
  Archimedes    ported to
  DECstation    ported to
  MAC           removed online dictionary


Changes in Version 4.1, 1992 2 2
  u . v         faster
  m&,           invertible
  ,&m           invertible
  m&}.          invertible
  1!:2          (Mac) file type set to TEXT
  1!:3          (Mac) file type set to TEXT
  1!:12         (Mac) file type set to TEXT
  ^!.p          implemented
  J             source made available


Changes in Version 4.2, 1992 3 19
  input         fixed bug in jgets()
  input         numeric input (in w.c) more robust
  vz.c          enhanced portability in zacosh()
  J PC386       available
  test scripts  available


Changes in Version 5, 1992 6 22
  <!.k          implemented
  <.            faster
  >             faster
  >!._          implemented
  >.            faster
  +             faster dyad
  *             faster dyad
  -             faster
  -:            faster
  %.            faster
  ^             special case in dyad for integer y
  $             faster dyad
  ~:            faster dyad
  f/ .g         faster dyad
  +/ .*         faster dyad
  ,             faster dyad
  ,.            faster dyad
  #             faster dyad
  #.            faster
  #:            faster; fixed bug (#:!.t)
  f/            faster
  f/\           faster monad
  f/\.          faster monad
  {.            faster dyad
  {.!.f         implemented
  }.            faster
  "             faster; prefix agreement
  ?             faster monad
  5!:4          faster
  x 6!:2 y      implemented


Changes in Version 5.1, 1992 7 28
  -.            faster dyad on strings
  m :12         returns adverb if y. not in m
  5!:5          implemented
  9!:2          implemented
  9!:3          implemented
  [:            implemented
  ]:            implemented
  u@n           implemented
  m f.          implemented
  x. y.         replaced immediately by referent
  2: to 9:      implemented
  trains        implemented c1 v c2
  J             added SYS_DOUBLE
  J             added SYS_GETTOD


Changes in Version 5.1a, 1992 8 11
  ":           fixed bug in ": on real arrays


Changes in Version 6, 1992 10 24
  =             faster monad
  -.            faster dyad
  ~.            faster
  ~:            faster monad
  : 20          implemented
  : 21          implemented
  : 22          implemented
  u ::v         implemented
  u;.n          faster monad
  0!:4          implemented
  0!:5          implemented
  4!:56         implemented
  11!:0         implemented
  11!:1         implemented
  u/.           faster dyad
  /:            faster
  \:            faster
  u b.          implemented
  e.            faster
  i.            faster
  input         implemented 3r4, 3ad90, 3ar1.5708, 3p4, 3x4, 3b121.12


Changes in Version 6.1, 1992 11 26
  %             coerced -0 to 0
  u^:g          implemented
  !:            changed C fn headers for derived fns
  0!:2          fixed bugs in profile, Windows, rank n output
  0!:3          ditto
  0!:4          ditto
  0!:5          ditto
  2!:2          changed to use maximum precision
  2!:3          ditto
  4!:55         fixed bug in local names
  4!:56         ditto
  g}            implemented
  i.            added support for non-standard MAC floating point formats
  source jt.h   added fl (flag) field to struct V
  source r.c    changed 5!:2 to exploit fl in V
  source rl.c   changed 5!:5 to exploit fl in V
  source rt.c   changed 5!:5 to exploit fl in V


Changes in Version 6.2, 1992 12 20
  u@n           removed
  D.            implemented


Changes in Version 7, 1993 11 14

  +.            bug fix
  ^:            changed
  [:            added
  t.            added
  T.            added
  :             changed
  13!:n		added
  locatives     added
  command line  changed
  error display changed
