The Array Cast cover image

The Array Cast

Tacit #4 - the dyadic hook

Dec 25, 2021
01:14:19

Array Cast - December 25, 2021 Show Notes

Many thanks to Adám Brudzewsky for collecting these links

00:01:30 Ken Iverson: https://apl.wiki/Ken_Iverson

00:01:30 J903: https://code.jsoftware.com/wiki/System/Installation/J903

00:02:21 APL logo: https://apl.wiki/APL_logo

00:02:51 I.P. Sharp: https://apl.wiki/I.P._Sharp_Associates

00:04:12 APL⋆PLUS: https://apl.wiki/APL*PLUS

00:04:12 Tacit programming: https://apl.wiki/Tacit_programming

00:04:12 Hook: https://apl.wiki/Hook

00:05:15 Hook in J: https://code.jsoftware.com/wiki/Vocabulary/hook

00:07:36 BQN: https://apl.wiki/BQN

00:07:36 Fork: https://apl.wiki/Tacit_programming#3-trains

00:08:20 Beside: https://apl.wiki/Beside

00:09:46 ADSP C++ episode: https://adspthepodcast.com/2021/12/10/Episode-55.html

00:09:46 ADSP BQN episode: https://adspthepodcast.com/2021/12/17/Episode-56.html

00:10:30 BQN solutions: https://github.com/codereport/LeetCode/blob/master/0269_Problem_1.bqn#L5

00:10:31 Iota sequence: https://apl.wiki/Index_Generator

00:10:31 J solution: https://tio.run/##y/r/303B1kpBWyFTjys1OSNfwdBAwU3B9P9/AA

00:12:22 Stephen's blog post: https://www.5jt.com/the-rest-is-silence

00: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&run

00:16:15 BQN solution using After: https://mlochbaum.github.io/BQN/try.html#code=RiDihpAgK+KfnOKGlQoxMCBGIDU=

00:18:21 The [APL] Orchard: https://apl.chat

00:30:03 (P)QRS in APL: https://tio.run/##SyzI0U2pTMzJT///P0DhUdsEhepHvbuAtOGjjhmP2iYrPOpuUVDXUNcBiuqoKwQogFhbddQ11Wu5AgmrD0RWH0RYfRCy@mDC6oOR1XM96psK0qFeoa6gEQg0K1hTQb1SHUU4QAEh8f8/AA

00:30:03 (P)QRS in J: https://tio.run/##hcw7CsAgEITh3lNMNwp2SSXkDj6OEAIhTVo9vdnOLBZ2w7/L9/QecQRsCCBpSU9Gmb7JcJIQgt3HtUqGenAmTUJaCUkLeRLySshaKJNQVkLRgrnO@wUrYZPoxYGNvxgxcu8f

00:33:30 Golfing: https://apl.wiki/Code_golf

00:33:42 Marshall Lochbaum's birds table: https://mlochbaum.github.io/BQN/doc/birds.html

00:33:42 Hook Conjunction? paper: https://code.jsoftware.com/wiki/Essays/Hook_Conjunction%3F

00:35:37 IsPalindrome in APL (or BQN): https://tio.run/##SyzI0U2pTMzJT///37M4IDEnMy@lKD83VeFR2wSFR12LHnUufNSzl@tR31SQAIoK9aLE5NTkxCJ17LIZ@UXFqer//wMA

00:35:37 IsPalindrome in J: https://tio.run/##y/r/37M4IDEnMy@lKD83VcHWSkHXqkaPKzU5I18BRUa9KDE5NTmxSB2bXEZ@UXGq@v//AA

00:36:41 APL\?: https://www.jsoftware.com/papers/J1990.htm

00:41:57 Applied inline in J: https://tio.run/##y/r/PzU5I19BQ9eqRk9TQb0oMTk1ObFInQtFNCO/qDhV/f9/AA

00:41:57 Applied inline in APL: https://tio.run/##SyzI0U2pTMzJT////1Hf1EdtExQedS581DHjUc/eR70rFNSLEpNTkxOL1LmwymbkFxWnqv//DwA

00:42:54 Atop "unary-binary": https://apl.wiki/Atop_(operator)

00:43:19 Beside/After "binary-unary": https://apl.wiki/Beside

00:45:25 Over: https://apl.wiki/Over

00:45:25 APL Wiki's table: https://apl.wiki/Function_composition

00:48:25 Marshall's table: https://youtu.be/czWC4tjwzOQ?t=1456

00:48:25 Adám's alternative table: https://youtu.be/Hln3zryunsw?t=1151

00:53:28 Ambivalent: https://apl.wiki/Ambivalent_function

00:55:01 Case-folding: https://help.dyalog.com/latest/#Language/System%20Functions/c.htm

00: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&run

00: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&run

00: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&run

00:59:24 Advent of Code: https://apl.wiki/Advent_of_Code

00:59:24 Execute comma separated list: https://tryapl.org/?clear&q=%E2%8D%8E%2731%2C41%2C59%27&run

01:00:49 Parsing text data files: https://youtu.be/AHoiROI15BA

01:03:13 Advent of Q: https://github.com/StephenTaylor-Kx/adventofq

01:03:46 Dfn syntax: https://apl.wiki/Dfn

01:03:46 Dfn default left arguments: https://apl.wiki/Dfn#Default_left_arguments

01: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&run

01:08:26 "Alpha gets" on APLcart: https://aplcart.info?q=%E2%8D%BA%E2%86%90

01:09:19 Dyadic Hook in Python: https://tio.run/##K6gsycjPM7YoKPr/PyM/P1vBViEnMTcpJVEhTSfdCsqs0Km0StOo0EnXqNTU5CrIKS1GKAPJRVdopyqk5RcppCpk5ilUxnJl5pckApUUJealp3IVFGXmlWiADNcAadUBSWpqGBromGpq/v8PAA

01:09:34 "define the hook in any functional language":
JavaScript: https://tio.run/##JY3BCsMgEETvfkWOu9Qu7aHQi4F@R@lBgrE2tiuaBv16o@Q0zDxm5qM3nabownre7rW@mZdBDTBLi2qELEuTuamFgiiC/6eOj7zQVwcAI10z@WRQOF5141mNTyJ6xKgLZKTFlAT4EhP/EntDni30J@h7spcQrhd5Q6x1Bw

Ruby: https://tio.run/##KypNqvz/PyM/P1vBVkHXLk0nvVrXrkKnsjotukInPboyNra2lqsgp7QYLA2SqNTLTSyorkmsSdSuAMpl5pckQuSqDfT09CqAqhVAxkWDNOmAZGOjDQ10TGP//wcA

Haskell: https://tio.run/##y0gszk7Nyfn/PyM/P1shTSFdoUKhUsEWyKpQ0EhXqNTkKsgpLQZybBVyEwsUNLQrNLky80sSwSLRBnp6FbqGsVy5iZl5QH5BUWZeiYKKAtgssD6wUkMDBdP//wE

point-free Haskell: https://tio.run/##y0gszk7Nyfn/PyM/P1vBViEtJ7NAQU9BQ0NPU0@TqyCntBgomJsIFtPW5MrML0lUqAAKRRvo6VXoGsZy5SZm5gH5BUWZeSUKKgpgY8DawEoNDRRM//8HAA

Lisp: https://tio.run/##RY9BDoMgEEX3nuInXTiTbuyiB0IUazoyBDXV07dgsd0x8PLmYWWcw5u63q0eQdYZtEFmrgDQZII1MR/zJGZqOwPaGXTFhp25PCWeq6pIRl0S1Orqu69FVAOcRni4qBMatL3oCwdSDFZFervAM58xD9UnyGEolrI97z2LEmaNCFyq@Q1DDsuaEEe//O/pEF7q45OXOmcybg3uif0A

Scheme: https://tio.run/##RU27DoMwDNz5ihttVUhl6MTXpMUJUR2CmkaFr09NO@DB8p3vUR6zJOlDjSqtUS3SpzxVlQIqLx9xrH5gxjgi5rfraBIfFwGtWgsWKIOSW0Hq0n1yBoy42COZSZlPw5zzEx6BT@2G3ZDHBgp22nSmj2VVt4P@jl/PUc0YrrgdiYt81CK5tS8

C++: https://tio.run/##XZHPboQgEMbvPsUkTbqQ0s320IvafRHTAyKypAgGIdlN47NbZl2r7gWZP9/8vhHR9@/CcKum6UVbYWIjodRuCF7y7pytORs76bXYpowewjbmRjmvwyXptA3QcW0J/c0AeAwOtAscvqD6Jli0FLACMIQmz3FSmdJn4N4TS4u1hDKSssdaKpzHsOUobYPX06PTyxC9xQrGY7EwexOHlcnZM63euQie26F1viP1SqsX1iZX8XmgSPIF/SaKce@m3nu5OPeTvKAZjF@hZTBf1OLiIaxapmbAlQF@bnTBtOTKFLlRWoz/05928hJXRhrB9Rn@QEo@Tuzzbi/tR@b3yFNnIt/lwsUAZQk6HQc4FGM2TtMf

01:11:43 Oliver Mooney's intro to J: https://youtu.be/t32bIbzQdCU

01:11:43 APL Wiki Learning Resources: https://apl.wiki/Learning_resources

01:13:42 Stephen's website: https://5jt.com

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode