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.
- 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 Scholar
- 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 Scholar
- Philip S. Abrams. 1970. An APL Machine. Ph.D. Dissertation. Stanford University. http://www.slac.stanford.edu/pubs/ slacreports/reports07/slac-r-114.pdfGoogle Scholar
- ACM. 1973. Grace Murray Hopper Award. (1973). http://awards.acm.org/award_winners/breed_0694605.cfmGoogle Scholar
- Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman. 1974. The Design and Analysis of Computer Algorithms. AddisonWesley.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Jacques Barzun. 2000. From Dawn to Decadence: 500 Years of Western Cultural Life, 1500 to the Present. HarperCollins.Google Scholar
- Jon L. Bentley. 1983. Programming Pearls. Commun. ACM 26, 9 (Sept. 1983). Google Scholar
Digital Library
- Robert Bernecky. 1973. Speeding Up Dyadic Iota and Dyadic Epsilon. Proceedings of the APL Congress 73 (22 Aug. 1973).Google Scholar
- 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 Scholar
- Robert Bernecky. 1987. An Introduction to Function Rank. APL88 Conference Proceedings, APL Quote Quad 18, 2 (Dec. 1987). Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- Paul C. Berry. 1979. SHARP APL Reference Manual. I.P. Sharp Associates Limited.Google Scholar
- 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 Scholar
- 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 Scholar
- James A. Brown. 1971. A Generalization of APL. Ph.D. Dissertation. Syracuse University. http://www.softwarepreservation. org/projects/apl/Books/AGENERALIZATIONOFAPLGoogle Scholar
- 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 Scholar
- James A. Brown. 1988. My Favorite Idiom. (Oct. 1988). http://www.softwarepreservation.org/projects/apl/Papers/ MYFAVORITEIDIOMGoogle Scholar
- 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 Scholar
- James A. Brown. 2017. e-mail message. (1 Nov. 2017). This e-mail concerns the use of magic functions in APL2.Google Scholar
- 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 Scholar
- John D. Bunda. 1987. APL Function Definition Notation. APL87 Conference Proceedings, APL Quote Quad 17, 4 (May 1987). Google Scholar
Digital Library
- 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 Scholar
- Bryan M. Cantrill. 2009. A Conversation with Arthur Whitney. Queue 7, 2 (Feb. 2009). Google Scholar
Digital Library
- 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 Scholar
- Hanfeg Chen, Wai-Mee Ching, and Laurie Hendren. 2017. ELI-to-C Compiler: Design, Implementation, and Performance. PLDI Array 2017 (5 July 2017). Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Adin D. Falkoff. 1982. Semicolon-Bracket Notation: A Hidden Resource in APL. APL82 Conference Proceedings, APL Quote Quad 13, 1 (Sept. 1982). Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- FinnAPL. 2008-2015. The FinnAPL Idiom Library. (2008-2015). http://aplwiki.com/FinnAplIdiomLibrary (also at Internet Archive 2019-09-26 19:26:43 ).Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Leslie H. Goldsmith. 1980. Corporate Communications Using the SHARP APL Mailbox. 1980 APL Users Meeting Proceedings (Oct. 1980).Google Scholar
- 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 Scholar
- 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 Scholar
- Alan Graham. 1989. APL0: A Simple Modern APL. APL89 Conference Proceedings, APL Quote Quad 19, 4 (Aug. 1989). Google Scholar
Digital Library
- Ronald L. Graham, Donald E. Knuth, and Oren Patashnik. 1989. Concrete Mathematics. Addison-Wesley.Google Scholar
- 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 Scholar
- 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 Scholar
- Israel N. Herstein. 1975. Topics in Algebra (2 ed.). Xerox College Publishing.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Roger K.W. Hui. 1979. Algorithm 135. Generating the Group Table of S(n). APL Quote Quad 10, 1 (Sept. 1979). Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Roger K.W. Hui and Morten J. Kromberg. 2020. APL Since 1978. Proceedings of the ACM on Programming Languages 4, HOPL (June 2020). Google Scholar
Digital Library
- IBM. 1975. APL Language GC26-3847. IBM Corporation. http://www.bitsavers.org/pdf/ibm/apl/GC26-3847-0_APL_ Language_Mar75.pdfGoogle Scholar
- 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 Scholar
- John K. Iliffe. 1961. The Use of The Genie System in Numerical Calculations. Annual Review in Automatic Programming 2 (1961), 1–28. Google Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- ISO/IEC. 1993. Universal Coded Character Set (UCS), ISO/IEC 10646. ISO/IEC.Google Scholar
- ISO/IEC. 2001. Programming Language Extended APL, ISO/IEC 13751:2001(E). ISO/IEC.Google Scholar
- ISO/IEC. 2011. Information technology – Database languages – SQL Technical Reports, ISO/IEC TR 19075. ISO/IEC. http: //standards.iso.org/ittf/PubliclyAvailableStandards/index.htmlGoogle Scholar
- 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 Scholar
- Eric B. Iverson. 1982. Current Developments in SHARP APL. 1982 APL Users Meeting Proceedings (1982), 83–90.Google Scholar
- Eric B. Iverson. 2016. e-mail message. (12 April 2016). This e-mail confirms Hui’s recollection of events in 1981.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Kenneth E. Iverson. 1976. Elementary Analysis. APL Press.Google Scholar
- 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 Scholar
- 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 Scholar
- Kenneth E. Iverson. 1980. Notation As a Tool of Thought. Commun. ACM 23, 8 (Aug. 1980).Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Kenneth E. Iverson. 1986a. Applied Mathematics for Programmers. I.P. Sharp Associates Limited.Google Scholar
- Kenneth E. Iverson. 1986b. Mathematics and Programming. I.P. Sharp Associates Limited.Google Scholar
- Kenneth E. Iverson. 1987. A Dictionary of APL. APL Quote Quad 18, 1 (Sept. 1987). Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Kenneth E. Iverson. 1991b. Programming in J. Iverson Software Inc.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Kenneth E. Iverson and Peter K. Wooster. 1981. A Function Definition Operator. APL81 Conference Proceedings, APL Quote Quad 12, 1 (Sept. 1981). Google Scholar
Digital Library
- Michael A. Jenkins. 1989. Q’Nial: A Portable Interpreter for the Nested Interactive Array Language Nial. Software Practice & Experience 19, 2 (Feb. 1989). Google Scholar
Digital Library
- 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 Scholar
- Jsoftware. 2017. Jd Index. (2017). http://code.jsoftware.com/wiki/Jd/Index (also at Internet Archive 2018-10-25 00:29:48 ).Google Scholar
- Jsoftware. 2018. Git Repositories. (2018). http://code.jsoftware.com/wiki/Git_Repositories (also at Internet Archive 2019-08-14 15:05:13 ).Google Scholar
- Robert A. Kelley. 1972. APLGOL, A Structured Programming Language for APL, Report Number 320-3299. IBM Palo Alto Scientific Center (Aug. 1972).Google Scholar
- Robert A. Kelley. 1973. APLGOL, An Experimental Structured Programming Language. IBM Journal of Research and Development 17, 1 (Jan. 1973).Google Scholar
- Donald E. Knuth. 1968. The Art of Computer Programming, Volume 1, Fundamental Algorithms. Addison-Wesley.Google Scholar
- Donald E. Knuth. 1973. The Art of Computer Programming, Volume 3, Sorting and Searching. Addison-Wesley.Google Scholar
- Donald E. Knuth. 1974. Computer Programming as an Art. Commun. ACM 17, 12 (Dec. 1974). Google Scholar
Digital Library
- 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 Scholar
- Andrei V. Kondrashev and Oleg Luksha. 1991. A History of APL in the USSR. APL Quote Quad 22, 2 (Dec. 1991). Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- John McCarthy et al. 1959. LISP Programmer’s Manual.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Roger D. Moore. 2005. IPSANET Documents. (2005). http://www.rogerdmoore.ca/INF (also at Internet Archive 2019-07-08 08:39:17 ).Google Scholar
- Roger D. Moore. 2017. e-mail message. (1 Nov. 2017). This e-mail concerns the use of magic functions in APL.Google Scholar
- 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 Scholar
- 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 Scholar
- Kristen Nygaard and Ole-Johan Dahl. 1978. The Development of the SIMULA Languages. ACM SIGPLAN Notices 13, 8 (Aug. 1978). Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Sandra Pakin. 1972. APL\360 Reference Manual, 2nd Edition. Science Research Associates, Inc.Google Scholar
- Paul L. Penfield. 1975. APL Symbols. APL Quote Quad 6, 1 (1975). Google Scholar
Digital Library
- Paul L. Penfield. 1979. Proposal for a Complex APL. APL79 Conference Proceedings, APL Quote Quad 9, 4 (June 1979). Google Scholar
Digital Library
- Paul L. Penfield. 1981. Principal Values and Branch Cuts in Complex APL. APL81 Conference Proceedings, APL Quote Quad 12, 1 (Sept. 1981). Google Scholar
Digital Library
- 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 Scholar
- Alan J. Perlis and Spencer Rugaber. 1977. The APL Idiom List. (April 1977). http://cpsc.yale.edu/sites/default/files/files/ tr87.pdfGoogle Scholar
- Roland H. Pesch. 1981. Indexing and Indexed Replacement in APL. APL81 Conference Proceedings, APL Quote Quad 12, 1 (Sept. 1981). Google Scholar
Digital Library
- 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 Scholar
- Richard L. Potyok. 1987. Network Shared Variable Processor. APL Quote Quad 18, 2 (Dec. 1987). Google Scholar
Digital Library
- Henry H. Rich. 2020. e-mail messages. (7-9 Feb. 2020). These e-mails concern an efficient implementation of the parse model.Google Scholar
- Kyosuke Saigusa. 1994. Use of APL in Japan. APL94 Conference Proceedings, APL Quote Quad 25, 1 (Sept. 1994). Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Jeffrey O. Shallit. 1981. Infinite Arrays and Diagonalization. APL81 Conference Proceedings, APL Quote Quad 12, 1 (Sept. 1981). Google Scholar
Digital Library
- Lynne C. Shaw (Ed.). 1992. APL92 Conference Proceedings, APL Quote Quad. Vol. 23, 1.Google Scholar
- 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 Scholar
Digital Library
- SmartArrays. 1999. (1999). http://www.smartarrays.com (also at Internet Archive 2019-11-09 04:10:29 ).Google Scholar
- 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 Scholar
- Bob Smith. 2006-2020. NARS2000. (2006-2020). http://www.nars2000.org/ (also at Internet Archive 2020-01-23 00:03:53 ).Google Scholar
- 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 Scholar
- 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 Scholar
- Howard J. Smith Jr. 1979. Sorting – A New/Old Problem. APL79 Conference Proceedings, APL Quote Quad 9, 4 (June 1979). Google Scholar
Digital Library
- Zbigniew Stachniak. 2011. Inventing the PC: The MCM/70 Story. McGill-Queen’s University Press.Google Scholar
- David H. Steinbrook. 1986. SAX Reference. I.P. Sharp Associates.Google Scholar
- STSC. 1983. APL*PLUS/PC System User’s Guide. STSC, Inc.Google Scholar
- Roy A. Sykes Jr. 2019. e-mail message. (11 Aug. 2019). This e-mail concerns use of the STSC APL compiler.Google Scholar
- Philip L. Wadler et al. 1989. Special Issue on Functional Programming. Comput. J. 32, 2 (1 Jan. 1989). Google Scholar
Cross Ref
- WaybackMachine. 2009. Snapshot of www.sigapl.org. (21 Feb. 2009). http://web.archive.org/web/20081222042714/http: //www.sigapl.org/Google Scholar
- Jim Weigang. 1985. An Introduction to STSC’s APL Compiler. APL85 Conference Proceedings, APL Quote Quad 15, 4 (May 1985). Google Scholar
Digital Library
- Arthur T. Whitney. 1989. A. APL89 plenary session (Aug. 1989). There are no known records of this presentation.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Arthur T. Whitney. 2016. e-mail message. (13 April 2016). This e-mail confirms Hui’s recollection of events in 1981.Google Scholar
- Wikipedia. 2016. Kenneth E. Iverson. (2016). http://en.wikipedia.org/wiki/Kenneth_E._IversonGoogle Scholar
- Wikipedia. 2019a. Direct function. (2019). http://en.wikipedia.org/wiki/Direct_functionGoogle Scholar
- Wikipedia. 2019b. John M. Scholes. (2019). http://en.wikipedia.org/wiki/John_M._ScholesGoogle Scholar
- 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 Scholar
Index Terms
APL since 1978
Recommendations
The effect of operators on parsing and evaluation in APL
The importance of function valued functions (operators) in APL is now well recognized, and considerable attention has been paid to the introduction of more general operators into the language. In this article we consider some of the consequences for the ...
Compiling a Subset of APL Into a Typed Intermediate Language
ARRAY'14: Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array ProgrammingWe present a compiler and a typed intermediate language for a subset of APL. The intermediate language treats all numeric data as multi-dimensional arrays and the type system makes explicit the ranks of arrays. Primitive operators are polymorphic in ...
Software Science Applied to APL
Previous attempts to apply Halstead's software metrics to APL have led to inconsistent and counter-intuitive results. This work is a further investigation into the application of software metrics to APL to try to resolve some of the inconsistency. The ...






Comments