skip to main content
research-article
Open Access

APL since 1978

Published:12 June 2020Publication History
Skip Abstract Section

Abstract

The Evolution of APL, the HOPL I paper by Falkoff and Iverson on APL, recounted the fundamental design principles which shaped the implementation of the APL language in 1966, and the early uses and other influences which shaped its first decade of enhancements.

In the 40 years that have elapsed since HOPL I, several dozen APL implementations have come and gone. In the first decade or two, interpreters were typically born and buried along with the hardware or operating system that they were created for. More recently, the use of C as an implementation language provided APL interpreters with greater longevity and portability.

APL started its life on IBM mainframes which were time-shared by multiple users. As the demand for computing resources grew and costs dropped, APL first moved in-house to mainframes, then to mini- and micro-computers. Today, APL runs on PCs and tablets, Apples and Raspberry Pis, smartphones and watches.

The operating systems, and the software application platforms that APL runs on, have evolved beyond recognition. Tools like database systems have taken over many of the tasks that were initially implemented in APL or provided by the APL system, and new capabilities like parallel hardware have also changed the focus of design and implementation efforts through the years.

The first wave of significant language enhancements occurred shortly after HOPL I, resulting in so-called second-generation APL systems. The most important feature of the second generation is the addition of general arrays—in which any item of an array can be another array—and a number of new functions and operators aligned with, if not always motivated by, the new data structures.

The majority of implementations followed IBM’s path with APL2 “floating” arrays; others aligned themselves with SHARP APL and “grounded” arrays. While the APL2 style of APL interpreters came to dominate the mainstream of the APL community, two new cousins of APL descended from the SHARP APL family tree: J (created by Iverson and Hui) and k (created by Arthur Whitney).

We attempt to follow a reasonable number of threads through the last 40 years, to identify the most important factors that have shaped the evolution of APL. We will discuss the details of what we believe are the most significant language features that made it through the occasionally unnatural selection imposed by the loss of habitats that disappeared with hardware, software platforms, and business models.

The history of APL now spans six decades. It is still the case, as Falkoff and Iverson remarked at the end of the HOPL I paper, that:

Although this is not the place to discuss the future, it should be remarked that the evolution of APL is far from finished.

References

  1. A+. 2003. The Online A+ Reference Manual. aplusdev.org. http://www.aplusdev.org/refman.html (also at Internet Archive 2020-01-02 19:26:36 ).Google ScholarGoogle Scholar
  2. Milton Abramowitz and Irene A. Stegun. 1964. Handbook of Mathematical Functions. National Bureau of Standards. http: //people.math.sfu.ca/~cbm/aands/page_67.htm (also at Internet Archive 2018-10-18 04:33:04 ).Google ScholarGoogle Scholar
  3. Philip S. Abrams. 1970. An APL Machine. Ph.D. Dissertation. Stanford University. http://www.slac.stanford.edu/pubs/ slacreports/reports07/slac-r-114.pdfGoogle ScholarGoogle Scholar
  4. ACM. 1973. Grace Murray Hopper Award. (1973). http://awards.acm.org/award_winners/breed_0694605.cfmGoogle ScholarGoogle Scholar
  5. Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman. 1974. The Design and Analysis of Computer Algorithms. AddisonWesley.Google ScholarGoogle Scholar
  6. Amazon. 2018. Alexa Presentation Language (APL) Overview. Amazon.com, Inc. http://developer.amazon.com/docs/alexapresentation-language/apl-overview.html (also at Internet Archive 2019-06-10 11:35:51 ).Google ScholarGoogle Scholar
  7. Owen L. Astrachan. 2003. Bubble Sort: An Archaeological Algorithmic Analysis. Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education (19 Feb. 2003). http://users.cs.duke.edu/~ola/bubble/bubble.pdf (also at Internet Archive 2019-02-04 10:25:36 ).Google ScholarGoogle Scholar
  8. John W. Backus. 1978. Can Programming be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs. Commun. ACM 21, 8 (Aug. 1978). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Henry G. Baker and Carl E. Hewitt. 1977. The Incremental Garbage Collection of Processes. Proceedings of the Symposium on Artificial Intelligence Programming Languages, ACM SIGPLAN Notices 12, 8 (Aug. 1977). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jonathan. Barman and Anthony Camacho. 1991. Panel: Is J a Dialect of APL? Vector 8, 2 (Oct. 1991). http://www.jsoftware. com/papers/Vector_8_2_BarmanCamacho.pdf (also at Internet Archive 2020-02-11 00:32:27 ).Google ScholarGoogle Scholar
  11. Jacques Barzun. 2000. From Dawn to Decadence: 500 Years of Western Cultural Life, 1500 to the Present. HarperCollins.Google ScholarGoogle Scholar
  12. Jon L. Bentley. 1983. Programming Pearls. Commun. ACM 26, 9 (Sept. 1983). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Robert Bernecky. 1973. Speeding Up Dyadic Iota and Dyadic Epsilon. Proceedings of the APL Congress 73 (22 Aug. 1973).Google ScholarGoogle Scholar
  14. Robert Bernecky. 1977. System Speed-Ups. The I.P. Sharp Newsletter, Technical Supplement 5, 1 (Jan. 1977). http://www. snakeisland.com/IPSANewsletter_1977_01_02.pdf (also at Internet Archive 2020-02-08 06:48:11 ).Google ScholarGoogle Scholar
  15. Robert Bernecky. 1987. An Introduction to Function Rank. APL88 Conference Proceedings, APL Quote Quad 18, 2 (Dec. 1987). Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Robert Bernecky. 1997. APEX: The APL Parallel Executor. M.Sc. Thesis. University of Toronto. http://www.snakeisland. com/ms.pdf (also at Internet Archive 2019-03-17 02:13:00 ).Google ScholarGoogle Scholar
  17. Robert Bernecky. 2016. Zoo Story: How the SHARP APL Development Group Got Its Name. Dyalog User Meeting 2016 (5 Oct. 2016). http://dyalog.tv/Dyalog16/?v=1N_oYD-ZkX8 (also at Internet Archive 2020-02-08 06:53:50 ).Google ScholarGoogle Scholar
  18. Robert Bernecky, Charles H. Brenner, Stephen B. Jaffe, and George P. Moeckel. 1990. Acorn: APL to C on Real Numbers. APL90 Conference Proceedings, APL Quote Quad 20, 4 (July 1990). Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Robert Bernecky and Kenneth E. Iverson. 1980. Operators and Enclosed Arrays. 1980 APL Users Meeting Proceedings (6-8 Oct. 1980). http://www.jsoftware.com/papers/opea.htm (also at Internet Archive 2019-10-02 23:07:13 ).Google ScholarGoogle Scholar
  20. Robert Bernecky, Kenneth E. Iverson, Eugene E. McDonnell, Robert C. Metzger, and J. Henri Schueler. 1983. SATN 45: Language Extensions of May 1983. I.P. Sharp Associates Limited. http://www.jsoftware.com/papers/satn45.htm (also at Internet Archive 2019-10-02 23:47:25 ).Google ScholarGoogle Scholar
  21. Paul C. Berry. 1979. SHARP APL Reference Manual. I.P. Sharp Associates Limited.Google ScholarGoogle Scholar
  22. Frederick P. Brooks Jr. 1999. Aiken and the Harvard “Comp Lab”. In Makin’ Numbers: Howard Aiken and the Computer, I.B. Cohen and G.W. Welch (Eds.). The MIT Press, 137–142.Google ScholarGoogle Scholar
  23. Frederick P. Brooks Jr. 2006. The Language, the Mind and the Man. Vector 22, 3 (Aug. 2006). http://archive.vector.org.uk/ art10001240 (also at Internet Archive 2018-03-17 10:22:43 ).Google ScholarGoogle Scholar
  24. James A. Brown. 1971. A Generalization of APL. Ph.D. Dissertation. Syracuse University. http://www.softwarepreservation. org/projects/apl/Books/AGENERALIZATIONOFAPLGoogle ScholarGoogle Scholar
  25. James A. Brown. 1984. The Principles of APL2, TR 03.247. IBM Santa Teresa Laboratory, San Jose, California. http://www. softwarepreservation.org/projects/apl/Papers/PRINCIPLESOFAPL2Google ScholarGoogle Scholar
  26. James A. Brown. 1988. My Favorite Idiom. (Oct. 1988). http://www.softwarepreservation.org/projects/apl/Papers/ MYFAVORITEIDIOMGoogle ScholarGoogle Scholar
  27. James A. Brown. 2016. A Personal History of APL. APL-Journal 35, 1-2 (2016), 3–20. http://apl-germany.de/wp-content/ uploads/2018/01/APL_Journal_2016_12.pdf (also at Internet Archive 2020-02-07 19:17:27 ).Google ScholarGoogle Scholar
  28. James A. Brown. 2017. e-mail message. (1 Nov. 2017). This e-mail concerns the use of magic functions in APL2.Google ScholarGoogle Scholar
  29. Adám Brudzewsky, Jay M. Foad, and Roger K.W. Hui. 2018. TAO Axioms. (4 Jan. 2018). http://www.jsoftware.com/papers/ TAOaxioms.htm (also at Internet Archive 2020-02-07 01:23:42 ).Google ScholarGoogle Scholar
  30. John D. Bunda. 1987. APL Function Definition Notation. APL87 Conference Proceedings, APL Quote Quad 17, 4 (May 1987). Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Chris Burke, Roger K.W. Hui, Kenneth E. Iverson, Eugene E. McDonnell, and Donald B. McIntyre. 1996. J Phrases. Iverson Software Inc. http://www.jsoftware.com/help/phrases/bond_curry.htm (also at Internet Archive 2019-10-03 07:40:58 ).Google ScholarGoogle Scholar
  32. Bryan M. Cantrill. 2009. A Conversation with Arthur Whitney. Queue 7, 2 (Feb. 2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. O.G. Cassani and John H. Conway. 2018. Neumbering. The Mathematical Intelligencer 40, 1 (March 2018). http://link. springer.com/content/pdf/10.1007%2Fs00283-017-9720-3.pdfGoogle ScholarGoogle Scholar
  34. Hanfeg Chen, Wai-Mee Ching, and Laurie Hendren. 2017. ELI-to-C Compiler: Design, Implementation, and Performance. PLDI Array 2017 (5 July 2017). Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Carl M. Cheney. 1981. APL*Plus Nested Array System Reference Manual. STSC, Inc. http://www.sudleyplace.com/APL/ Nested%20Arrays%20System.pdf (also at Internet Archive 2019-10-11 05:07:36 ).Google ScholarGoogle Scholar
  36. Gitte Christensen. 2006. Ken Iverson in Denmark. Vector 22, 3 (Aug. 2006). http://archive.vector.org.uk/art10002270 (also at Internet Archive 2017-02-02 14:48:42 ).Google ScholarGoogle Scholar
  37. Gitte Christensen. 2014. APL in the Nordic Countries. 4th History of Nordic Computing (HiNC4) (Aug. 2014). http: //hal.inria.fr/hal-01301427/document (also at Internet Archive 2020-02-07 17:41:09 ).Google ScholarGoogle Scholar
  38. Edsger W. Dijkstra. 1982. Why Numbering Should Start at Zero. EWD831 11 (Aug. 1982). http://www.cs.utexas.edu/users/ EWD/ewd08xx/EWD831.PDF (also at Internet Archive 2020-01-03 03:47:28 ).Google ScholarGoogle Scholar
  39. Graham C. Driscoll and Donald L. Orth. 1986. Compiling APL: The Yorktown APL Translator. IBM Journal of Research and Development 30, 6 (Nov. 1986). http://www.softwarepreservation.org/projects/apl/Papers/198611_Compiling%20APL% 20The%20Yorktown%20APL%20Translator.pdfGoogle ScholarGoogle Scholar
  40. Dyalog. 2008a. Dyalog at 25. Vector (Sept. 2008). http://www.dyalog.com/uploads/documents/dyalog_25.pdf (also at Internet Archive 2019-09-21 02:24:44 ).Google ScholarGoogle Scholar
  41. Dyalog. 2008b. Release Notes Version 12.0. Dyalog Limited. http://docs.dyalog.com/12.0/Dyalog%20APL%20Release% 20Notes.v12.0.pdf (also at Internet Archive 2015-06-06 06:57:05 ).Google ScholarGoogle Scholar
  42. Dyalog. 2014a. Dyalog APL Experimental Functionality—Parallel Language Features, Version 14.0. Dyalog Limited. http://docs.dyalog.com/14.0/Dyalog%20APL%20Experimental%20Functionality%20-%20Parallel%20Language% 20Features.pdf (also at Internet Archive 2016-05-07 17:17:38 ).Google ScholarGoogle Scholar
  43. Dyalog. 2014b. Dyalog APL Idioms. (2014). http://docs.dyalog.com/14.0/Dyalog%20APL%20Idioms.pdf (also at Internet Archive 2018-02-22 04:38:39 ).Google ScholarGoogle Scholar
  44. Dyalog. 2015. Dyalog APL Version 14.0 Release Notes. Dyalog Limited. http://docs.dyalog.com/14.0/Dyalog%20APL% 20Release%20Notes.pdf (also at Internet Archive 2016-05-07 17:14:18 ).Google ScholarGoogle Scholar
  45. Dyalog. 2016. Parallel Language Features, Version 16.0. Dyalog Limited. http://docs.dyalog.com/17.0/Parallel%20Language% 20Features.pdf (also at Internet Archive 2020-02-07 19:28:11 ).Google ScholarGoogle Scholar
  46. Dyalog. 2018a. Dyalog APL Language Reference Guide, version 17.0. Dyalog Limited. http://docs.dyalog.com/17.0/Dyalog% 20APL%20Language%20Reference%20Guide.pdf (also at Internet Archive 2020-02-07 19:29:11 ).Google ScholarGoogle Scholar
  47. Dyalog. 2018b. Dyalog Programming Reference Guide, version 17.0. Dyalog Limited. http://docs.dyalog.com/17.0/Dyalog% 20Programming%20Reference%20Guide.pdf (also at Internet Archive 2020-02-11 00:44:16 ).Google ScholarGoogle Scholar
  48. Dyalog. 2019. RIDE User Guide, version 4.2. Dyalog Limited. http://docs.dyalog.com/17.1/RIDE%20User%20Guide.pdf (also at Internet Archive 2020-02-26 19:33:58 ).Google ScholarGoogle Scholar
  49. William B. Ewald. 1996. From Kant to Hilbert: A Source Book in the Foundations of Mathematics, Volume 1. Oxford University Press. http://books.google.ca/books?id=rykSDAAAQBAJ&pg=PA313Google ScholarGoogle Scholar
  50. Adin D. Falkoff. 1969. APL\360 History. Proceedings of the APL Users Conference at S.U.N.Y. Binghamton (11-12 July 1969). http://www.jsoftware.com/papers/apl360history.htm (also at Internet Archive 2020-02-11 18:13:07 ).Google ScholarGoogle Scholar
  51. Adin D. Falkoff. 1982. Semicolon-Bracket Notation: A Hidden Resource in APL. APL82 Conference Proceedings, APL Quote Quad 13, 1 (Sept. 1982). Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Adin D. Falkoff. 1991. The IBM Family of APL Systems. IBM Systems Journal 30, 4 (Dec. 1991). http://pdfs.semanticscholar. org/f7c4/72cdf7f4cb57d34c08d09f6c9a5340372678.pdf (also at Internet Archive 2019-11-20 21:25:27 ).Google ScholarGoogle Scholar
  53. Adin D. Falkoff and Kenneth E. Iverson. 1967. The APL\360 Terminal System. Research Report RC-1922, IBM Corporation. http://www.jsoftware.com/papers/APL360TerminalSystem.htm (also at Internet Archive 2019-10-03 04:17:47 ).Google ScholarGoogle Scholar
  54. Adin D. Falkoff and Kenneth E. Iverson. 1968. APL\360 User’s Manual. IBM Corporation. http://www.bitsavers.org/pdf/ ibm/apl/APL_360_Users_Manual_Aug68.pdfGoogle ScholarGoogle Scholar
  55. Adin D. Falkoff and Kenneth E. Iverson. 1973a. APLSV User’s Manual. IBM Corporation. http://www.softwarepreservation. org/projects/apl/Papers/197300_APL%20SV%20Users%20Manual_SH20-1460.pdfGoogle ScholarGoogle Scholar
  56. Adin D. Falkoff and Kenneth E. Iverson. 1973b. The Design of APL. IBM Journal of Research and Development 17, 4 (July 1973). http://www.jsoftware.com/papers/APLDesign.htm (also at Internet Archive 2019-10-03 04:08:33 ).Google ScholarGoogle Scholar
  57. Adin D. Falkoff and Kenneth E. Iverson. 1978. The Evolution of APL. ACM SIGPLAN Notices 13, 8 (Aug. 1978). http: //www.jsoftware.com/papers/APLEvol.htm (also at Internet Archive 2019-10-02 22:10:44 ).Google ScholarGoogle Scholar
  58. Adin D. Falkoff, Kenneth E. Iverson, and Edward H. Sussenguth. 1964. A Formal Description of System/360. IBM Systems Journal 3, 3 (1964). http://web.archive.org/web/20060813132807/http://www.research.ibm.com/journal/sj/032/falkoff. pdfGoogle ScholarGoogle Scholar
  59. Roy T. Fielding. 2000. Architectural Styles and the Design of Network-based Software Architectures. Ph.D. Dissertation. University of California Irvine. http://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf (also at Internet Archive 2020-02-06 12:12:35 ).Google ScholarGoogle Scholar
  60. FinnAPL. 2008-2015. The FinnAPL Idiom Library. (2008-2015). http://aplwiki.com/FinnAplIdiomLibrary (also at Internet Archive 2019-09-26 19:26:43 ).Google ScholarGoogle Scholar
  61. Jay M. Foad. 2017. Technical Road Map: Under the Covers. Dyalog User Meeting 2017 (11 Sept. 2017). http://www.dyalog. com/uploads/conference/dyalog17/presentations/D03_Technical_Road_Map_Under_The_Covers.pdf (also at Internet Archive 2020-02-07 19:21:18 ).Google ScholarGoogle Scholar
  62. Daniel P. Friedman and David S. Wise. 1976. The Impact of Applicative Programming on Multiprocessing. Proceedings of the International Conference on Parallel Processing (1976).Google ScholarGoogle Scholar
  63. Martin Gardner. 1970. Mathematical Games: The Fantastic Combinations of John Conway’s New Solitaire Game “Life”. Scientific American 223, 4 (Oct. 1970), 120–123. http://web.stanford.edu/class/sts145/Library/life.pdf (also at Internet Archive 2019-12-14 01:49:29 ).Google ScholarGoogle Scholar
  64. C.F. Gauss. 1831. Anzeige von Theoria residuorum biquadraticorum, commentatio secunda (Notice on the Theory of Biquadratic Residues, second treatise). Göttingische gelehrte Anzeigen (23 April 1831). http://www.deutschestextarchiv. de/book/view/gauss_theoria_1831?p=6 Translated in [ Ewald 1996 ].Google ScholarGoogle Scholar
  65. Leslie H. Goldsmith. 1980. Corporate Communications Using the SHARP APL Mailbox. 1980 APL Users Meeting Proceedings (Oct. 1980).Google ScholarGoogle Scholar
  66. Leslie H. Goldsmith. 2010. 666 BOX. in R.K.W. Hui, APL Quotations and Anecdotes (2010). http://www.jsoftware.com/ papers/APLQA.htm#666box (also at Internet Archive 2020-02-11 00:46:05 ).Google ScholarGoogle Scholar
  67. James A. Gosling, William N. Joy, Guy L. Steele Jr., Gilad Bracha, and Alex Buckley. 2015. The Java® Language Specification, Java SE8 Edition. Oracle America, Inc. http://docs.oracle.com/javase/specs/jls/se8/jls8.pdf (also at Internet Archive 2019-06-19 20:08:03 ).Google ScholarGoogle Scholar
  68. Alan Graham. 1989. APL0: A Simple Modern APL. APL89 Conference Proceedings, APL Quote Quad 19, 4 (Aug. 1989). Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Ronald L. Graham, Donald E. Knuth, and Oren Patashnik. 1989. Concrete Mathematics. Addison-Wesley.Google ScholarGoogle Scholar
  70. Kate Gregory. 2003. Managed, Unmanaged, Native: What Kind of Code Is This? (28 April 2003). http://www.developer.com/ net/cplus/article.php/2197621/Managed-Unmanaged-Native-What-Kind-of-Code-Is-This.htm (also at Internet Archive 2016-03-01 20:19:30 ).Google ScholarGoogle Scholar
  71. G.H. Hardy. 1940. A Mathematician’s Apology. Cambridge University Press. http://www.math.ualberta.ca/mss/misc/A% 20Mathematician’s%20Apology.pdf (also at Internet Archive 2019-12-14 08:23:27 ).Google ScholarGoogle Scholar
  72. Israel N. Herstein. 1975. Topics in Algebra (2 ed.). Xerox College Publishing.Google ScholarGoogle Scholar
  73. W. Daniel Hillis. 1985. The Connection Machine. MIT Press. http://books.google.ca/books?id=xg_yaoC6CNEC&pg=PA46& lpg=PA46&dq=Connection+Machine+generalized+betaGoogle ScholarGoogle Scholar
  74. Rob D. Hodgkinson. 2017. J Programming Forum post. (19 Oct. 2017). http://jsoftware.com/pipermail/programming/2017-October/049330.html (also at Internet Archive 2020-02-05 23:14:42 ).Google ScholarGoogle Scholar
  75. Aaron W. Hsu. 2019. A Data Parallel Compiler Hosted on a GPU. Ph.D. Dissertation. Indiana University. http://scholarworks. iu.edu/dspace/bitstream/handle/2022/24749/Hsu%20Dissertation.pdfGoogle ScholarGoogle Scholar
  76. Roger K.W. Hui. 1979. Algorithm 135. Generating the Group Table of S(n). APL Quote Quad 10, 1 (Sept. 1979). Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Roger K.W. Hui. 1981. The N Queens Problem. APL Quote Quad 11, 3 (March 1981). http://www.jsoftware.com/papers/ nqueens.htm (also at Internet Archive 2019-10-02 23:07:56 ).Google ScholarGoogle Scholar
  78. Roger K.W. Hui. 1987. Some Uses of { and }. APL87 Conference Proceedings, APL Quote Quad 17, 4 (May 1987). http: //www.jsoftware.com/papers/from.htm (also at Internet Archive 2019-10-02 22:37:59 ).Google ScholarGoogle Scholar
  79. Roger K.W. Hui. 1992a. An Implementation of J. Iverson Software Inc. http://www.jsoftware.com/books/pdf/aioj.pdf (also at Internet Archive 2019-08-07 13:19:08 ).Google ScholarGoogle Scholar
  80. Roger K.W. Hui. 1992b. Three Combinatoric Puzzles. Vector 9, 2 (Oct. 1992). http://www.jsoftware.com/papers/Vector_9_ 2_Hui.pdf (also at Internet Archive 2020-02-11 00:34:11 ).Google ScholarGoogle Scholar
  81. Roger K.W. Hui. 1993. An Implementation of J. Vector 9, 4 (April 1993). http://archive.vector.org.uk/art10003790 (also at Internet Archive 2017-02-22 20:26:10 ).Google ScholarGoogle Scholar
  82. Roger K.W. Hui. 1995. Rank and Uniformity. APL95 Conference Proceedings, APL Quote Quad 25, 4 (June 1995). http: //www.jsoftware.com/papers/rank.htm (also at Internet Archive 2019-10-02 23:20:02 ).Google ScholarGoogle Scholar
  83. Roger K.W. Hui. 1996. J Implementation Status. (6 Jan. 1996). http://www.jsoftware.com/help/release/status.htm (also at Internet Archive 2018-10-03 13:19:55 ).Google ScholarGoogle Scholar
  84. Roger K.W. Hui. 1998. Sparse Arrays in J. (Nov. 1998). http://www.jsoftware.com/papers/sparse.htm (also at Internet Archive 2019-10-02 22:26:17 ).Google ScholarGoogle Scholar
  85. Roger K.W. Hui. 2000. assert. Implemented. Jsoftware Release Notes (21 Nov. 2000). http://www.jsoftware.com/docs/ help602/release/assert.htm (also at Internet Archive 2019-04-03 13:17:44 ).Google ScholarGoogle Scholar
  86. Roger K.W. Hui. 2004. Remembering Ken Iverson. (Nov. 2004). http://keiapl.org/rhui/remember.htm (also at Internet Archive 2019-03-31 12:17:04 ).Google ScholarGoogle Scholar
  87. Roger K.W. Hui. 2005a. Interval Index Implemented, J 6.01 Release Notes. (29 July 2005). http://www.jsoftware.com/docs/ help602/release/binsearch.htm (also at Internet Archive 2019-04-03 15:16:41 ).Google ScholarGoogle Scholar
  88. Roger K.W. Hui (Ed.). 2005b. Ken Iverson Quotations and Anecdotes. (30 Sept. 2005). http://www.jsoftware.com/papers/ KEIQA.htm (also at Internet Archive 2019-10-02 22:16:57 ).Google ScholarGoogle Scholar
  89. Roger K.W. Hui. 2005c. NVV, in Ken Iverson Quotations and Anecdotes. (March 2005). http://www.jsoftware.com/papers/ KEIQA.htm#NVV (also at Internet Archive 2019-10-02 22:16:57 ).Google ScholarGoogle Scholar
  90. Roger K.W. Hui. 2005d. Symmetries of the Square. J Wiki Essay (7 Nov. 2005). http://code.jsoftware.com/wiki/Essays/ Symmetries_of_the_Square (also at Internet Archive 2018-03-12 11:04:08 ).Google ScholarGoogle Scholar
  91. Roger K.W. Hui. 2005e. Under. J Wiki Essay (12 Oct. 2005). http://code.jsoftware.com/wiki/Essays/Under (also at Internet Archive 2019-02-03 04:35:15 ).Google ScholarGoogle Scholar
  92. Roger K.W. Hui. 2006. Sorting versus Grading. J Wiki Essay (23 Nov. 2006). http://code.jsoftware.com/wiki/Essays/Sorting_ versus_Grading (also at Internet Archive 2018-03-11 14:45:10 ).Google ScholarGoogle Scholar
  93. Roger K.W. Hui. 2007. Key. J Wiki Essay (9 April 2007). http://code.jsoftware.com/wiki/Essays/Key (also at Internet Archive 2018-03-12 11:00:20 ).Google ScholarGoogle Scholar
  94. Roger K.W. Hui. 2009. Inner Product—An Old/New Problem. British APL Association Conference 2009 (8 June 2009). http: //www.jsoftware.com/papers/innerproduct (also at Internet Archive 2019-07-03 01:18:47 ).Google ScholarGoogle Scholar
  95. Roger K.W. Hui. 2010a. Bring Something Beautiful. Vector 24, 4 (Dec. 2010). http://archive.vector.org.uk/art10500390 (also at Internet Archive 2018-11-29 13:22:50 ).Google ScholarGoogle Scholar
  96. Roger K.W. Hui. 2010b. English Grammar. Jwiki Essay (2 Nov. 2010). http://code.jsoftware.com/wiki/Essays/English_ Grammar (also at Internet Archive 2018-03-12 10:58:20 ).Google ScholarGoogle Scholar
  97. Roger K.W. Hui. 2010c. Euler’s Identity. Jwiki Essay (4 Feb. 2010). http://code.jsoftware.com/wiki/Essays/Euler’s_Identity (also at Internet Archive 2019-10-02 22:24:35 ).Google ScholarGoogle Scholar
  98. Roger K.W. Hui. 2010d. Hashing for Tolerant Index-Of. APL 2010 LPA Conference Proceedings (13-16 Sept. 2010). http: //www.jsoftware.com/papers/Hashing.htm (also at Internet Archive 2019-10-02 23:43:18 ).Google ScholarGoogle Scholar
  99. Roger K.W. Hui. 2010e. Is Origin 0 a Hindrance? (26 July 2010). http://www.jsoftware.com/papers/indexorigin.htm (also at Internet Archive 2019-10-02 23:42:56 ).Google ScholarGoogle Scholar
  100. Roger K.W. Hui. 2010f. On Average. Vector 24, 2&3 (Aug. 2010). http://archive.vector.org.uk/art10500270 (also at Internet Archive 2018-04-30 02:07:44 ).Google ScholarGoogle Scholar
  101. Roger K.W. Hui (Ed.). 2010-2020a. APL Quotations and Anecdotes. (2010-2020). http://www.jsoftware.com/papers/APLQA. htm (also at Internet Archive 2020-02-11 00:46:05 ).Google ScholarGoogle Scholar
  102. Roger K.W. Hui. 2012. What is an Array? Vector 25, 3 (March 2012). http://archive.vector.org.uk/art10500690 (also at Internet Archive 2018-04-30 02:11:23 ).Google ScholarGoogle Scholar
  103. Roger K.W. Hui. 2013a. My Favorite APL Symbol. Vector 26, 1 (Sept. 2013). http://archive.vector.org.uk/art10501040 (also at Internet Archive 2018-11-06 14:55:45 ).Google ScholarGoogle Scholar
  104. Roger K.W. Hui. 2013b. Primitive Performance. Dyalog User Conference 2013 (22 Oct. 2013). http://www.dyalog.com/ uploads/conference/dyalog13/presentations/D11_Primitive_Performance (also at Internet Archive 2015-04-11 03:12:47 ).Google ScholarGoogle Scholar
  105. Roger K.W. Hui. 2013c. Rank & Friends. Dyalog User Conference 2013 (22 Oct. 2013). http://www.dyalog.com/uploads/ conference/dyalog13/presentations/D08_Rank_and_Friends (also at Internet Archive 2018-04-30 02:07:52 ).Google ScholarGoogle Scholar
  106. Roger K.W. Hui. 2014. Index-Of, A 30-Year Quest. J Conference 2014 (25 July 2014). http://www.jsoftware.com/papers/ indexof (also at Internet Archive 2017-11-25 20:36:02 ).Google ScholarGoogle Scholar
  107. Roger K.W. Hui. 2015a. In Praise of Magic Functions. Dyalog Blog (22 June 2015). http://www.dyalog.com/blog/2015/06/inpraise-of-magic-functions-part-one/ (also at Internet Archive 2019-12-08 04:53:52 ).Google ScholarGoogle Scholar
  108. Roger K.W. Hui. 2015b. Permutations. Dyalog Blog (20 July 2015). http://www.dyalog.com/blog/2015/07/permutations/ (also at Internet Archive 2018-04-30 02:10:31 ).Google ScholarGoogle Scholar
  109. Roger K.W. Hui. 2016a. A History of APL in 50 Functions. (27 Nov. 2016). http://www.jsoftware.com/papers/50 (also at Internet Archive 2019-11-22 19:43:44 ).Google ScholarGoogle Scholar
  110. Roger K.W. Hui. 2016b. Sixteen APL Amuse-Bouches. Vector 26, 4 (March 2016). http://archive.vector.org.uk/art10501480 (also at Internet Archive 2019-07-14 07:39:00 ).Google ScholarGoogle Scholar
  111. Roger K.W. Hui. 2016c. Some Exercises in APL Language Design. (27 Nov. 2016). http://www.jsoftware.com/papers/ APLDesignExercises.htm (also at Internet Archive 2018-04-30 02:13:06 ).Google ScholarGoogle Scholar
  112. Roger K.W. Hui. 2016d. Three New Primitives. Dyalog User Meeting 2016 (10 Oct. 2016). http://www.dyalog.com/uploads/ conference/dyalog16/presentations/D06_New_Primitives_RH.zip (also at Internet Archive 2019-09-22 02:56:15 ).Google ScholarGoogle Scholar
  113. Roger K.W. Hui. 2017a. Calculation v Look-Up. Dyalog Blog (13 April 2017). http://www.dyalog.com/blog/2017/04/ calculation-v-look-up/ (also at Internet Archive 2018-08-17 08:02:13 ).Google ScholarGoogle Scholar
  114. Roger K.W. Hui. 2017b. Index-Of on Multiple Floats. Dyalog User Meeting 2017 (11 Sept. 2017). http://www.dyalog.com/ uploads/conference/dyalog17/presentations/D07_IndexOf_on_Multiple_Floats.zip (also at Internet Archive 2020-02-06 17:08:44 ).Google ScholarGoogle Scholar
  115. Roger K.W. Hui. 2017c. Stencil Lives. Dyalog Blog (31 July 2017). http://www.dyalog.com/blog/2017/07/stencil-lives/ (also at Internet Archive 2020-02-06 17:16:37 ).Google ScholarGoogle Scholar
  116. Roger K.W. Hui. 2017d. ⍸ and ⌺ in Depth, SP1 Workshop. Dyalog User Meeting 2017 (10 Sept. 2017). http://www. dyalog.com/uploads/conference/dyalog17/workshops/SP1_Version_16_Language_Features_in_Depth.zip (also at Internet Archive 2020-02-06 05:52:57 ).Google ScholarGoogle Scholar
  117. Roger K.W. Hui. 2018a. Dyadic Grade. Dyalog Blog (25 April 2018). http://www.dyalog.com/blog/2018/04/dyadic-grade/ (also at Internet Archive 2020-02-06 17:20:05 ).Google ScholarGoogle Scholar
  118. Roger K.W. Hui. 2018b. Inverted Tables. Dyalog User Meeting 2018 (1 Nov. 2018). http://www.dyalog.com/uploads/ conference/dyalog18/presentations/D14_Inverted_Tables.zip (also at Internet Archive 2020-02-06 17:55:53 ).Google ScholarGoogle Scholar
  119. Roger K.W. Hui. 2020b. Reflections on Key. Dyalog APL Chat Forum (29 April 2020). http://forums.dyalog.com/viewtopic. php?f=30&t=1632 (also at Internet Archive 2020-04-30 16:03:28 ).Google ScholarGoogle Scholar
  120. Roger K.W. Hui. 2020c. Toward Improvements to Stencil. Dyalog APL Chat Forum (23 April 2020). http://forums.dyalog. com/viewtopic.php?f=30&t=1625 (also at Internet Archive 2020-04-30 16:29:21 ).Google ScholarGoogle Scholar
  121. Roger K.W. Hui and Kenneth E. Iverson. 1989-2004. J Introduction and Dictionary. Jsoftware Inc. http://www.jsoftware. com/help/dictionary/contents.htm (also at Internet Archive 2019-10-03 03:46:28 ).Google ScholarGoogle Scholar
  122. Roger K.W. Hui, Kenneth E. Iverson, and Eugene E. McDonnell. 1991. Tacit Definition. APL91 Conference Proceedings, APL Quote Quad 21, 4 (Aug. 1991). http://www.jsoftware.com/papers/TacitDefn.htm (also at Internet Archive 2019-10-02 23:15:00 ).Google ScholarGoogle Scholar
  123. Roger K.W. Hui, Kenneth E. Iverson, Eugene E. McDonnell, and Arthur T. Whitney. 1990. APL\? APL90 Conference Proceedings, APL Quote Quad 20, 4 (July 1990). http://www.jsoftware.com/papers/J1990.htm (also at Internet Archive 2019-10-02 23:14:11 ).Google ScholarGoogle Scholar
  124. Roger K.W. Hui and Morten J. Kromberg. 2020. APL Since 1978. Proceedings of the ACM on Programming Languages 4, HOPL (June 2020). Google ScholarGoogle ScholarDigital LibraryDigital Library
  125. IBM. 1975. APL Language GC26-3847. IBM Corporation. http://www.bitsavers.org/pdf/ibm/apl/GC26-3847-0_APL_ Language_Mar75.pdfGoogle ScholarGoogle Scholar
  126. IBM. 1994. APL2 Programming: Language Reference SH21-1061-01 (2 ed.). IBM Corporation. http://www.ibm.com/ downloads/cas/ZOKMYKOY (also at Internet Archive 2020-02-08 05:43:15 ).Google ScholarGoogle Scholar
  127. John K. Iliffe. 1961. The Use of The Genie System in Numerical Calculations. Annual Review in Automatic Programming 2 (1961), 1–28. Google ScholarGoogle ScholarCross RefCross Ref
  128. Intel. 2019. Intel Intrinsics Guide – Bit Manipulation. (2019). http://software.intel.com/sites/landingpage/IntrinsicsGuide/ (also at Internet Archive 2020-01-16 17:29:52 ).Google ScholarGoogle Scholar
  129. IPSA. 1975. APLSTAT. The I.P. Sharp Newsletter (April 1975), 6–7. http://www.snakeisland.com/IPSANewsletter_1975_04_ 05.pdf (also at Internet Archive 2020-02-04 21:07:38 ).Google ScholarGoogle Scholar
  130. IPSA. 1978. (lead article). The I.P. Sharp Newsletter 6, 1 (Jan. 1978). http://www.snakeisland.com/IPSANewsletter_1978_ 01_02.pdf (also at Internet Archive 2020-02-05 00:08:41 ).Google ScholarGoogle Scholar
  131. IPSA. 1979. A Decade of APL! The I.P. Sharp Newsletter 7, 5 (Sept. 1979). http://www.snakeisland.com/IPSANewsletter_ 1979_09_10.pdf (also at Internet Archive 2020-02-05 00:10:30 ).Google ScholarGoogle Scholar
  132. IPSA. 1980. Dr. Kenneth E. Iverson. The I.P. Sharp Newsletter 8, 1 (Jan. 1980). http://www.snakeisland.com/IPSANewsletter_ 1980_01_02.pdf (also at Internet Archive 2019-08-08 16:38:48 ).Google ScholarGoogle Scholar
  133. ISO/IEC. 1993. Universal Coded Character Set (UCS), ISO/IEC 10646. ISO/IEC.Google ScholarGoogle Scholar
  134. ISO/IEC. 2001. Programming Language Extended APL, ISO/IEC 13751:2001(E). ISO/IEC.Google ScholarGoogle Scholar
  135. ISO/IEC. 2011. Information technology – Database languages – SQL Technical Reports, ISO/IEC TR 19075. ISO/IEC. http: //standards.iso.org/ittf/PubliclyAvailableStandards/index.htmlGoogle ScholarGoogle Scholar
  136. Eric B. Iverson. 1978a. The Commercializing of APL\360 and Some Current Plans for Its Future. 1978 APL Users Meeting Proceedings (Sept. 1978), 13–21.Google ScholarGoogle Scholar
  137. Eric B. Iverson. 1982. Current Developments in SHARP APL. 1982 APL Users Meeting Proceedings (1982), 83–90.Google ScholarGoogle Scholar
  138. Eric B. Iverson. 2016. e-mail message. (12 April 2016). This e-mail confirms Hui’s recollection of events in 1981.Google ScholarGoogle Scholar
  139. Kenneth E. Iverson. 1954a. Graduate Instruction and Research. Proceedings of the First Conference on Training Personnel for the Computing Machine Field (June 1954). http://www.jsoftware.com/papers/GradIR.htm (also at Internet Archive 2019-10-03 04:14:51 ).Google ScholarGoogle Scholar
  140. Kenneth E. Iverson. 1954b. Machine Solutions of Linear Differential Equations. Ph.D. Dissertation. Harvard University. http://www.jsoftware.com/papers/MSLDE.htm (also at Internet Archive 2019-10-02 20:58:51 ).Google ScholarGoogle Scholar
  141. Kenneth E. Iverson. 1962. A Programming Language. Wiley. http://www.jsoftware.com/papers/APL.htm (also at Internet Archive 2019-10-02 19:23:15 ).Google ScholarGoogle Scholar
  142. Kenneth E. Iverson. 1964. Formalism in Programming Languages. Commun. ACM 7, 2 (Feb. 1964). http://www.jsoftware. com/papers/FPL.htm (also at Internet Archive 2019-10-02 22:17:45 ).Google ScholarGoogle Scholar
  143. Kenneth E. Iverson. 1966. Elementary Functions: An Algorithmic Treatment. Science Research Associates, Inc. http://www. jsoftware.com/papers/EvalOrder.htm (also at Internet Archive 2019-10-02 22:29:54 ).Google ScholarGoogle Scholar
  144. Kenneth E. Iverson. 1969. The Use of APL in Teaching. IBM Corporation. http://www.softwarepreservation.org/projects/ apl/Papers/196912_The%20Use%20of%20APL%20In%20Teaching_320-0996-0.pdfGoogle ScholarGoogle Scholar
  145. Kenneth E. Iverson. 1972a. Algebra: An Algorithmic Treatment. Addison-Wesley. http://www.jsoftware.com/books/pdf/ algebra.pdf (also at Internet Archive 2019-10-03 04:28:56 ).Google ScholarGoogle Scholar
  146. Kenneth E. Iverson. 1972b. Introducing APL to Teachers. IBM Corporation. http://www.softwarepreservation.org/projects/ apl/Papers/197207_Introducing%20APL%20To%20Teachers_320-3014.pdfGoogle ScholarGoogle Scholar
  147. Kenneth E. Iverson. 1973. An Introduction to APL for Scientists and Engineers. IBM Corporation. http: //www.softwarepreservation.org/projects/apl/Papers/197303_An%20Introduction%20To%20APL%20For%20Scientists% 20And%20Engineers.pdfGoogle ScholarGoogle Scholar
  148. Kenneth E. Iverson. 1974. Formal Function Definition, in Elementary Functions, Chapter 10. IBM Corporation. http://www. jsoftware.com/papers/DirectDef.htm (also at Internet Archive 2019-10-03 04:26:27 ).Google ScholarGoogle Scholar
  149. Kenneth E. Iverson. 1976. Elementary Analysis. APL Press.Google ScholarGoogle Scholar
  150. Kenneth E. Iverson. 1978b. Operators and Functions. Research Report Number #RC7091 (26 April 1978). http://www. jsoftware.com/papers/opfns.htm (also at Internet Archive 2019-10-02 22:34:40 ).Google ScholarGoogle Scholar
  151. Kenneth E. Iverson. 1978c. Programming Style in APL. 1978 APL Users Meeting Proceedings (18 Sept. 1978). http://www. jsoftware.com/papers/APLStyle.htm (also at Internet Archive 2019-10-02 23:03:29 ).Google ScholarGoogle Scholar
  152. Kenneth E. Iverson. 1980. Notation As a Tool of Thought. Commun. ACM 23, 8 (Aug. 1980).Google ScholarGoogle Scholar
  153. Kenneth E. Iverson. 1981. SATN 41: Composition and Enclosure. I.P. Sharp Associates Limited. http://www.jsoftware.com/ papers/satn41.htm (also at Internet Archive 2019-10-02 23:46:42 ).Google ScholarGoogle Scholar
  154. Kenneth E. Iverson. 1983a. APL Syntax and Semantics. APL83 Conference Proceedings, APL Quote Quad 13, 3 (March 1983). http://www.jsoftware.com/papers/APLSyntaxSemantics.htm (also at Internet Archive 2019-10-02 22:16:34 ).Google ScholarGoogle Scholar
  155. Kenneth E. Iverson. 1983b. Rationalized APL. I.P. Sharp Associates Limited. http://www.jsoftware.com/papers/ RationalizedAPL.htm (also at Internet Archive 2019-10-02 22:35:24 ).Google ScholarGoogle Scholar
  156. Kenneth E. Iverson. 1986a. Applied Mathematics for Programmers. I.P. Sharp Associates Limited.Google ScholarGoogle Scholar
  157. Kenneth E. Iverson. 1986b. Mathematics and Programming. I.P. Sharp Associates Limited.Google ScholarGoogle Scholar
  158. Kenneth E. Iverson. 1987. A Dictionary of APL. APL Quote Quad 18, 1 (Sept. 1987). Google ScholarGoogle ScholarDigital LibraryDigital Library
  159. Kenneth E. Iverson. 1988. A Commentary on APL Development. APL Quote Quad 19, 1 (Sept. 1988). http://www.jsoftware. com/papers/commentary.htm (also at Internet Archive 2019-10-02 23:13:27 ).Google ScholarGoogle Scholar
  160. Kenneth E. Iverson. 1989-2004. personal communication. (1989-2004). Iverson and Hui conversed in many working and informal settings, for much of which written records do not exist.Google ScholarGoogle Scholar
  161. Kenneth E. Iverson. 1990. A Dictionary of J. Vector 7, 2 (Oct. 1990). This version of the J Dictionary has been superseded by [ Hui and Iverson 2004 ].Google ScholarGoogle Scholar
  162. Kenneth E. Iverson. 1991a. A Personal View of APL. IBM Systems Journal 30, 4 (Dec. 1991). http://www.jsoftware.com/ papers/APLPersonalView.htm (also at Internet Archive 2019-10-02 23:15:21 ).Google ScholarGoogle Scholar
  163. Kenneth E. Iverson. 1991b. Programming in J. Iverson Software Inc.Google ScholarGoogle Scholar
  164. Kenneth E. Iverson and Eugene E. McDonnell. 1989. Phrasal Forms. APL89 Conference Proceedings, APL Quote Quad 19, 4 (Aug. 1989). http://www.jsoftware.com/papers/fork.htm (also at Internet Archive 2019-10-02 23:13:49 ).Google ScholarGoogle Scholar
  165. Kenneth E. Iverson and Donald B. McIntyre. 2008. Kenneth E. Iverson. (2008). http://www.jsoftware.com/papers/autobio. htm (also at Internet Archive 2020-01-25 23:17:58 ).Google ScholarGoogle Scholar
  166. Kenneth E. Iverson, Roland H. Pesch, and J. Henri Schueler. 1984. An Operator Calculus. APL84 Conference Proceedings, APL Quote Quad 14, 4 (June 1984). http://www.jsoftware.com/papers/APLOperatorCalculus.htm (also at Internet Archive 2017-10-12 00:23:33 ).Google ScholarGoogle Scholar
  167. Kenneth E. Iverson and Arthur T. Whitney. 1982. Practical Uses of a Model of APL. APL82 Conference Proceedings, APL Quote Quad 13, 1 (Sept. 1982). http://www.jsoftware.com/papers/APLModel.htm (also at Internet Archive 2019-10-02 22:35:02 ).Google ScholarGoogle Scholar
  168. Kenneth E. Iverson and Peter K. Wooster. 1981. A Function Definition Operator. APL81 Conference Proceedings, APL Quote Quad 12, 1 (Sept. 1981). Google ScholarGoogle ScholarDigital LibraryDigital Library
  169. Michael A. Jenkins. 1989. Q’Nial: A Portable Interpreter for the Nested Interactive Array Language Nial. Software Practice & Experience 19, 2 (Feb. 1989). Google ScholarGoogle ScholarDigital LibraryDigital Library
  170. Ronald L. Johnston. 1977. APLGOL: Structured Programming Facilities for APL. Hewlett-Packard Journal (July 1977). http://hparchive.com/Journals/HPJ-1977-07.pdf (also at Internet Archive 2019-10-03 04:44:57 ).Google ScholarGoogle Scholar
  171. Jsoftware. 2017. Jd Index. (2017). http://code.jsoftware.com/wiki/Jd/Index (also at Internet Archive 2018-10-25 00:29:48 ).Google ScholarGoogle Scholar
  172. Jsoftware. 2018. Git Repositories. (2018). http://code.jsoftware.com/wiki/Git_Repositories (also at Internet Archive 2019-08-14 15:05:13 ).Google ScholarGoogle Scholar
  173. Robert A. Kelley. 1972. APLGOL, A Structured Programming Language for APL, Report Number 320-3299. IBM Palo Alto Scientific Center (Aug. 1972).Google ScholarGoogle Scholar
  174. Robert A. Kelley. 1973. APLGOL, An Experimental Structured Programming Language. IBM Journal of Research and Development 17, 1 (Jan. 1973).Google ScholarGoogle Scholar
  175. Donald E. Knuth. 1968. The Art of Computer Programming, Volume 1, Fundamental Algorithms. Addison-Wesley.Google ScholarGoogle Scholar
  176. Donald E. Knuth. 1973. The Art of Computer Programming, Volume 3, Sorting and Searching. Addison-Wesley.Google ScholarGoogle Scholar
  177. Donald E. Knuth. 1974. Computer Programming as an Art. Commun. ACM 17, 12 (Dec. 1974). Google ScholarGoogle ScholarDigital LibraryDigital Library
  178. Donald E. Knuth. 1992. Two Notes on Notation. Amer. Math. Monthly 99, 5 (1 May 1992). http://arxiv.org/PS_cache/math/ pdf/9205/9205211v1.pdfGoogle ScholarGoogle Scholar
  179. Andrei V. Kondrashev and Oleg Luksha. 1991. A History of APL in the USSR. APL Quote Quad 22, 2 (Dec. 1991). Google ScholarGoogle ScholarDigital LibraryDigital Library
  180. Morten J. Kromberg. 2007. Arrays of Objects. Proceedings of the 2007 Symposium on Dynamic Languages (22 Oct. 2007). http://www.dyalog.com/uploads/documents/Papers/Arrays%20of%20Objects.pdf (also at Internet Archive 2019-03-31 23:53:12 ).Google ScholarGoogle Scholar
  181. Phil Last. 2010. The fk Operator. comp.lang.apl News Group (26 Aug. 2010). http://groups.google.com/group/comp.lang. apl/browse_thread/thread/8b5151085e9d277d/018e033fb8f32f10#018e033fb8f32f10Google ScholarGoogle Scholar
  182. Marshall W. Lochbaum. 2017. Moving Bits Faster in Dyalog 16.0. Dyalog User Meeting 2017 (12 Sept. 2017). http://www. dyalog.com/uploads/conference/dyalog17/presentations/D08_Moving_Bits_Faster_in_Dyalog_16.zip (also at Internet Archive 2020-02-08 04:24:20 ).Google ScholarGoogle Scholar
  183. John McCarthy et al. 1959. LISP Programmer’s Manual.Google ScholarGoogle Scholar
  184. Eugene E. McDonnell. 1976. Zero Divided by Zero. APL76 Conference Proceedings (22 Sept. 1976). http://www.jsoftware. com/papers/eem/0div0.htm (also at Internet Archive 2019-07-30 16:32:41 ).Google ScholarGoogle Scholar
  185. Eugene E. McDonnell. 1977. The Story of ○. APL Quote Quad 8, 2 (Dec. 1977). http://www.jsoftware.com/papers/eem/ storyofo.htm (also at Internet Archive 2019-07-03 01:48:11 ).Google ScholarGoogle Scholar
  186. Eugene E. McDonnell. 1981a. SATN 40: Complex Numbers. I.P. Sharp Associates Limited. http://www.jsoftware.com/ papers/satn40.htm (also at Internet Archive 2019-07-03 02:26:34 ).Google ScholarGoogle Scholar
  187. Eugene E. McDonnell (Ed.). 1981b. A Source Book in APL, Introduction. APL Press. http://code.jsoftware.com/wiki/Doc/A_ Source_Book_in_APL (also at Internet Archive 2019-10-02 22:20:59 ).Google ScholarGoogle Scholar
  188. Eugene E. McDonnell. 1986. A Perfect Square Root Routine. APL86 Conference Proceedings, APL Quote Quad 16, 4 (10 July 1986). http://www.jsoftware.com/papers/eem/sqrt.htm (also at Internet Archive 2019-07-30 19:32:14 ).Google ScholarGoogle Scholar
  189. Eugene E. McDonnell. 2003. The Magical Matrix. Vector 20, 2 (Oct. 2003). http://code.jsoftware.com/wiki/Doc/Articles/ Play202 (also at Internet Archive 2019-07-03 09:47:30 ).Google ScholarGoogle Scholar
  190. Eugene E. McDonnell and Jeffrey O. Shallit. 1980. Extending APL to Infinity. APL80 Conference Proceedings (1980). http: //www.jsoftware.com/papers/eem/infinity.htm (also at Internet Archive 2019-07-30 19:32:05 ).Google ScholarGoogle Scholar
  191. Jon McGrew. 2016. Forgotten APL Influences. APL-Journal 35, 1-2 (2016), 21–54. http://apl-germany.de/wp-content/ uploads/2018/01/APL_Journal_2016_12.pdf (also at Internet Archive 2020-02-07 19:17:27 ).Google ScholarGoogle Scholar
  192. Microsoft. 2017. Overview of the .NET Framework. (29 March 2017). http://docs.microsoft.com/en-us/dotnet/framework/ get-started/overview (also at Internet Archive 2019-08-20 22:54:26 ).Google ScholarGoogle Scholar
  193. Roger D. Moore. 2005. IPSANET Documents. (2005). http://www.rogerdmoore.ca/INF (also at Internet Archive 2019-07-08 08:39:17 ).Google ScholarGoogle Scholar
  194. Roger D. Moore. 2017. e-mail message. (1 Nov. 2017). This e-mail concerns the use of magic functions in APL.Google ScholarGoogle Scholar
  195. Grant J. Munsey. 1977. APL Data: Virtual Workspaces and Shared Storage. Hewlett-Packard Journal (July 1977). http: //hparchive.com/Journals/HPJ-1977-07.pdf (also at Internet Archive 2020-01-03 04:46:41 ).Google ScholarGoogle Scholar
  196. Nikolay G. Nickolov. 2013. Compiling APL to JavaScript. Vector 26, 1 (Sept. 2013). http://archive.vector.org.uk/art10501160 (also at Internet Archive 2020-01-14 22:02:41 ).Google ScholarGoogle Scholar
  197. Kristen Nygaard and Ole-Johan Dahl. 1978. The Development of the SIMULA Languages. ACM SIGPLAN Notices 13, 8 (Aug. 1978). Google ScholarGoogle ScholarDigital LibraryDigital Library
  198. Donald L. Orth. 1981. A Comparison of the IPSA and STSC Implementations of Operators and General Arrays. APL Quote Quad 12, 2 (Dec. 1981). Google ScholarGoogle ScholarDigital LibraryDigital Library
  199. Donald L. Orth. 2006. Kdb+ Database Reference Manual. Kx Systems Inc. http://legaldocumentation.kx.com/q/d/kdb+1.htm (also at Internet Archive 2020-02-08 16:36:41 ).Google ScholarGoogle Scholar
  200. Sandra Pakin. 1972. APL\360 Reference Manual, 2nd Edition. Science Research Associates, Inc.Google ScholarGoogle Scholar
  201. Paul L. Penfield. 1975. APL Symbols. APL Quote Quad 6, 1 (1975). Google ScholarGoogle ScholarDigital LibraryDigital Library
  202. Paul L. Penfield. 1979. Proposal for a Complex APL. APL79 Conference Proceedings, APL Quote Quad 9, 4 (June 1979). Google ScholarGoogle ScholarDigital LibraryDigital Library
  203. Paul L. Penfield. 1981. Principal Values and Branch Cuts in Complex APL. APL81 Conference Proceedings, APL Quote Quad 12, 1 (Sept. 1981). Google ScholarGoogle ScholarDigital LibraryDigital Library
  204. Alan J. Perlis. 1978. Almost Perfect Artifacts Improve only in Small Ways: APL is more French than English. APL78 Conference (29 March 1978). http://www.jsoftware.com/papers/perlis78.htm (also at Internet Archive 2019-10-02 22:19:54 ).Google ScholarGoogle Scholar
  205. Alan J. Perlis and Spencer Rugaber. 1977. The APL Idiom List. (April 1977). http://cpsc.yale.edu/sites/default/files/files/ tr87.pdfGoogle ScholarGoogle Scholar
  206. Roland H. Pesch. 1981. Indexing and Indexed Replacement in APL. APL81 Conference Proceedings, APL Quote Quad 12, 1 (Sept. 1981). Google ScholarGoogle ScholarDigital LibraryDigital Library
  207. Roland H. Pesch. 2004. e-mail message. (11 Nov. 2004). This e-mail and [ Whitney 2004 ] confirm Hui’s recollection re Whitney’s invention of the rank operator in 1982.Google ScholarGoogle Scholar
  208. Richard L. Potyok. 1987. Network Shared Variable Processor. APL Quote Quad 18, 2 (Dec. 1987). Google ScholarGoogle ScholarDigital LibraryDigital Library
  209. Henry H. Rich. 2020. e-mail messages. (7-9 Feb. 2020). These e-mails concern an efficient implementation of the parse model.Google ScholarGoogle Scholar
  210. Kyosuke Saigusa. 1994. Use of APL in Japan. APL94 Conference Proceedings, APL Quote Quad 25, 1 (Sept. 1994). Google ScholarGoogle ScholarDigital LibraryDigital Library
  211. Jürgen Sauermann. 2013-2018. GNU APL. (2013-2018). http://www.gnu.org/software/apl/ (also at Internet Archive 2019-12-22 20:09:13 ).Google ScholarGoogle Scholar
  212. John Scholes. 1996. Direct Functions in Dyalog APL. Vector 13, 2 (Oct. 1996). http://www.dyalog.com/uploads/documents/ Papers/dfns.pdf (also at Internet Archive 2017-03-06 12:02:17 ).Google ScholarGoogle Scholar
  213. John Scholes. 1998-2019a. D-Functions Workspace. (1998-2019). http://dfns.dyalog.com/sindx.htm (also at Internet Archive 2019-09-21 03:16:23 ).Google ScholarGoogle Scholar
  214. John Scholes. 1998-2019b. D-Functions Workspace, at. (1998-2019). http://dfns.dyalog.com/n_at.htm (also at Internet Archive 2016-10-12 14:35:33 ).Google ScholarGoogle Scholar
  215. John Scholes. 1998-2019c. D-Functions Workspace, cmpx. (1998-2019). http://dfns.dyalog.com/n_cmpx.htm (also at Internet Archive 2016-08-10 12:21:17 ).Google ScholarGoogle Scholar
  216. John Scholes. 1998-2019d. D-Functions Workspace, disp. (1998-2019). http://dfns.dyalog.com/n_disp.htm (also at Internet Archive 2016-08-10 12:15:43 ).Google ScholarGoogle Scholar
  217. John Scholes. 1998-2019e. D-Functions Workspace, parse. (1998-2019). http://dfns.dyalog.com/n_parse.htm (also at Internet Archive 2016-08-10 12:32:34 ).Google ScholarGoogle Scholar
  218. John Scholes. 1998-2019f. D-Functions Workspace, wsreq. (1998-2019). http://dfns.dyalog.com/n_wsreq.htm (also at Internet Archive 2016-03-31 00:52:12 ).Google ScholarGoogle Scholar
  219. John Scholes. 2013. Train Spotting in Version 14.0. Dyalog User Meeting 2013 (22 Oct. 2013). http://www.dyalog.com/ uploads/conference/dyalog13/presentations/D09_Train_Spotting_in_Version_14.pdf (also at Internet Archive 2019-09-22 02:56:16 ).Google ScholarGoogle Scholar
  220. John Scholes. 2018. Dfns—Past, Present and Future. Dyalog User Meeting 2018 (31 Oct. 2018). http://www.dyalog.com/ uploads/conference/dyalog18/presentations/D10_Dfns_Past_Present_Future.pdf (also at Internet Archive 2020-02-08 05:06:02 )., Video recording of presentation available at http://www.youtube.com/watch?v=y33XDD6ANt0 .Google ScholarGoogle Scholar
  221. SciPy.org. 2017. Broadcasting. NumPy User Guide, NumPy v1.13 Manual (10 June 2017). http://docs.scipy.org/doc/numpy1.13.0/user/basics.broadcasting.html (also at Internet Archive 2019-05-29 07:52:14 ).Google ScholarGoogle Scholar
  222. Jeffrey O. Shallit. 1981. Infinite Arrays and Diagonalization. APL81 Conference Proceedings, APL Quote Quad 12, 1 (Sept. 1981). Google ScholarGoogle ScholarDigital LibraryDigital Library
  223. Lynne C. Shaw (Ed.). 1992. APL92 Conference Proceedings, APL Quote Quad. Vol. 23, 1.Google ScholarGoogle Scholar
  224. Artjoms Šinkarovs, Robert Bernecky, and Sven-Bodo Scholz. 2019. Convolutional Neural Networks in APL. ARRAY 2019: Proceedings of the 6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming (June 2019). Google ScholarGoogle ScholarDigital LibraryDigital Library
  225. SmartArrays. 1999. (1999). http://www.smartarrays.com (also at Internet Archive 2019-11-09 04:10:29 ).Google ScholarGoogle Scholar
  226. Adrian Smith. 2004. A Strategy for Compiling APL for the .Net Framework. Vector 20, 4 (April 2004). http://www.jsoftware. com/papers/Vector_20_4_Smith.pdf (also at Internet Archive 2020-02-11 00:35:48 ).Google ScholarGoogle Scholar
  227. Bob Smith. 2006-2020. NARS2000. (2006-2020). http://www.nars2000.org/ (also at Internet Archive 2020-01-23 00:03:53 ).Google ScholarGoogle Scholar
  228. Bob Smith. 2018. e-mail messages. (18-22 Nov. 2018). These e-mails concern Smith’s APL activities between 1970 and 2018, in particular the origins of NARS2000.Google ScholarGoogle Scholar
  229. Bob Smith. 2019. e-mail message. (23 Feb. 2019). This e-mail concerns the reasons for the symbol used to denote tally in NARS2000.Google ScholarGoogle Scholar
  230. Howard J. Smith Jr. 1979. Sorting – A New/Old Problem. APL79 Conference Proceedings, APL Quote Quad 9, 4 (June 1979). Google ScholarGoogle ScholarDigital LibraryDigital Library
  231. Zbigniew Stachniak. 2011. Inventing the PC: The MCM/70 Story. McGill-Queen’s University Press.Google ScholarGoogle Scholar
  232. David H. Steinbrook. 1986. SAX Reference. I.P. Sharp Associates.Google ScholarGoogle Scholar
  233. STSC. 1983. APL*PLUS/PC System User’s Guide. STSC, Inc.Google ScholarGoogle Scholar
  234. Roy A. Sykes Jr. 2019. e-mail message. (11 Aug. 2019). This e-mail concerns use of the STSC APL compiler.Google ScholarGoogle Scholar
  235. Philip L. Wadler et al. 1989. Special Issue on Functional Programming. Comput. J. 32, 2 (1 Jan. 1989). Google ScholarGoogle ScholarCross RefCross Ref
  236. WaybackMachine. 2009. Snapshot of www.sigapl.org. (21 Feb. 2009). http://web.archive.org/web/20081222042714/http: //www.sigapl.org/Google ScholarGoogle Scholar
  237. Jim Weigang. 1985. An Introduction to STSC’s APL Compiler. APL85 Conference Proceedings, APL Quote Quad 15, 4 (May 1985). Google ScholarGoogle ScholarDigital LibraryDigital Library
  238. Arthur T. Whitney. 1989. A. APL89 plenary session (Aug. 1989). There are no known records of this presentation.Google ScholarGoogle Scholar
  239. Arthur T. Whitney. 1992. personal communication, Kiln Farm. (24 May 1992). Whitney suggested prefix instead of suffix agreement in a meeting with Hui and Iverson.Google ScholarGoogle Scholar
  240. Arthur T. Whitney. 1993. K. Vector 10, 1 (July 1993). http://archive.vector.org.uk/art10010830 (also at Internet Archive 2020-01-17 01:20:05 ).Google ScholarGoogle Scholar
  241. Arthur T. Whitney. 2004. e-mail message. (11 Nov. 2004). This e-mail and [ Pesch 2004 ] confirm Hui’s recollection re Whitney’s invention of the rank operator in 1982.Google ScholarGoogle Scholar
  242. Arthur T. Whitney. 2006a. Abridged Kdb+ Database Manual. (13 Oct. 2006). http://legaldocumentation.kx.com/q/d/kdb+ .htm (also at Internet Archive 2020-02-08 16:44:28 ).Google ScholarGoogle Scholar
  243. Arthur T. Whitney. 2006b. Memories of Ken. Vector 22, 3 (Aug. 2006). http://archive.vector.org.uk/art10010840 (also at Internet Archive 2018-02-24 11:34:58 ).Google ScholarGoogle Scholar
  244. Arthur T. Whitney. 2009. Abridged Q Language Manual. (16 March 2009). http://legaldocumentation.kx.com/q/d/q.htm (also at Internet Archive 2020-02-08 17:01:44 ).Google ScholarGoogle Scholar
  245. Arthur T. Whitney. 2016. e-mail message. (13 April 2016). This e-mail confirms Hui’s recollection of events in 1981.Google ScholarGoogle Scholar
  246. Wikipedia. 2016. Kenneth E. Iverson. (2016). http://en.wikipedia.org/wiki/Kenneth_E._IversonGoogle ScholarGoogle Scholar
  247. Wikipedia. 2019a. Direct function. (2019). http://en.wikipedia.org/wiki/Direct_functionGoogle ScholarGoogle Scholar
  248. Wikipedia. 2019b. John M. Scholes. (2019). http://en.wikipedia.org/wiki/John_M._ScholesGoogle ScholarGoogle Scholar
  249. Peter K. Wooster. 1980. SATN 35: Extended Upgrade and Downgrade. I.P. Sharp Associates Limited. http://www.jsoftware. com/papers/SATN.pdf (also at Internet Archive 2020-02-07 17:05:07 ).Google ScholarGoogle Scholar

Index Terms

  1. APL since 1978

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!