

The Array Cast
The Array Cast
We explore the Array Languages of APL, J, k, q and offshoots. If you are Array Language curious, this is the podcast for you. Occasionally we may dive into the weeds, but most of the time we try to stay accessible to the general listener.
Episodes
Mentioned books

Mar 5, 2022 • 1h 14min
Josh David, APL in Industry
Array Cast - March 5, 2022 Show NotesMany thanks to Adám Brudzewsky for collecting these links.[1] 00:01:23 APL Seeds '22 conference: https://www.dyalog.com/apl-seeds-user-meetings/aplseeds22.htm [2] 00:02:00 APL Quest chat event: https://apl.wiki/APL_Quest [3] 00:02:05 APL Orchard: https://apl.wiki/APL_Orchard [4] 00:02:55 APL Seeds '21 https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm [5] 00:03:38 APL Seeds '22 registration https://us02web.zoom.us/webinar/register/WN_yZb-ha8sRLCJ1DbjAq8nzA [6] 00:04:15 APL Farm: https://apl.wiki/APL_Farm [7] 00:04:20 BQNPad https://bqnpad.mechanize.systems/ [8] 00:06:02 Carlisle Group: https://www.carlislegroup.com/ [9] 00:07:55 APL '99: https://aplwiki.com/wiki/APL_conference#1999[10] 00:10:54 Josh wins second prize: https://www.dyalog.com/news/102/420/2015-APL-Programming-Contest-Winners.htm[11] 00:10:57 And grand prize: https://www.dyalog.com/news/112/420/2016-APL-Programming-Contest-Winners.htm[12] 00:11:04 Winner's presentation: https://dyalog.tv/Dyalog16/?v=afB2IXCBJJ8[13] 00:13:18 Dado Wiki coding practices: https://github.com/the-carlisle-group/Dado/wiki/How-Not-To-Code-In-Dyalog-APL[14] 00:17:23 Paul Mansour's blog: https://www.toolofthought.com[15] 00:18:00 Practical Introduction to APL https://github.com/the-carlisle-group/PracticalAPL[16] 00:18:32 Cas https://github.com/the-carlisle-group/cas-samples[17] 00:18:55 FlipDB https://github.com/the-carlisle-group/FlipDBDoc[18] 00:20:12 Carlisle Group on GitHub: https://github.com/the-carlisle-group[19] 00:23:34 Advent of Code in APL: https://apl.wiki/Advent_of_Code[20] 00:26:25 Outer Product: https://apl.wiki/Outer_Product[21] 00:27:01 ADSP #1 https://adspthepodcast.com/2020/11/20/Episode-0.html[22] 00:29:01 Marshall Lochbaum's intro do APL based on the Outer Product: https://www.youtube.com/watch?v=WlUHw4hC4OY[23] 00:29:23 Inner Product: https://apl.wiki/Inner_Product[24] 00:29:50 Iverson's generalisation of Outer Product: https://www.jsoftware.com/papers/APLDictionary1.htm#dot[25] 00:34:23 Summary of Paul Mansour "Why my mother-in-law has special serving dishes for corn on the cob and I don't" talk: https://www.dyalog.com/user-meetings/dyalog09.htm#24[26] 00:36:03 The Abacus project: https://github.com/the-carlisle-group/Abacus/[27] 00:38:37 Roger's "50" paper: https://www.jsoftware.com/papers/50/[28] 00:39:15 Parenthesis nesting: https://www.jsoftware.com/papers/50/50_05.htm[29] 00:41:25 Finnish book of APL idioms https://www.aplwiki.com/wiki/FinnAPL_idiom_library[30] 00:42:10 APL Quest on "Keeping Things In Balance": https://chat.stackexchange.com/transcript/52405?m=60517971#60517971[31] 00:42:58 Adám's Companion video: https://www.youtube.com/watch?v=El0_RB4TTPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN&index=4[32] 00:43:10 Operators Ken Iverson paper https://dl.acm.org/doi/pdf/10.1145/357073.357074[33] 00:45:42 Aaron Hsu's talk "Does APL Need a Type System?": https://www.youtube.com/watch?v=z8MVKianh54[34] 00:48:47 Is-Prefix-Of ⊃⍷ : https://tryapl.org/?clear&q=IsPrefixOf%E2%86%90%E2%8A%83%E2%8D%B7%20%E2%8B%84%20%27ABC%27%20IsPrefixOf%20%27ABCDEF%27%20%E2%8B%84%20%27XYZ%27%20IsPrefixOf%20%27ABCD%27%20%E2%8B%84%20%27ABCD%27%20IsPrefixOf%20%27ABC%27&run[35] 00:49:40 "Default value": https://aplwiki.com/wiki/Fill_element[36] 00:51:02 Average +⌿÷≢ : https://tryapl.org/?clear&q=Average%E2%86%90%2B%E2%8C%BF%C3%B7%E2%89%A2%20%E2%8B%84%20Average%203%201%204%201%205&run[37] 00:51:15 Split ≠⊆⊢ : https://tryapl.org/?clear&q=Split%E2%86%90%E2%89%A0%E2%8A%86%E2%8A%A2%20%E2%8B%84%20%27%2F%27Split%27now%2Fis%2Fthe%2Ftime%27&run[38] 00:51:30 tacit: https://apl.wiki/Tacit_programming[39] 00:52:03 APLcart: https://apl.wiki/APLcart[40] 00:53:30 Dfn: https://apl.wiki/Dfn[41] 00:54:00 Traditional "procedural" functions: https://apl.wiki/Defined_function_(traditional)[42] 00:55:56 Power operator: https://help.dyalog.com/latest/#Language/Primitive%20Operators/Power%20Operator.htm[43] 01:01:30 Big O notation https://en.wikipedia.org/wiki/Big_O_notation[44] 01:02:20 Josh's email: josh {at} dyalog.com[45] 01:02:52 Namespaces: https://apl.wiki/Namespace[46] 01:09:21 Jobs: https://apl.wiki/Jobs[47] 01:10:52 contact at arraycast dot com

Feb 19, 2022 • 1h 18min
Morten Kromberg, CTO of Dyalog Ltd.
Array Cast - February 19, 2022 Show NotesMany thanks to Bob Therriault for collecting these links.[01] 00:01:43 TryAPL.org https://tryapl.org/[02] 00:02:20 J promotional video https://www.youtube.com/watch?v=aV936cVrN0I[03] 00:04:30 BASIC computer language https://en.wikipedia.org/wiki/BASIC[04] 00:05:04 Commodore Pet https://en.wikipedia.org/wiki/Commodore_PET[05] 00:05:50 Nascom One https://en.wikipedia.org/wiki/Nascom_(computer_kit)[06] 00:06:44 I.P. Sharpe Associates https://aplwiki.com/wiki/I.P._Sharp_Associates[07] 00:11:26 Gitte Christensen Episode 12 ArrayCast https://www.arraycast.com/episodes/episode12-gitte-christensen[08] 00:13:20 Futhark Computer Language https://futhark-lang.org/[09] 00:19:50 Smalltalk Computer Language https://en.wikipedia.org/wiki/Smalltalk[10] 00:20:13 Romilly Cocking Presentation Dyalog '08 https://dyalog.tv/Dyalog08/?v=thr-7QfQWJw[11] 00:20:52 OS/2 operating system https://en.wikipedia.org/wiki/OS/2[12] 00:21:37 ODBC https://docs.microsoft.com/en-us/sql/odbc/microsoft-open-database-connectivity-odbc?view=sql-server-ver15[13] 00:21:45 AS400 https://en.wikipedia.org/wiki/IBM_AS/400[14] 00:23:45 Adaytum Software https://aplwiki.com/wiki/Adaytum_Software[15] 00:25:22 Cognos https://en.wikipedia.org/wiki/Cognos[16] 00:26:45 Simcorp APL Italiana https://en.wikipedia.org/wiki/SimCorp[17] 00:33:49 John Scholes https://aplwiki.com/wiki/John_Scholes[18] 00:34:00 Geoff Streeter https://aplwiki.com/wiki/Geoff_Streeter[19] 00:34:00 Pete Donnely https://aplwiki.com/wiki/Pete_Donnelly[20] 00:34:31 "Mastering Dyalog APL" 1st edition PDF: https://dyalog.com/mastering-dyalog-apl.htm[21] 00:34:50 Rodrigo Girão Serrão Episode 20 ArrayCast https://www.arraycast.com/episodes/episode20-rodrigo-girao-serrao[22] 00:35:30 John Daintree https://aplwiki.com/wiki/John_Daintree[23] 00:35:50 ASP.NET https://en.wikipedia.org/wiki/ASP.NET[24] 00:38:08 Dyalog Problem solving competition https://aplwiki.com/wiki/APL_Problem_Solving_Competition[25] 00:59:32 Roger Hui Episode 13 ArrayCast https://www.arraycast.com/episodes/episode13-roger-hui[26] 00:41:50 Functional Conf https://functionalconf.com/[27] 00:41:55 LambdaConf https://lambdaconf.us/[28] 01:00:43 Aaron Hsu Codfns https://www.sacrideo.us/projects/[29] 01:03:06 APL2000 https://aplwiki.com/wiki/APL2000[30] 01:06:00 MicroAPL documentation https://microapl.com/apl_help/[31] 01:11:25 Link presentation https://dyalog.tv/Dyalog21/?v=K_-E1tnH06k[32] 01:14:31 Nick Nickolov https://aplwiki.com/wiki/Nick_Nickolov[33] 01:16:38 Dyalog Careers https://www.dyalog.com/careers.htm

Feb 5, 2022 • 1h 16min
Rodrigo Girão Serrão
Array Cast - February 5, 2022 Show NotesMany thanks to Rodrigo Girão Serrão and Bob Therriault for collecting these links.[01] 00:01:31 ArrayFire add-on for J https://github.com/jsoftware/math_arrayfire[02] 00:02:19 J thread discussing addition of dictionaries to J: http://www.jsoftware.com/pipermail/programming/2022-February/059906.html[03] 00:03:28 Vote for an APL logo: https://aplwiki.com/wiki/APL_logo[04] 00:06:16 Rodrigo's “Pydon'ts” book: https://mathspp.com/blog/pydonts[05] 00:06:22 Rodrigo's Python talks: https://github.com/mathspp/talks[06] 00:06:28 Rodrigo's APL talk at Dyalog '21: https://dyalog.tv/Dyalog21/?v=gOUFXBUMv_A[07] 00:06:39 Rodrigo's APL YouTube channel: https://www.youtube.com/channel/UCd_24S_cYacw6zrvws43AWg[08] 00:06:39 Rodrigo's blog: https://mathspp.com/blog[09] 00:11:25 Code golf community: https://codegolf.stackexchange.com[10] 00:11:27 Challenges Rodrigo posted on the code golf community: https://codegolf.stackexchange.com/users/75323/rgs?tab=questions[11] 00:11:51 The APL Orchard: https://apl.chat[12] 00:12:11 Reworked "Mastering Dyalog APL": https://mastering.dyalog.com[13] 00:14:01 "Mastering Dyalog APL" 1st edition PDF: https://dyalog.com/mastering-dyalog-apl.htm[14] 00:15:02 New features of each Dyalog APL version: https://aplwiki.com/wiki/Dyalog_APL_versions[15] 00:19:11 Aaron Hsu episode https://www.arraycast.com/episodes/episode19-aaron-hsu[16] 00:20:39 Numpy: https://numpy.org/[17] 00:21:05 "Epigrams on Programming" by Alan Perlis: https://en.wikipedia.org/wiki/Epigrams_on_Programming[18] 00:21:15 "Structure and Interpretation of Computer Programs": https://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs[19] 00:27:47 https://en.wikipedia.org/wiki/Wordle[20] 00:31:00 Elixir https://elixir-lang.org/[21] 00:44:27 rich: https://github.com/textualize/rich[22] 00:50:03 MiServer: https://miserver.dyalog.com/[23] 00:50:19 SharpLeaf and SharpPlot: https://www.dyalog.com/documentation_180.htm#TOOLS[24] 00:59:28 APL Seeds '21: https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm[25] 00:59:32 Tomas Gustafsson presentation "Simulation and Gaming with APL" at APL Seeds '21: https://dyalog.tv/APLSeeds21/?v=iC9floP7POU[26] 01:00:56 Scratch (MIT): https://scratch.mit.edu/[27] 01:03:44 Aaron Hsu 'Does APL Need a Type System' https://www.youtube.com/watch?v=z8MVKianh54[28] 01:04:35 Guy Steele 'Growing a Language' https://www.cs.virginia.edu/~evans/cs655/readings/steele.pdf[29] 01:05:06 ngn/APL, an APL that lets you define your own Unicode symbols: https://aplwiki.com/wiki/Ngn/apl[30] 01:08:00 Conor's Github Scrabble Dictionary https://github.com/codereport/Scrabble/blob/master/python/dictionary.txt[31] 01:10:00 APL_Farm Discord/Matrix https://aplwiki.com/wiki/APL_Farm[32] 01:11:58 mailto:contact@ArrayCast.com[33] 01:14:51 "Solving LeetCode in APL" YouTube series: https://www.youtube.com/playlist?list=PLgTqamKi1MS2b-aKabbnAsnTiQgJAbmnr[34] 01:15:10 Richard Park's youtube channel https://www.youtube.com/c/RikedyP/videos[35] 01:15:15 Bob Therriault's youtube channel https://www.youtube.com/user/bobtherriault/videos[36] 01:15:20 Conor Hoekstra's youtube channel https://www.youtube.com/c/codereport/featured

Jan 22, 2022 • 1h 24min
Aaron Hsu
Array Cast - January 22, 2022 Show NotesMany thanks to Adám Brudzewsky and Bob Therriault for collecting these links.0:01:35 APL logo Voting https://aplwiki.com/wiki/APL_logo 0:02:20 Conor's Voting Video https://www.youtube.com/watch?v=Jxu4nWh1214 0:02:47 Vector Dojo https://community.kx.com/t5/KX-Technology/User-Feedback-Request-The-Vector-Dojo/td-p/116450:07:09 Q Basic https://en.wikipedia.org/wiki/QBasic 0:10:47 Scheme Manual https://www.gnu.org/software/mit-scheme/documentation/stable/mit-scheme-user.pdf Chez Scheme https://www.scheme.com/ 0:14:27 Indiana University C.S. Department https://cs.indiana.edu/ 0:15:00 Kent Dybvig Dissertation http://www.cs.unc.edu/xcms/wpfiles/dissertations/dybvig.pdf 0:15:26 Schneider, Fred B. On concurrent programming. 1997. Springer-Veriag: New York. ISBN 0-387-94942-9 https://link.springer.com/book/10.1007/978-1-4612-1830-2 0:16:20 Game of Life Scholes https://apl.wiki/John_Scholes'_Conway's_Game_of_Life 0:17:00 APLX https://apl.wiki/APLX 0:20:00 K https://k.miraheze.org0:21:37 Arthur Whitney https://apl.wiki/Arthur_Whitney0:22:06 J incunabulum https://code.jsoftware.com/wiki/Essays/Incunabulum0:22:57 Arthur Whitney Comparing APL and Lisp - https://kparc.com/lisp.txt 0:27:50 Bullet Journalling https://bulletjournal.com/pages/learn0:30:00 Chinese Language Forms https://en.wikipedia.org/wiki/List_of_Chinese_classifiers0:36:15 Notation as a Tool of Thought https://www.eecg.utoronto.ca/~jzhu/csc326/readings/iverson.pdf 0:39:33 PL Wonks Co Dfns Talk https://www.youtube.com/watch?v=9NR3sz4D4zc 0:44:21 Reversible Computing Roshan P. James https://scholar.google.com/citations?user=0sGAm4sAAAAJ&hl=en 0:47:45 Devoxx - Refactor your language knowledge portfolio https://www.youtube.com/watch?v=zajUPJI19ZQ 0:49:50 SQL https://en.wikipedia.org/wiki/SQL0:50:50 Functional Conf 2018 Live Coding https://www.youtube.com/watch?v=Gsj_7tFtODk&t=1158s 0:51:43 Aaron Hsu Resource Page https://aplwiki.com/wiki/Aaron_Hsu 0:53:00 A Data Parallel Compiler Hosted on the GPU https://scholarworks.iu.edu/dspace/handle/2022/24749 0:54:00 Patterns and Anti-patterns Dyalog https://dyalog.tv/Dyalog17/?v=9xCJ3BCIudI 0:54:17 Patterns and Anti-patterns Functional Conf 2017 https://www.youtube.com/watch?v=v7Mt0GYHU9A1:01:40 TryAPL https://tryapl.org/1:02:40 Spenserian Script https://en.wikipedia.org/wiki/Spencerian_script1:06:24 Englebart Group Cognition https://dougengelbart.org/content/view/194/ 1:11:30 Chronicles of Thomas Covenant https://en.wikipedia.org/wiki/The_Chronicles_of_Thomas_Covenant 1:12:52 ADSP podcast #56 Leetcode in BQN https://adspthepodcast.com/2021/12/17/Episode-56.html 1:17:50 A Programming Language - Iverson https://www.jsoftware.com/papers/APL.htm 1:18:00 Aaron's Website - https://www.sacrideo.us/

Jan 8, 2022 • 1h 13min
Henry Rich presents J903
Array Cast - January 8, 2022 Show NotesMany thanks to Rodrigo Girão Serrão and Bob Therriault for collecting these links.00:01:56 Episode 17 of The Array Cast, the dyadic hook https://www.arraycast.com/episodes/episode17-tacit4-the-dyadic-hook00:02:25 FnConf 2022, the conference Aaron Hsu is attending https://www.functionalconf.com/00:02:28 Aaron Hsu video https://www.youtube.com/watch?v=uEEJDq6cNTs00:03:39 Episode 6 of The Array Cast with Henry Rich https://www.arraycast.com/episodes/episode-06-henry-richs-deep-dive-into-j00:05:07 J 9.03 release notes https://code.jsoftware.com/wiki/System/ReleaseNotes/J90300:06:20 Invisible Modifiers https://code.jsoftware.com/wiki/Vocabulary/fork#invisiblemodifiers00:07:20 Fork https://code.jsoftware.com/wiki/Vocabulary/fork00:08:10 Modifier https://code.jsoftware.com/wiki/Vocabulary/Modifiers00:10:24 ArrayCast Tacit Episodeshttps://www.arraycast.com/episodes/episode-09-tacit-programminghttps://www.arraycast.com/episodes/episode11-why-tacithttps://www.arraycast.com/episodes/episode15-tacit-3-and-other-topicshttps://www.arraycast.com/episodes/episode17-tacit4-the-dyadic-hook00:12:43 ButIfNull https://www.jsoftware.com/help/jforc/empty_operands.htm#_Toc19173437800:15:20 Higher Order Functions https://en.wikipedia.org/wiki/Higher-order_function00:25:30 The J Parser https://www.jsoftware.com/help/jforc/parsing_and_execution_i.htm#_Toc19173458400:28:20 Locale Path Names https://www.jsoftware.com/help/jforc/modular_code.htm#_Toc19173448600:34:06 Bill Kahan Compensated Summation https://en.wikipedia.org/wiki/Kahan_summation_algorithm00:37:20 Jeffrey Borror: Q for all https://www.youtube.com/watch?v=8eoysfqO3UY00:38:16 J labs https://code.jsoftware.com/wiki/Labs/Index00:39:53 "Try APL"-like system for J http://joebo.github.io/j-emscripten/full.html00:42:00 Dissect https://code.jsoftware.com/wiki/Vocabulary/Dissect00:47:38 Henry's book, "J for C programmers" https://www.jsoftware.com/help/jforc/contents.htm00:47:38 "Learning J" https://www.jsoftware.com/help/learning/contents.htm00:47:38 "Easy J" https://www.jsoftware.com/books/pdf/easyj.pdf00:52:00 NuVoc https://code.jsoftware.com/wiki/NuVoc00:53:11 "J for the APL programmer" https://www.jsoftware.com/papers/j4apl.htm00:57:56 Catalan J Video Lab series https://www.youtube.com/playlist?list=PL275xqeqDUOiOQb8Vic-E_ocq10EC_ELQ01:03:10 J Software GitHub organization https://github.com/jsoftware01:03:10 J Forums http://www.jsoftware.com/mailman/listinfo/programming01:03:10 You can reach Henry through contact@arraycast.com01:07:37 APL Wiki https://apl.wiki 01:09:00 Books on J https://code.jsoftware.com/wiki/Books01:10:00 Bo Burnham - Welcome to the Internet https://www.youtube.com/watch?v=k1BneeJTDcU

Dec 25, 2021 • 1h 14min
Tacit #4 - the dyadic hook
Array Cast - December 25, 2021 Show NotesMany thanks to Adám Brudzewsky for collecting these links00:01:30 Ken Iverson: https://apl.wiki/Ken_Iverson00:01:30 J903: https://code.jsoftware.com/wiki/System/Installation/J90300:02:21 APL logo: https://apl.wiki/APL_logo00:02:51 I.P. Sharp: https://apl.wiki/I.P._Sharp_Associates00:04:12 APL⋆PLUS: https://apl.wiki/APL*PLUS00:04:12 Tacit programming: https://apl.wiki/Tacit_programming00:04:12 Hook: https://apl.wiki/Hook00:05:15 Hook in J: https://code.jsoftware.com/wiki/Vocabulary/hook00:07:36 BQN: https://apl.wiki/BQN00:07:36 Fork: https://apl.wiki/Tacit_programming#3-trains00:08:20 Beside: https://apl.wiki/Beside00:09:46 ADSP C++ episode: https://adspthepodcast.com/2021/12/10/Episode-55.html00:09:46 ADSP BQN episode: https://adspthepodcast.com/2021/12/17/Episode-56.html00:10:30 BQN solutions: https://github.com/codereport/LeetCode/blob/master/0269_Problem_1.bqn#L500:10:31 Iota sequence: https://apl.wiki/Index_Generator00:10:31 J solution: https://tio.run/##y/r/303B1kpBWyFTjys1OSNfwdBAwU3B9P9/AA00:12:22 Stephen's blog post: https://www.5jt.com/the-rest-is-silence00:12:22 APL solution: https://tryapl.org/?clear&q=%E2%8E%95IO%E2%86%900%20%E2%8B%84%20F%20%E2%86%90%20%2B%E2%88%98%E2%8D%B3%20%E2%8B%84%2010%20F%205&run00:16:15 BQN solution using After: https://mlochbaum.github.io/BQN/try.html#code=RiDihpAgK+KfnOKGlQoxMCBGIDU=00:18:21 The [APL] Orchard: https://apl.chat00:30:03 (P)QRS in APL: https://tio.run/##SyzI0U2pTMzJT///P0DhUdsEhepHvbuAtOGjjhmP2iYrPOpuUVDXUNcBiuqoKwQogFhbddQ11Wu5AgmrD0RWH0RYfRCy@mDC6oOR1XM96psK0qFeoa6gEQg0K1hTQb1SHUU4QAEh8f8/AA00:30:03 (P)QRS in J: https://tio.run/##hcw7CsAgEITh3lNMNwp2SSXkDj6OEAIhTVo9vdnOLBZ2w7/L9/QecQRsCCBpSU9Gmb7JcJIQgt3HtUqGenAmTUJaCUkLeRLySshaKJNQVkLRgrnO@wUrYZPoxYGNvxgxcu8f00:33:30 Golfing: https://apl.wiki/Code_golf00:33:42 Marshall Lochbaum's birds table: https://mlochbaum.github.io/BQN/doc/birds.html00:33:42 Hook Conjunction? paper: https://code.jsoftware.com/wiki/Essays/Hook_Conjunction%3F00:35:37 IsPalindrome in APL (or BQN): https://tio.run/##SyzI0U2pTMzJT///37M4IDEnMy@lKD83VeFR2wSFR12LHnUufNSzl@tR31SQAIoK9aLE5NTkxCJ17LIZ@UXFqer//wMA00:35:37 IsPalindrome in J: https://tio.run/##y/r/37M4IDEnMy@lKD83VcHWSkHXqkaPKzU5I18BRUa9KDE5NTmxSB2bXEZ@UXGq@v//AA00:36:41 APL\?: https://www.jsoftware.com/papers/J1990.htm00:41:57 Applied inline in J: https://tio.run/##y/r/PzU5I19BQ9eqRk9TQb0oMTk1ObFInQtFNCO/qDhV/f9/AA00:41:57 Applied inline in APL: https://tio.run/##SyzI0U2pTMzJT////1Hf1EdtExQedS581DHjUc/eR70rFNSLEpNTkxOL1LmwymbkFxWnqv//DwA00:42:54 Atop "unary-binary": https://apl.wiki/Atop_(operator)00:43:19 Beside/After "binary-unary": https://apl.wiki/Beside00:45:25 Over: https://apl.wiki/Over00:45:25 APL Wiki's table: https://apl.wiki/Function_composition00:48:25 Marshall's table: https://youtu.be/czWC4tjwzOQ?t=145600:48:25 Adám's alternative table: https://youtu.be/Hln3zryunsw?t=115100:53:28 Ambivalent: https://apl.wiki/Ambivalent_function00:55:01 Case-folding: https://help.dyalog.com/latest/#Language/System%20Functions/c.htm00:55:01 Case-insensitive using Over: https://tryapl.org/?clear&q=%27Hello%27%20%E2%89%A1%E2%8D%A5%E2%8E%95C%20%27HELLO%27%20%E2%8B%84%20%27Hello%27%20%E2%8D%B3%E2%8D%A5%E2%8E%95C%20%27E%27%20%E2%8B%84%20%27L%27%20%E2%88%8A%E2%8D%A5%E2%8E%95C%20%27Hello%27&run00:55:01 HTMLTag Over ⎕C: https://tryapl.org/?clear&q=HTMLTag%E2%86%90%7B%E2%8D%BA%E2%86%90%7B(%C2%AF8%E2%86%93%E2%8D%BA)%2C1%E2%86%93%E2%8D%B5%7D%20%E2%8B%84%20%E2%88%8A%27%3Ci%20class%3D%22%27%E2%8D%BA%27%22%3E%27%2C%E2%8D%B5%2C%27%3C%2Fi%3E%27%7D%20%E2%8B%84%20HTMLTag%E2%8D%A5%E2%8E%95C%27CONTENT%27%20%E2%8B%84%20%27MyClass%27HTMLTag%E2%8D%A5%E2%8E%95C%27CONTENT%27&run00:55:01 HTML escape using Over: https://tryapl.org/?clear&q=HTMLTag%E2%86%90%7B%E2%8D%BA%E2%86%90%7B(%C2%AF8%E2%86%93%E2%8D%BA)%2C1%E2%86%93%E2%8D%B5%7D%20%E2%8B%84%20%E2%88%8A%27%3Ci%20class%3D%22%27%E2%8D%BA%27%22%3E%27%2C%E2%8D%B5%2C%27%3C%2Fi%3E%27%7D%20%E2%8B%84%20HTMLEsc%E2%86%90%27%5C%3C%27%20%27%26%27%E2%8E%95R%27%5C%26lt%3B%27%20%27%5C%26amp%3B%27%20%E2%8B%84%20HTMLTag%E2%8D%A5HTMLEsc%27H%E2%82%82O%3Cblood%27%20%E2%8B%84%20%27r%26d%27HTMLTag%E2%8D%A5HTMLEsc%27H%E2%82%82O%3Cblood%27&run00:59:24 Advent of Code: https://apl.wiki/Advent_of_Code00:59:24 Execute comma separated list: https://tryapl.org/?clear&q=%E2%8D%8E%2731%2C41%2C59%27&run01:00:49 Parsing text data files: https://youtu.be/AHoiROI15BA01:03:13 Advent of Q: https://github.com/StephenTaylor-Kx/adventofq01:03:46 Dfn syntax: https://apl.wiki/Dfn01:03:46 Dfn default left arguments: https://apl.wiki/Dfn#Default_left_arguments01:03:46 Cover for Minus: https://tryapl.org/?clear&q=Minus%E2%86%90%7B%E2%8D%BA%E2%86%90%E2%8A%A2%20%E2%8B%84%20%E2%8D%BA-%E2%8D%B5%7D%20%E2%8B%84%2010%20Minus%203%20%E2%8B%84%20Minus%205&run01:08:26 "Alpha gets" on APLcart: https://aplcart.info?q=%E2%8D%BA%E2%86%9001:09:19 Dyadic Hook in Python: https://tio.run/##K6gsycjPM7YoKPr/PyM/P1vBViEnMTcpJVEhTSfdCsqs0Km0StOo0EnXqNTU5CrIKS1GKAPJRVdopyqk5RcppCpk5ilUxnJl5pckApUUJealp3IVFGXmlWiADNcAadUBSWpqGBromGpq/v8PAA01:09:34 "define the hook in any functional language":JavaScript: https://tio.run/##JY3BCsMgEETvfkWOu9Qu7aHQi4F@R@lBgrE2tiuaBv16o@Q0zDxm5qM3nabownre7rW@mZdBDTBLi2qELEuTuamFgiiC/6eOj7zQVwcAI10z@WRQOF5141mNTyJ6xKgLZKTFlAT4EhP/EntDni30J@h7spcQrhd5Q6x1BwRuby: https://tio.run/##KypNqvz/PyM/P1vBVkHXLk0nvVrXrkKnsjotukInPboyNra2lqsgp7QYLA2SqNTLTSyorkmsSdSuAMpl5pckQuSqDfT09CqAqhVAxkWDNOmAZGOjDQ10TGP//wcAHaskell: https://tio.run/##y0gszk7Nyfn/PyM/P1shTSFdoUKhUsEWyKpQ0EhXqNTkKsgpLQZybBVyEwsUNLQrNLky80sSwSLRBnp6FbqGsVy5iZl5QH5BUWZeiYKKAtgssD6wUkMDBdP//wEpoint-free Haskell: https://tio.run/##y0gszk7Nyfn/PyM/P1vBViEtJ7NAQU9BQ0NPU0@TqyCntBgomJsIFtPW5MrML0lUqAAKRRvo6VXoGsZy5SZm5gH5BUWZeSUKKgpgY8DawEoNDRRM//8HAALisp: https://tio.run/##RY9BDoMgEEX3nuInXTiTbuyiB0IUazoyBDXV07dgsd0x8PLmYWWcw5u63q0eQdYZtEFmrgDQZII1MR/zJGZqOwPaGXTFhp25PCWeq6pIRl0S1Orqu69FVAOcRni4qBMatL3oCwdSDFZFervAM58xD9UnyGEolrI97z2LEmaNCFyq@Q1DDsuaEEe//O/pEF7q45OXOmcybg3uif0AScheme: https://tio.run/##RU27DoMwDNz5ihttVUhl6MTXpMUJUR2CmkaFr09NO@DB8p3vUR6zJOlDjSqtUS3SpzxVlQIqLx9xrH5gxjgi5rfraBIfFwGtWgsWKIOSW0Hq0n1yBoy42COZSZlPw5zzEx6BT@2G3ZDHBgp22nSmj2VVt4P@jl/PUc0YrrgdiYt81CK5tS8C++: https://tio.run/##XZHPboQgEMbvPsUkTbqQ0s320IvafRHTAyKypAgGIdlN47NbZl2r7gWZP9/8vhHR9@/CcKum6UVbYWIjodRuCF7y7pytORs76bXYpowewjbmRjmvwyXptA3QcW0J/c0AeAwOtAscvqD6Jli0FLACMIQmz3FSmdJn4N4TS4u1hDKSssdaKpzHsOUobYPX06PTyxC9xQrGY7EwexOHlcnZM63euQie26F1viP1SqsX1iZX8XmgSPIF/SaKce@m3nu5OPeTvKAZjF@hZTBf1OLiIaxapmbAlQF@bnTBtOTKFLlRWoz/05928hJXRhrB9Rn@QEo@Tuzzbi/tR@b3yFNnIt/lwsUAZQk6HQc4FGM2TtMf01:11:43 Oliver Mooney's intro to J: https://youtu.be/t32bIbzQdCU01:11:43 APL Wiki Learning Resources: https://apl.wiki/Learning_resources01:13:42 Stephen's website: https://5jt.com

Dec 11, 2021 • 59min
Brooke Allen - a life of adventure
Array Cast - December 11, 2021 Show NotesMany thanks to Adám Brudzewsky for collecting these links00:01:53 Dyalog ’21 videos: https://dyalog.tv/Dyalog2100:02:10 APL ∊ BCN: https://apl.wiki/APL_∊_BCN00:02:10 Advent of Code: https://apl.wiki/Advent_of_Code00:02:56 J903 Beta: https://code.jsoftware.com/wiki/System/Installation#J903_BETA00:03:49 Brooke Allen's website: https://brookeallen.com/00:06:32 COBOL: https://en.wikipedia.org/wiki/COBOL00:06:32 COBOL reserved words: https://www.ibm.com/docs/en/iis/9.1?topic=words-cobol-reserved00:07:01 Fortran: https://en.wikipedia.org/wiki/Fortran00:07:01 Iverson’s A Programming Language textbook: http://apl.wiki/A_Programming_Language00:07:41 APL\360 manual: http://www.bitsavers.org/pdf/ibm/apl/GH20-0683-1_APL_360_Users_Manual_Mar70.pdf00:09:11 Iverson's algebra book: https://www.jsoftware.com/books/pdf/algebra.pdf00:11:12 BASIC https://en.wikipedia.org/wiki/BASIC00:21:45 IBM 5110: https://en.wikipedia.org/wiki/IBM_511000:23:19 IBM PC: https://en.wikipedia.org/wiki/IBM_Personal_Computer00:27:31 Dennis Shasha: https://en.wikipedia.org/wiki/Dennis_Shasha

Nov 27, 2021 • 1h 11min
Tacit #3 (and other topics)
Array Cast - November 27, 2021 Show Notes00:00:42 J Wiki: https://code.jsoftware.com/wiki/Main_Page00:01:04 APL Wiki: https://apl.wiki00:01:14 Vector Journal: https://vector.org.uk/00:02:04 J Forums: https://code.jsoftware.com/wiki/System/Forums00:03:47 Tacit programming: https://en.wikipedia.org/wiki/Tacit_programming00:03:58 Previous episodes on tacit programming: https://www.arraycast.com/episodes/episode-09-tacit-programming and https://www.arraycast.com/episodes/episode11-why-tacit00:04:51 Perl weekly challenge 88: https://theweeklychallenge.org/blog/perl-weekly-challenge-088/00:07:53 Adám's initial solution in APL: https://tryapl.org/?clear&q=%7B%C3%97%2F%E2%8D%B5%5B~%E2%8D%A41%200%E2%8D%A8%E2%8D%B3%E2%89%A2%E2%8D%B5%5D%7D10%205%207%208&run00:10:14 Stephen's initial solution in K: https://tio.run/##y9bNS8/7/79aQ0u/QlO1otbQQMFUwVzB4v9/AA00:10:14 Stephen's initial solution in APL: https://tryapl.org/?clear&q=%7B(%C3%97%2F%E2%8D%B5)%C3%B7%E2%8D%B5%7D10%205%207%208&run00:11:51 Bob's J solution: https://tio.run/##y/oPBIZqGlr6MXqahgYKpgrmChYKAA and video at https://www.youtube.com/watch?v=0GPoCk__2lw00:12:06 Conor's revamp of J into C++: https://www.youtube.com/playlist?list=PLVFrD1dmDdvfVhYLU_iKkV67X9XqCJLWe00:12:28 Outfix: https://code.jsoftware.com/wiki/Vocabulary/bslashdot#dyadic00:13:27 Conor's solutions: https://github.com/manwar/perlweeklychallenge-club/tree/master/challenge-088/conor-hoekstra00:16:40 Conor's YouTube video: https://youtu.be/bXsKo2ZhgTg00:17:02 Recent ADSP Podcast on Speed vs Efficiency: https://adspthepodcast.com/2021/11/12/Episode-51.html00:20:40 Stephen's extension in APL and K: {(×/⍵)÷⍵+⍵=0} and {(*/x)%x+x=0}00:21:32 Adám's conversion of the APL solution to tacit forms: ×/÷⊢+0=⊢ or ×/÷⊢+0∘=00:28:02 Episode mentioning test-driven design: https://www.arraycast.com/episodes/episode14-dyalog-21-live00:33:40 Top-down programming: https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design00:41:24 Is-palindrome fork: https://tryapl.org/?clear&q=(%E2%8C%BD%E2%89%A1%E2%8A%A2)%27racecar%27%20%E2%8B%84%20(%E2%8C%BD%E2%89%A1%E2%8A%A2)%27carrace%27%20%E2%8B%84%20%E2%8C%BD%E2%89%A1%E2%8A%A2&run00:42:18 Find primtive: https://apl.wiki/Find https://code.jsoftware.com/wiki/Vocabulary/ecapdot00:43:06 "abab": https://tryapl.org/?clear&q=%27ab%27%20%E2%8D%B7%20%27abab%27&run00:43:36 Prefix: https://tryapl.org/?clear&q=%27ab%27%20(%E2%8A%83%E2%8D%B7)%20%27abab%27&run00:44:08 Found anywhere: https://tryapl.org/?clear&q=%27ba%27%20(%E2%88%A8%2F%E2%8D%B7)%20%27abab%27&run00:44:27 How many: https://tryapl.org/?clear&q=%27ab%27%20(%2B%2F%E2%8D%B7)%20%27abab%27&run00:44:33 Suffix: https://tryapl.org/?clear&q=%27ab%27%20(%E2%8A%83%E2%8D%B7%E2%8D%A5%E2%8C%BD)%20%27abab%27&run00:45:16 Atop: https://apl.wiki/Tacit_programming#2-trains00:47:10 Ian Clark's suggestion of keeping tacit away from beginners: http://www.jsoftware.com/pipermail/beta/2021-November/010151.html00:49:10 Needing to isolate tacit functions: https://apl.wiki/Tacit_programming#Trains00:53:20 Stephen's favourite tacit function: https://tryapl.org/?clear&q=%E2%8E%95IO%E2%86%900%20%E2%8B%84%20(%E2%8A%83%E2%86%93%E2%88%98%E2%8D%B3%2F)%205%2011&run00:56:40 Stephen's blog post: https://www.5jt.com/the-rest-is-silence00:59:35 Marshall Lochbaum's bird combinator list: https://mlochbaum.github.io/BQN/doc/birds.html01:00:25 Plus-minus: https://tryapl.org/?clear&q=10%20(%2B%2C-)%202&run01:02:00 Bob's favourite tacit construct: https://tio.run/##HcpLCoAgFEbhrfzDK2gDcQUtoD0oXXsg3kFaBNLWex34Zme93xyINJq6YD4WGPoOmSdfFskgoyARDlFSkoNHhBOkFcrM8GGTVAtj96kyqP2vsQ801:06:26 Over: https://apl.wiki/Over01:08:05 Split-compose: https://apl.wiki/Reverse_Compose#Common_usage01:11:00 Bob's video: https://youtu.be/gidit2Yx2F8

Nov 13, 2021 • 56min
Dyalog ‘21 Live
Array Cast - November 13, 2021 Show NotesLink to presentation resources of Dialog ‘21 https://www.dyalog.com/user-meetings/dyalog21.htm00:00:30 Dyalog User Meeting '21: https://www.dyalog.com/user-meetings/dyalog21.htm00:03:03 Richard Park's presentation on the Dyalog Media Update: TBA00:04:10 ShapeRank: https://github.com/f5devcentral/shapeRank00:05:50 Gitte on Array Cast: https://www.arraycast.com/episodes/episode12-gitte-christensen00:07:45 Brian Becker's presentation about Packaging Dyalog Tools / Tatin: TBA00:09:05 Hashback #! scripting presentation: TBA00:09:05 Link presentation: TBA00:11:27 Rodrigo's presentation on Py'n'APL: TBA00:14:10 C++ compiler explorer: https://godbolt.org/00:21:00 Ken Iverson's “Notation as a Tool of Thought” Paper (pdf): https://www.eecg.utoronto.ca/~jzhu/csc326/readings/iverson.pdf00:27:21 Kimmo Linna's RSConnect: https://github.com/kimmolinna/rsconnect00:29:15 TamStat: http://www.tamstat.com/00:33:24 CodeGolf website: http://codegolf.stackexchange.com/00:33:59 The APL Orchard: The APL Orchard00:53:51 Aaron Hsu on “The Fallacy of Unit Testing”: https://www.sacrideo.us/the-fallacy-of-unit-testing/

Oct 30, 2021 • 1h 9min
Roger Hui (1953-2021)
Array Cast - October 30, 2021 Show Notes00:00:00 Roger Hui: https://apl.wiki/Roger_Hui00:00:00 Eric Iverson: https://apl.wiki/Eric_Iverson00:00:00 Eric Iverson's announcement: https://www.jsoftware.com/pipermail/programming/2021-October/059091.html00:00:00 J: https://apl.wiki/J00:00:00 Ken: https://apl.wiki/Ken_Iverson00:02:24 Dyalog '21: https://www.dyalog.com/user-meetings/dyalog21.htm00:02:24 Memorial service: https://youtube.com/watch?v=_8FG81Ze1aM00:02:51 Morten Kromberg: https://apl.wiki/Morten_Kromberg00:02:51 Dyalog Ltd.: https://apl.wiki/Dyalog_Ltd.00:04:11 Gitte Christensen: https://apl.wiki/Gitte_Christensen00:04:59 John Scholes: https://apl.wiki/John_Scholes00:04:59 Dan Baronet: https://apl.wiki/Dan_Baronet00:05:53 Pearly gates: https://en.wikipedia.org/wiki/Pearly_gates00:06:22 Galactic Emperor: https://www.jsoftware.com/papers/50/50_49.htm00:06:22 Monument quality code: https://forums.dyalog.com/viewtopic.php?f=30&t=1638&p=6456&hilit=monument#p645300:06:58 Rob Hodgkinson's response: https://www.jsoftware.com/pipermail/programming/2021-October/059124.html00:08:50 I.P. Sharp Associates: https://apl.wiki/I.P._Sharp_Associates00:09:51 Arthur Whitney: https://apl.wiki/Arthur_Whitney00:11:30 Adaytum: https://www.computerweekly.com/feature/Cognos-acquires-Adaytum-and-bolsters-performance-management-agenda00:12:16 Jsoftware: https://apl.wiki/Jsoftware00:13:05 Cognos: https://en.wikipedia.org/wiki/Cognos00:14:24 Dfns: https://apl.wiki/Dfn00:14:24 First axis emphasis: https://apl.wiki/Leading_axis_theory00:14:24 Sharp APL: https://apl.wiki/Sharp_APL00:15:59 Ravel: https://apl.wiki/Ravel00:15:59 Table function: https://apl.wiki/Table00:16:35 Identity functions: https://apl.wiki/Same00:16:35 Take: https://apl.wiki/Take00:16:35 Take: https://apl.wiki/Drop00:16:35 Take: https://apl.wiki/Index_(function)00:16:59 Dyadic Iota: https://apl.wiki/Index_of00:16:59 Rank operator: https://apl.wiki/Rank_(operator)00:16:59 Key operator: https://apl.wiki/Key00:16:59 Tally: https://apl.wiki/Tally00:16:59 Function trains: https://apl.wiki/Trains00:16:59 Where: https://apl.wiki/Where00:16:59 Interval Index: https://apl.wiki/Interval_Index00:16:59 J forums: https://code.jsoftware.com/wiki/System/Forums00:17:47 Over and Atop: https://apl.wiki/Function_composition00:17:47 Unique Mask: https://apl.wiki/Unique_Mask00:17:47 Under: https://wiki.jsoftware.com/wiki/Essays/Under00:17:47 Obverse: https://code.jsoftware.com/wiki/Vocabulary/codot00:18:21 APL2: https://apl.wiki/APL200:18:56 Tacit programming: https://apl.wiki/Tacit_programming00:18:56 Stencil: https://apl.wiki/Stencil00:19:49 History of Programming Languages: https://aplwiki.com/wiki/HOPL00:19:49 HOPL APL paper: https://dl.acm.org/doi/pdf/10.1145/338631900:20:30 Roger's presentation: https://www.pldi21.org/prerecorded_hopl.2.html00:21:57 Total Array Ordering: https://apl.wiki/Total_array_ordering00:21:57 Jay Foad: https://apl.wiki/Jay_Foad00:23:02 Structural Under and Mathematical Under: https://mlochbaum.github.io/BQN/spec/inferred.html#under00:23:02 APL\360 https://apl.wiki/APL\36000:25:11 Tacit modifiers: https://code.jsoftware.com/wiki/Vocabulary/fork#invisiblemodifiers00:28:41 Henry on this podcast: https://www.arraycast.com/episodes/episode-06-henry-richs-deep-dive-into-j00:30:14 HOPL video: https://www.pldi21.org/prerecorded_hopl.2.html00:31:26 J wiki: https://code.jsoftware.com00:31:41 Essays: https://code.jsoftware.com/wiki/Essays00:31:41 Papers: https://www.jsoftware.com/papers/00:36:47 Hook Conjunctions?: https://code.jsoftware.com/wiki/Essays/Hook_Conjunction%3F00:38:54 Wikipedia contributions: https://xtools.wmflabs.org/ec/en.wikipedia.org/Roger_Hui00:39:37 Jim Brown: https://apl.wiki/Jim_Brown00:40:53 88 Hats: https://code.jsoftware.com/wiki/Essays/88_Hats00:41:39 Catalan numbers video series: https://www.youtube.com/playlist?list=PL275xqeqDUOiOQb8Vic-E_ocq10EC_ELQ00:43:44 Phrasal Forms: https://www.jsoftware.com/papers/fork.htm00:47:06 Jokes We Told Each Other: https://www.jsoftware.com/papers/Jokes.htm00:50:49 APL Puns: https://www.dyalog.com/blog/2015/12/apl-puns/00:50:49 NASA oral histories: https://historycollection.jsc.nasa.gov/JSCHistoryPortal/history/oral_histories/NASA_HQ/SMD/MorrisonDD/MorrisonDD_5-9-17.htm00:53:14 Edits on tiny symbols: https://code.jsoftware.com/mediawiki/index.php?limit=50&title=Special%3AContributions&contribs=user&target=Roger+Hui&namespace=6&tagfilter=&start=2021-07-12&end=00:56:31 Richard Stallman: https://apl.wiki/Richard_Stallman01:01:51 Paw and Hoof: https://www.jsoftware.com/papers/APLDictionary1.htm#tab101:02:22 Log symbol: https://aplwiki.com/wiki/Natural_Logarithm01:04:06 RIDE support for ``ewok ``wookie ``r2d2: https://github.com/Dyalog/ride/commit/d9e7d5c546c9951b2aaea9f7594150d04b2f81b9