Talk:Timeline of APL primitives

From APL Wiki
Revision as of 20:54, 18 March 2024 by Marshall (talk | contribs) (Updates)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Notes on the many judgment calls in making this table.

Factual (hopefully):

  • 1966 APL/360 is from "The APL\360 Terminal System" (as it claims its descriptions match the 1966 manual, which I don't have) and 1968 is from the Type III library doc.
  • The 1970 entries are from Quote Quad; the second hasn't yet been cited in primitive pages but it's in "Back matter" here.
  • I have assumed the 1994 APL2 manual has no primitive differences from 1984 ("Summary of Changes" there backs this up; edit: verified with Overview of APL2) and that all the primitives there but not in earlier APLs were introduced by APL2. As I don't know when Dyalog implemented Find or Depth it's possible it implemented these first.
  • NARS2000 dates come from its wiki revision history. It's possible some primitives were implemented substantially before they were documented, but because the wiki was updated continuously I think it probably kept track.
  • I haven't looked for NARS influences beyond Operators and Functions and Jim Brown's thesis. Probably there are some Quote Quad proposals and such out there.


  • Years given are the earliest known date for the feature and may not be exact. This particularly affects APL\360 and NARS2000. However, I expect they are within a year or two, and haven't added some features (particularly SHARP/SAX) where I don't think this holds. Edit: I think everything except From, which currently has questionable uptake, is now there. --Marshall (talk) 20:54, 18 March 2024 (UTC)
  • Some entries which I've judged as not common enough for the table, but which are likely to be more widely supported in the future, are commented out.
  • I have decided not to count A+ as an APL dialect, both because it's questionable design-wise and because the it wasn't made public for a long time after being designed so the year is weird. Features would be Interval Index (), Tally (#), and major cell search.
  • Similar for Extended Dyalog APL, this time because I think the level of commitment shown is more like a publication than a dialect. So it's noted as a source when dzaima/APL took Reverse Compose, and left out of Dyalog 18.0 compositions entirely. A Dyalog employee front-running a Dyalog primitive, largely just because of the release cycle, is not terribly interesting. --Marshall (talk) 02:33, 17 March 2024 (UTC)
  • Only influences within the APL family are listed; an accounting of the history of map/zip in functional languages would not be too relevant to Each.
  • Entries are split if (as far as I can determine) they were released at the different times, even if it was within the same year.


  • A single attribution at the end of a line indicates a shared influence. For entries with multiple attributions, I've added line breaks or not mainly based on how related the entries seem to me.
  • The row splits in NARS 1981 are purely for reading clarity.
  • The glyph is given in parentheses to indicate the original glyph used if there have been multiple, or if it helps to clarify the name (e.g. Power operator, and newer stuff that might be less known).
  • "Proposed" before a name indicates that person wasn't closely connected with the decision to implement.

--Marshall (talk) 22:09, 16 March 2024 (UTC)