https://aplwiki.com/api.php?action=feedcontributions&user=Ad%C3%A1m+Brudzewsky&feedformat=atom
APL Wiki - User contributions [en-gb]
2024-03-28T11:53:59Z
User contributions
MediaWiki 1.38.2
https://aplwiki.com/index.php?title=Swag&diff=11408
Swag
2024-03-28T08:13:02Z
<p>Adám Brudzewsky: Redirected page to APL merchandise</p>
<hr />
<div>#REDIRECT [[APL merchandise]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL_Challenge&diff=11399
APL Challenge
2024-03-19T20:35:01Z
<p>Adám Brudzewsky: /* References */</p>
<hr />
<div>[[File:APL Challenge logo.png||thumb|right|200px|APL Challenge logo]]<br />
The '''APL Challenge''' is a quarterly contest hosted by [[Dyalog Ltd]] with rounds beginning in February, May, August, and November. The APL Challenge continues the tradition of the [[APL Problem Solving Competition]], which Dyalog Ltd ran from 2008 until 2023, but is aimed specifically at newcomers to APL, and consists of ten entry-level problems.<ref>[[Dyalog Ltd]]. [https://www.dyalog.com/news/160/420/APL-Challenge.htm APL Challenge]. [https://www.dyalog.com/news.htm News about Dyalog]. Jan 19, 2024.</ref><br />
<br />
== External links ==<br />
<br />
* [https://www.dyalog.com/apl-challenge.htm Dyalog]<br />
* [https://challenge.dyalog.com Competition website]<br />
<br />
== References ==<br />
<references/><br />
{{APL community}}[[Category:Recreation]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Template:APL_community&diff=11398
Template:APL community
2024-03-19T20:34:40Z
<p>Adám Brudzewsky: </p>
<hr />
<div><noinclude>__NOTITLE__</noinclude><br />
{| class="wikitable <includeonly>{{{1|mw-collapsible mw-collapsed}}}</includeonly>" style="width:100%"<br />
! colspan="2" | '''<big>APL community</big>''' [[{{fullurl:Template:APL_community|action=edit}} edit]]<br />
|-<br />
! [[Conferences and activities]]<br />
| [[Advent of Code]] ∙ [[APL Campfire]] ∙ [[APL Cultivation]] ∙ [[APL Meetup]] (Portuguese) ∙ [[APL Show]] ∙ [[APL Problem Solving Competition]] ∙ [[APL Challenge]] ∙ [[APL Quest]] ∙ [[APL Seeds]] ∙ [[Array Cast]] ∙ [[BAA Webinar|BAA sessions]] ∙ [[Code golf]] ∙ [[Dyalog user meeting]]s ∙ [[Dyalog webinar]]s ∙ [[Iverson Award]]<br />
|-<br />
! [[Chat rooms and forums]]<br />
| [[APL Farm]] ∙ [[APL Orchard]]<br />
|-<br />
! [[User groups]]<br />
| [[APL et J]] (France) ∙ [[APL Germany]] ([[German terminology|terminology]]) ∙ [[APL ∊ BCN]] (Spain) ∙ [[BAA]] (UK) ∙ [[FinnAPL]] (Finland) ∙ [[SIGAPL]] (USA) ∙ [[Tokyo APL/J/K Meetup]] (Japan)<br />
|-<br />
! People<br />
| [[Phil Abrams]] ∙ [[Brian Becker]] ∙ [[Bob Bernecky]] ∙ [[Larry Breed]] ∙ [[Charles Brenner]] ∙ [[Jim Brown]] ∙ [[Adám Brudzewsky]] ∙ [[Gitte Christensen]] ∙ [[Peter Donnelly]] ∙ [[John Earnest]] ∙ [[Adin Falkoff]] ∙ [[Garth Foster]] ∙ [[Lib Gibson]] ∙ [[Aaron Hsu]] ∙ [[Roger Hui]] ∙ [[Ken Iverson]] ∙ [[Morten Kromberg]] ∙ [[Dick Lathwell]] ∙ [[Marshall Lochbaum]] ∙ [[Eugene McDonnell]] ∙ [[Roger Moore]] ∙ [[Alan Perlis]] ∙ [[Henry Rich]] ∙ [[Al Rose]] ∙ [[John Scholes]] ∙ [[Ian Sharp]] ∙ [[Bob Smith]] ∙ [[Geoff Streeter]] ∙ [[Arthur Whitney]]<br />
|-<br />
! Other<br />
| [[APL Quote Quad]] ∙ [[APL_Wiki:About|APL Wiki]] ∙ [[Blogs]] ∙ [[Books]] ∙ [[Case studies]] ∙ [[List of famous APL users|Famous APL users]] ∙ [[Humour]] ∙ [[Jobs]] ∙ [[APL merchandise|Merchandise]] ∙ [[Papers]] ∙ [[Podcasts]] ∙ [[TryAPL]] ∙ [[Try It Online]] ∙ [[Video channels]]<br />
|}</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL_Challenge&diff=11397
APL Challenge
2024-03-19T20:34:06Z
<p>Adám Brudzewsky: </p>
<hr />
<div>[[File:APL Challenge logo.png||thumb|right|200px|APL Challenge logo]]<br />
The '''APL Challenge''' is a quarterly contest hosted by [[Dyalog Ltd]] with rounds beginning in February, May, August, and November. The APL Challenge continues the tradition of the [[APL Problem Solving Competition]], which Dyalog Ltd ran from 2008 until 2023, but is aimed specifically at newcomers to APL, and consists of ten entry-level problems.<ref>[[Dyalog Ltd]]. [https://www.dyalog.com/news/160/420/APL-Challenge.htm APL Challenge]. [https://www.dyalog.com/news.htm News about Dyalog]. Jan 19, 2024.</ref><br />
<br />
== External links ==<br />
<br />
* [https://www.dyalog.com/apl-challenge.htm Dyalog]<br />
* [https://challenge.dyalog.com Competition website]<br />
<br />
== References ==<br />
<references/><br />
== References ==<br />
<references/><br />
{{APL community}}[[Category:Recreation]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL_Quest&diff=11381
APL Quest
2024-03-19T01:40:15Z
<p>Adám Brudzewsky: </p>
<hr />
<div>[[File:APL Quest frame.png|thumb|right|Still frame from a follow-up video.]]<br />
'''APL Quest''' is the title applied to the collection of phase 1 problems from the 2013–2023 [[APL Problem Solving Competition]] rounds, and to the associated live chat sessions, sample solutions<ref>Brudzewsky, Adám. [https://github.com/abrudz/apl_quest/ apl_quest] code repository. GitHub.</ref> and video follow-ups.<ref>Brudzewsky, Adám. [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN APL Quest] playlist. YouTube.</ref> The problem texts were written by [[Brian Becker]]<ref>Brudzewsky, Adám. [https://www.dyalog.com/blog/2024/03/the-apl-quest-series/ The APL Quest Series]. [[Dyalog Ltd|Dyalog Blog]]. March 15, 2024.</ref> and the chat events were held by [[Adám Brudzewsky]] (who also recorded the videos) with guest appearances by [[Richard Park]], from 4 February 2022 until 8 March 2024. The problems are available online as a [[learning resources|learning resource]], complete with automatic validation of solutions.<ref>[https://problems.tryapl.org APL Quest] website.</ref><br />
<br />
== Sessions ==<br />
=== Problems from 2013 ===<br />
{|class=wikitable id=2013<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2013|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2013.html?goto=P1_Seems_a_Bit_Odd_To_Me Seems a Bit Odd To Me] || [https://chat.stackexchange.com/transcript/52405?m=60343161#60343161 Feb 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/1.apl 2013/1.apl] || [https://www.youtube.com/watch?v=Mj4wyLKrBho&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2013.html?goto=P2_Making_The_Grade Making The Grade] || [https://chat.stackexchange.com/transcript/52405?m=60402180#60402180 Feb 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/2.apl 2013/2.apl] || [https://www.youtube.com/watch?v=pxo2BtoMxP4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:03]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2013.html?goto=P3_What_Is_In_a_Word What Is In a Word] || [https://chat.stackexchange.com/transcript/message/60462122#60462122 Feb 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/3.apl 2013/3.apl] || [https://www.youtube.com/watch?v=MgkM2qCPWas&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:18]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2013.html?goto=P4_Keeping_Things_In_Balance Keeping Things In Balance] || [https://chat.stackexchange.com/transcript/52405?m=60517971#60517971 Feb 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/4.apl 2013/4.apl] || [https://www.youtube.com/watch?v=El0_RB4TTPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:34:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2013.html?goto=P5_Identity_Crisis Identity Crisis] || [https://chat.stackexchange.com/transcript/52405?m=60573163#60573163 Mar 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/5.apl 2013/5.apl] || [https://www.youtube.com/watch?v=vVaZ3wEdmpQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:25:05]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2013.html?goto=P6_Home_On_The_Range Home On The Range] || [https://chat.stackexchange.com/transcript/52405?m=60624938#60624938 Mar 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/6.apl 2013/6.apl] || [https://www.youtube.com/watch?v=36HlHsEjUIQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:48]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2013.html?goto=P7_Float_Your_Boat Float Your Boat] || [https://chat.stackexchange.com/transcript/52405?m=60678893#60678893 Mar 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/7.apl 2013/7.apl] || [https://www.youtube.com/watch?v=w5LvImFVi2M&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:22:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2013.html?goto=P8_Go_Forth_And_Multiply Go Forth And Multiply] || [https://chat.stackexchange.com/transcript/52405?m=60733991#60733991 Mar 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/8.apl 2013/8.apl] || [https://www.youtube.com/watch?v=O_l-nJYmDrs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:42]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2013.html?goto=P9_It_Is_a_Moving_Experience It Is a Moving Experience] || [https://chat.stackexchange.com/transcript/52405?m=60790499#60790499 Apr 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/9.apl 2013/9.apl] || [https://www.youtube.com/watch?v=txZiCW12lTE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:12]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2013.html?goto=P10_Solution_Salvation Solution Salvation] || [https://chat.stackexchange.com/transcript/52405?m=60845175#60845175 Apr 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/10.apl 2013/10.apl] || [https://www.youtube.com/watch?v=w-rzx2VNqbY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:01]<br />
|}<br />
:<span id=p2013>[[#2013|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_M0SIpfU8eBWSYXE-GD86g a single playlist].<br />
<br />
=== Problems from 2014 ===<br />
{|class=wikitable id=2014<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2014|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2014.html?goto=P1_It_Is_All_Right It Is All Right] || [https://chat.stackexchange.com/transcript/52405?m=60900017#60900017 Apr 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/1.apl 2014/1.apl] || [https://www.youtube.com/watch?v=0SeHAg0q30w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:18:13]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2014.html?goto=P2_How_Tweet_It_Is How Tweet It Is] || [https://chat.stackexchange.com/transcript/52405?m=60949514#60949514 Apr 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/2.apl] || [https://www.youtube.com/watch?v=3X3l76njwfs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:29:50]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2014.html?goto=P3_Tell_a_Fib Tell a Fib] || [https://chat.stackexchange.com/transcript/52405?m=61008731#61008731 Apr 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/3.apl] || [https://www.youtube.com/watch?v=7J4hJmgWlJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:30:45]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2014.html?goto=P4_Space_The_Final_Frontier Space The Final Frontier] || [https://chat.stackexchange.com/transcript/52405?m=61062129#61062129 May 6, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/4.apl 2014/4.apl] || [https://www.youtube.com/watch?v=aqfhItFpO2I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:52:55]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2014.html?goto=P5_Mirror_Mirror Mirror Mirror] || [https://chat.stackexchange.com/transcript/52405?m=61119677#61119677 May 13, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/5.apl 2014/5.apl] || [https://www.youtube.com/watch?v=cPzQr2aJ7e4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:31]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2014.html?goto=P6_Roll_The_Dice Roll The Dice] || [https://chat.stackexchange.com/transcript/52405?m=61177683#61177683 May 20, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/6.apl 2014/6.apl] || [https://www.youtube.com/watch?v=HwEmjnPpMqY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:55]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2014.html?goto=P7_Revolutionary_Thinking Revolutionary Thinking] || [https://chat.stackexchange.com/transcript/52405?m=61231677#61231677 May 27, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/7.apl 2014/7.apl] || [https://www.youtube.com/watch?v=aiEOXOy56iw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2014.html?goto=P8_Go_The_Distance Go The Distance] || [https://chat.stackexchange.com/transcript/52405/2022/6/3 Jun 3, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/8.apl 2014/8.apl] || [https://www.youtube.com/watch?v=OEChBu1p98w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:59]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2014.html?goto=P9_Going_Ballistic Going Ballistic] || [https://chat.stackexchange.com/transcript/52405?m=61327875#61327875 Jun 10, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/9.apl 2014/9.apl]|| [https://www.youtube.com/watch?v=jhrTBWvVahI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:27]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2014.html?goto=P10_Sales_Are_Up Sales Are Up] || [https://chat.stackexchange.com/transcript/52405?m=61385753#61385753 Jun 17, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2014 2014/10.apl] || [https://www.youtube.com/watch?v=JvvaNQ0DO4Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:59]<br />
|}<br />
:<span id=p2014>[[#2014|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj--yAmV2yUe73O5ntiqF4Xp a single playlist].<br />
<br />
=== Problems from 2015 ===<br />
{|class=wikitable id=2015<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2015|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2015.html?goto=P1_Nag_A_Ram Nag A Ram] || [https://chat.stackexchange.com/transcript/52405?m=61439442#61439442 Jun 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2015/1.apl 2015/1.apl] || [https://www.youtube.com/watch?v=nmUQ9cSQajY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:22]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2015.html?goto=P2_Longest_Streak Longest Streak] || [https://chat.stackexchange.com/transcript/52405?m=61492634#61492634 Jul 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/2.apl] || [https://www.youtube.com/watch?v=fXl5_cJFw34&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:49]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2015.html?goto=P3_Farey_Tale Farey Tale] || [https://chat.stackexchange.com/transcript/52405?m=61541307#61541307 Jul 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/3.apl] || [https://www.youtube.com/watch?v=7bLqOYg5DZk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:31:35]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2015.html?goto=P4_PDI_Progressive_Dyadic_Iota PDI - Progressive Dyadic Iota] || [https://chat.stackexchange.com/transcript/52405?m=61590333#61590333 Jul 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/4.apl 2015/4.apl] || [https://www.youtube.com/watch?v=FGzpsUK5WF4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:35:10]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2015.html?goto=P5_Hes_so_mean_he_has_no_standard_deviation He’s so mean, he has no standard deviation] || [https://chat.stackexchange.com/transcript/message/61644417#61644417 Jul 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/5.apl 2015/5.apl] || [https://www.youtube.com/watch?v=9_RPmL2Szkk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:47]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2015.html?goto=P6_Hey_This_is_My_Space Hey! This is My Space] || [https://chat.stackexchange.com/transcript/message/61688071#61688071 Jul 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/6.apl 2015/6.apl] || [https://www.youtube.com/watch?v=Ya832W9iBC4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:00]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2015.html?goto=P7_Just_In_Upper_Case Just in (Upper) Case] || [https://chat.stackexchange.com/transcript/52405?m=61731271#61731271 Aug 5, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/7.apl 2015/7.apl] || [https://www.youtube.com/watch?v=syzyAQc11M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2015.html?goto=P8_Unlucky_13 Unlucky 13] || [https://chat.stackexchange.com/transcript/52405?m=61776938#61776938 Aug 12, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/8.apl 2015/8.apl] || [https://www.youtube.com/watch?v=2VSUnKEu5m8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2015.html?goto=P9_Id_Like_Mine_Scrambled_Please I’d Like Mine Scrambled Please] || [https://chat.stackexchange.com/transcript/52405?m=61822639#61822639 Aug 19, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/9.apl 2015/9.apl] || [https://www.youtube.com/watch?v=jptaYjzi_mE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:31]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2015.html?goto=P10_Blaiseing_a_Trail Blaise’ing a Trail] || [https://chat.stackexchange.com/transcript/52405?m=61871003#61871003 Aug 26, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/10.apl 2015/10.apl] || [https://www.youtube.com/watch?v=j0prKDZtBWQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:46]<br />
|}<br />
:<span id=p2015>[[#2015|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8D5G7jIkBPCsuu_9AbyHxE a single playlist].<br />
<br />
=== Problems from 2016 ===<br />
{|class=wikitable id=2016<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2016|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2016.html?goto=P1_Statistics_Mean Statistics - Mean] || [https://chat.stackexchange.com/transcript/52405?m=61919109#61919109 Sep 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/1.apl 2016/1.apl] || [https://www.youtube.com/watch?v=pZA3NFdh7M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2016.html?goto=P2_Statistics_Median Statistics - Median] || [https://chat.stackexchange.com/transcript/52405?m=61968437#61968437 Sep, 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/2.apl 2016/2.apl] || [https://www.youtube.com/watch?v=oBkCJfi_OEU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:22]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2016.html?goto=P3_Statistics_Mode Statistics - Mode] || [https://chat.stackexchange.com/transcript/52405?m=62016595#62016595 Sep, 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/3.apl 2016/3.apl] || [https://www.youtube.com/watch?v=iJsh_0wD2us&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:26:36]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2016.html?goto=P4_Just_Meshing_Around Just Meshing Around] || [https://chat.stackexchange.com/transcript/52405?m=62063400#62063400 Sep, 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/4.apl 2016/4.apl] || [https://www.youtube.com/watch?v=59eKagcVoO4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:07]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2016.html?goto=P5_Youre_Unique_Just_Like_Everyone_Else You’re Unique, Just Like Everyone Else] || [https://chat.stackexchange.com/transcript/52405?m=62107645#62107645 Sep, 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/5.apl 2016/5.apl] || [https://www.youtube.com/watch?v=zFSFcIskU4U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:36]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2016.html?goto=P6_Shorter_Ones_to_the_Front Shorter Ones to the Front] || [https://chat.stackexchange.com/transcript/52405?m=62151647#62151647 Oct, 7, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/6.apl 2016/6.apl] || [https://www.youtube.com/watch?v=ZmVuGl6-DJk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:19]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2016.html?goto=P7_3s_and_5s 3s and 5s] || [https://chat.stackexchange.com/transcript/52405?m=62198343#62198343 Oct, 14, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/7.apl 2016/7.apl] || [https://www.youtube.com/watch?v=s1qIJ1LRfaQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:28]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2016.html?goto=P8_Separating_Out_the_Negative Separating Out the Negative] || [https://chat.stackexchange.com/transcript/52405?m=62233525#62233525 Oct, 21, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/8.apl 2016/8.apl] || [https://www.youtube.com/watch?v=ZSEJkNrEdOQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:16]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2016.html?goto=P9_Delimited_Text Delimited Text] || [https://chat.stackexchange.com/transcript/52405?m=62273399#62273399 Oct, 28, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/9.apl 2016/9.apl] || [https://www.youtube.com/watch?v=5_ArihWDSlM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:51]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2016.html?goto=P10_Order_Total_Dot_Product Order Total] || [https://chat.stackexchange.com/transcript/52405?m=62313927#62313927 Nov, 4, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/10.apl 2016/10.apl] || [https://www.youtube.com/watch?v=5rfCeT_lPk8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:43]<br />
|}<br />
:<span id=p2016>[[#2016|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9zSwnh4K28nCApruWA1j_m a single playlist].<br />
<br />
=== Problems from 2017 ===<br />
{|class=wikitable id=2017<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2017|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2017.html?goto=P1_What_an_Odd_Bunch What an Odd Bunch] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Nov 11, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/1.apl 2017/1.apl] || [https://www.youtube.com/watch?v=afiMn3ACT1U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2017.html?goto=P2_Good_Evening Good Evening] || [https://chat.stackexchange.com/transcript/52405?m=62397727#62397727 Nov 18, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/2.apl 2017/2.apl] || [https://www.youtube.com/watch?v=fg1Z0V33Er4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:56]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2017.html?goto=P3_Miss_Quoted Miss Quoted] || [https://chat.stackexchange.com/transcript/52405?m=62439770#62439770 Nov 25, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/3.apl 2017/3.apl] || [https://www.youtube.com/watch?v=Yx3xqiNo9NY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:04]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2017.html?goto=P4_Slices_of_Pies Slice(s) of Pie(s)] || [https://chat.stackexchange.com/transcript/52405?m=62483171#62483171 Dec 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/4.apl 2017/4.apl] || [https://www.youtube.com/watch?v=XLrh6HwUbP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2017.html?goto=P5_DNA DNA?] || [https://chat.stackexchange.com/transcript/message/62538000#62538000 Dec 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/5.apl 2017/5.apl] || [https://www.youtube.com/watch?v=s2XtJKB1Sks&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:54]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2017.html?goto=P6_k_mers k-mers] ||[https://chat.stackexchange.com/transcript/message/62581736#62581736 Dec 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/6.apl 2017/6.apl] || [https://www.youtube.com/watch?v=SYcEnkcV5q8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:54]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2017.html?goto=P7_Counting_DNA_Nucleotides Counting DNA Nucleotides] || [https://chat.stackexchange.com/transcript/message/62628046#62628046 Dec 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/7.apl 2017/7.apl] || [https://www.youtube.com/watch?v=0TJkzDIWAno&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:53]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2017.html?goto=P8_Be_the_First_1 Be the First 1] || [https://chat.stackexchange.com/transcript/52405?m=62667691#62667691 Dec 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/8.apl 2017/8.apl] || [https://www.youtube.com/watch?v=he6rpBP4hP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:10]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2017.html?goto=P9_Double_Trouble Double Trouble] || [https://chat.stackexchange.com/transcript/52405?m=62715050#62715050 Jan 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/9.apl 2017/9.apl] || [https://www.youtube.com/watch?v=t2RH0isi3Qg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:35]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2017.html?goto=P10_Squaring_Off Squaring Off] || [https://chat.stackexchange.com/transcript/52405?m=62764522#62764522 Jan 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/10.apl 2017/10.apl] || [https://www.youtube.com/watch?v=AOleoh2JlJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:38]<br />
|-<br />
|}<br />
:<span id=p2017>[[#2017|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8wDbpQmxKOGNKwrsCJSbz7 a single playlist].<br />
<br />
=== Problems from 2018 ===<br />
{|class=wikitable id=2018<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2018|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2018.html?goto=P1_Oh_Say_Can_You_See Oh Say Can You See] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Jan 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/1.apl 2018/1.apl] || [https://www.youtube.com/watch?v=YZBOKebM624&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2018.html?goto=P2_Number_Splitting Number Splitting] || [https://chat.stackexchange.com/transcript/message/62858667#62858667 Jan 27, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/2.apl 2018/2.apl] || [https://www.youtube.com/watch?v=Q4U3y-bhxGA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:16]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2018.html?goto=P3_Rolling_Along Rolling Along] || [https://chat.stackexchange.com/transcript/message/62907248#62907248 Feb 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/3.apl 2018/3.apl] || [https://www.youtube.com/watch?v=D6jWkFo00-E&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:03]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2018.html?goto=P4_Whats_Your_Sign Whats Your Sign] || [https://chat.stackexchange.com/transcript/52405?m=62957002#62957002 Feb 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/4.apl 2018/4.apl] || [https://www.youtube.com/watch?v=g82bRux0TJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:40]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2018.html?goto=P5_Whats_Your_Sign_Revisited Whats Your Sign Revisited] || [https://chat.stackexchange.com/transcript/52405?m=63010133#63010133 Feb 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/5.apl 2018/5.apl] || [https://www.youtube.com/watch?v=BtJ6Hey2PE4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:18]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2018.html?goto=P6_Whats_Your_Angle Whats Your Angle] || [https://chat.stackexchange.com/transcript/52405?m=63056863#63056863 Feb 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/6.apl 2018/6.apl] || [https://www.youtube.com/watch?v=3ivJvycE0Tk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:09]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2018.html?goto=P7_Unconditionally_Shifty Unconditionally Shifty] || [https://chat.stackexchange.com/transcript/52405?m=63108820#63108820 Mar 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/7.apl 2018/7.apl] || [https://www.youtube.com/watch?v=b3r4CY5kf9c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:45]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2018.html?goto=P8_Making_a_Good_Argument Making a Good Argument] || [https://chat.stackexchange.com/transcript/52405?m=63151714#63151714 Mar 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/8.apl 2018/8.apl] || [https://www.youtube.com/watch?v=F72metQNXAU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:41]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2018.html?goto=P9_Earlier_Later_or_the_Same Earlier Later or the Same] || [https://chat.stackexchange.com/transcript/52405?m=63197530#63197530 Mar 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/9.apl 2018/9.apl] || [https://www.youtube.com/watch?v=gPQpCa0ke0U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2018.html?goto=P10_Anagrammatically_Correct Anagrammatically Correct] || [https://chat.stackexchange.com/transcript/52405?m=63239751#63239751 Mar 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/10.apl 2018/10.apl] || [https://www.youtube.com/watch?v=3kRLlmZC62o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:12]<br />
|-<br />
|}<br />
:<span id=p2018>[[#2018|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8NxxMWk_WcDOjDoqz65bKh a single playlist].<br />
=== Problems from 2019 ===<br />
{|class=wikitable id=2019<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2019|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2019.html?goto=P1_Chunky_Monkey Chunky Monkey] || [https://chat.stackexchange.com/transcript/52405?m=63286611#63286611 Mar 31, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/1.apl 2019/1.apl] || [https://www.youtube.com/watch?v=9puw9PBMFP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:32]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2019.html?goto=P2_Making_the_Grade Making the Grade] || [https://chat.stackexchange.com/transcript/52405?m=63332288#63332288 Apr 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/2.apl 2019/2.apl] || [https://www.youtube.com/watch?v=1EaAau9x8MI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:27]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2019.html?goto=P3_Grade_Distribution Grade Distribution] || [https://chat.stackexchange.com/transcript/52405?m=63374600#63374600 Apr 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/3.apl 2019/3.apl] || [https://www.youtube.com/watch?v=uPMqIHcOfgE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2019.html?goto=P4_Knight_Moves Knight Moves] || [https://chat.stackexchange.com/transcript/52405?m=63423145#63423145 Apr 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/4.apl 2019/4.apl] || [https://www.youtube.com/watch?v=K40CsPxYohM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:37]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2019.html?goto=P5_Doubling_Up Doubling Up] || [https://chat.stackexchange.com/transcript/52405?m=63469882#63469882 Apr 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/5.apl 2019/5.apl] || [https://www.youtube.com/watch?v=c8XRnJeJ2AY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:01]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2019.html?goto=P6_Telephone_Names Telephone Names] || [https://chat.stackexchange.com/transcript/52405?m=63515042#63515042 May 5, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/6.apl 2019/6.apl] || [https://www.youtube.com/watch?v=mzyrnyV7Q_c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:23]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2019.html?goto=P7_In_the_Center_of_It_All In the Center of It All] || [https://chat.stackexchange.com/transcript/52405?m=63558554#63558554 May 12, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/7.apl 2019/7.apl] || [https://www.youtube.com/watch?v=Bhov522Jz7o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2019.html?goto=P8_Going_the_Distance Going the Distance] || [https://chat.stackexchange.com/transcript/52405?m=63609358#63609358 May 19, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/8.apl 2019/8.apl] || [https://www.youtube.com/watch?v=GNdp6rAZ2Is&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2019.html?goto=P9_Area_Code_a_la_Gauss Area Code à la Gauss] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 May 26, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/9.apl 2019/9.apl] || [https://www.youtube.com/watch?v=njZs8HV5Ra0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:57]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2019.html?goto=P10_Odd_and_Evens Odd and Evens] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 Jun 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/10.apl 2019/10.apl] || [https://www.youtube.com/watch?v=9hUTqexYZ0I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:33]<br />
|}<br />
:<span id=p2019>[[#2019|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-CZEC7r5v4SMd0RtgpoWPt a single playlist].<br />
<br />
=== Problems from 2020 ===<br />
{|class=wikitable id=2020<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2020|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2020.html?goto=P1_Lets_Split Let's Split] || [https://chat.stackexchange.com/transcript/52405?m=63767556#63767556 Jun 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/1.apl 2020/1.apl] || [https://www.youtube.com/watch?v=2grlocFykmI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:11]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2020.html?goto=P2_Characters Character Building] || [https://chat.stackexchange.com/transcript/52405?m=63803321#63803321 Jun 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/2.apl 2020/2.apl] || [https://www.youtube.com/watch?v=C5X6FlTNzX4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:05]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2020.html?goto=P3_Columns Excel-lent Columns] || [https://chat.stackexchange.com/transcript/52405?m=63835448#63835448 Jun 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/3.apl 2020/3.apl] || [https://www.youtube.com/watch?v=yg96DlrXUc4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:19]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2020.html?goto=P4_Take_a_Leap Take a Leap] || [https://chat.stackexchange.com/transcript/52405?m=63890718#63890718 Jun 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/4.apl 2020/4.apl] || [https://www.youtube.com/watch?v=hqyDUkSooCw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:04]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2020.html?goto=P5_Integer_Range Stepping in the Proper Direction] || [https://chat.stackexchange.com/transcript/message/63935087#63935087 Jul 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/5.apl 2020/5.apl] || [https://www.youtube.com/watch?v=SjCmDfWmhqk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:17]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2020.html?goto=P6_Move_To_Front Move to the Front] || [https://chat.stackexchange.com/transcript/52405?m=63980930#63980930 Jul 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/6.apl 2020/6.apl] || [https://www.youtube.com/watch?v=FfFzzmEo37Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:04]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2020.html?goto=P7_Bits See You in a Bit] || [https://chat.stackexchange.com/transcript/52405?m=64028252#64028252 Jul 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/7.apl 2020/7.apl] || [https://www.youtube.com/watch?v=xXweDCXIVSk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:02]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2020.html?goto=P8_Zigzag Zigzag Numbers] || [https://chat.stackexchange.com/transcript/52405?m=64081060#64081060 Jul 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/8.apl 2020/8.apl] || [https://www.youtube.com/watch?v=Q-8LAhe79zM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2020.html?goto=P9_Rise_and_Fall Rise and Fall] || [https://chat.stackexchange.com/transcript/52405?m=64125164#64125164 Aug 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/9.apl 2020/9.apl] || [https://www.youtube.com/watch?v=qypqissqN-c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:49]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2020.html?goto=P10_Stacking_It_Up Stacking It Up] || [https://chat.stackexchange.com/transcript/52405?m=64172099#64172099 Aug 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/10.apl 2020/10.apl] || [https://www.youtube.com/watch?v=LBelbuN1yRo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:09]<br />
|}<br />
:<span id=p2020>[[#2020|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8J80yMTag0_VDzxdPKjZ28 a single playlist].<br />
<br />
=== Problems from 2021 ===<br />
{|class=wikitable id=2021<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2021|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2021.html?goto=P1_Are_You_a_Bacteria Are You a Bacteria] || [https://chat.stackexchange.com/transcript/52405?m=64216596#64216596 Aug 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/1.apl 2021/1.apl] || [https://www.youtube.com/watch?v=6tkUO7Wc5Tg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2021.html?goto=P2_Index_Of_Modified Index Of Modified] || [https://chat.stackexchange.com/transcript/52405?m=64262014#64262014 Aug 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/2.apl 2021/2.apl] || [https://www.youtube.com/watch?v=r5VQ9wSBVTg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:36]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2021.html?goto=P3_Multiplicity Multiplicity] || [https://chat.stackexchange.com/transcript/52405?m=64315806#64315806 Sep 1, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/3.apl 2021/3.apl] || [https://www.youtube.com/watch?v=h9xqYCxiMJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2021.html?goto=P4_Square_Peg_Round_Hole Square Peg, Round Hole] || [https://chat.stackexchange.com/transcript/52405?m=64360617#64360617 Sep 8, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/4.apl 2021/4.apl] || [https://www.youtube.com/watch?v=h0RS-rEV3BM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:39]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2021.html?goto=P5_Rect_ify Rect-ify] || [https://chat.stackexchange.com/transcript/52405?m=64410899#64410899 Sep 15, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/5.apl 2021/5.apl] || [https://www.youtube.com/watch?v=demUjdV0EPk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:02]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2021.html?goto=P6_Fischer_Random_Chess Fischer Random Chess] || [https://chat.stackexchange.com/transcript/52405?m=64457542#64457542 Sep 22, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/6.apl 2021/6.apl] || [https://www.youtube.com/watch?v=UvlL1OyIJIw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:20]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2021.html?goto=P7_Can_You_Feel_the_Magic Can You Feel the Magic] || [https://chat.stackexchange.com/transcript/52405?m=64501098#64501098 Sep 29, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/7.apl 2021/7.apl] || [https://www.youtube.com/watch?v=j9MMQZXpTmM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:41]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2021.html?goto=P8_Time_to_Make_a_Difference Time to Make a Difference] || [https://chat.stackexchange.com/transcript/52405?m=64533505#64533505 Oct 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/8.apl 2021/8.apl] || [https://www.youtube.com/watch?v=hQFMjRPFioI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2021.html?goto=P9_In_the_Long_Run In the Long Run] || [https://chat.stackexchange.com/transcript/52405?m=64569242#64569242 Oct 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/9.apl 2021/9.apl] || [https://www.youtube.com/watch?v=kpTxXyWIgpc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:19]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2021.html?goto=P10_On_the_Right_Side On the Right Side] || [https://chat.stackexchange.com/transcript/52405?m=64604513#64604513 Oct 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/10.apl 2021/10.apl] || [https://www.youtube.com/watch?v=tClkG4ybunI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:25]<br />
|}<br />
:<span id=p2021>[[#2021|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-AtwCeUfeICfWufM133X4e a single playlist].<br />
<br />
=== Problems from 2022 ===<br />
{|class=wikitable id=2022<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2022|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2022.html?goto=P1_Counting_DNA Counting DNA Nucleotides?] || [https://chat.stackexchange.com/transcript/52405?m=64637385#64637385 Oct 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/1.apl 2022/1.apl] || [https://www.youtube.com/watch?v=xhZWd51rATE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2022.html?goto=P2_Mutations Attack of the Mutations!] || [https://chat.stackexchange.com/transcript/52405?m=64668644#64668644 Nov 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/2.apl 2022/2.apl] || [https://www.youtube.com/watch?v=Gy7i_EzrhFE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:07]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2022.html?goto=P3_XOR Uniquely Qualified] || [https://chat.stackexchange.com/transcript/52405?m=64700500#64700500 Nov 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/3.apl 2022/3.apl] || [https://www.youtube.com/watch?v=ZvjgB1aCEH4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:17]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2022.html?goto=P4_Longest_1_run In the Long One…] || [https://chat.stackexchange.com/transcript/52405?m=64729844#64729844 Nov 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/4.apl 2022/4.apl] || [https://www.youtube.com/watch?v=E5H_kV2UXxc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:08]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2022.html?goto=P5_Stairway Stairway to Heaven] || [https://chat.stackexchange.com/transcript/52405?m=64758788#64758788 Nov 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/5.apl 2022/5.apl] || [https://www.youtube.com/watch?v=JfULYgkDVgs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:09]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2022.html?goto=P6_Pyramid Pyramid Scheme] || [https://chat.stackexchange.com/transcript/52405?m=64793494#64793494 Dec 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/6.apl 2022/6.apl] || [https://www.youtube.com/watch?v=I-JBVOIMlPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:14]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2022.html?goto=P7_Golf_Scores Just Golfing Around] || [https://chat.stackexchange.com/transcript/52405?m=64828652#64828652 Dec 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/7.apl 2022/7.apl] || [https://www.youtube.com/watch?v=8SL6exHPQwk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:52]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2022.html?goto=P8_Split_on_first Let’s Split!] || [https://chat.stackexchange.com/transcript/52405?m=64863116#64863116 Dec 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/8.apl 2022/8.apl] || [https://www.youtube.com/watch?v=YMDClM03zyQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:08]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2022.html?goto=P9_Average An Average Window (or a Windowed Average)] || [https://chat.stackexchange.com/transcript/52405?m=64894638#64894638 Dec 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/9.apl 2022/9.apl] || [https://www.youtube.com/watch?v=RautPkG3A3Y&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2022.html?goto=P10_Separators Separation Anxiety] || [https://chat.stackexchange.com/transcript/52405?m=64917683#64917683 Dec 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/10.apl 2022/10.apl] || [https://www.youtube.com/watch?v=VWXqtokDgNQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:17]<br />
|}<br />
:<span id=p2022>[[#2022|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_tpJMwfH1tBXlpDSjEmkwh a single playlist].<br />
<br />
<br />
=== Problems from 2023 ===<br />
{|class=wikitable id=2023<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2023|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2023.html?goto=P1_Elimination_Sort Elimination Sort] || [https://chat.stackexchange.com/transcript/52405?m=64941297#64941297 Jan 5, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/1.apl 2023/1.apl] || [https://www.youtube.com/watch?v=LpUOaipgn7s&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:56]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2023.html?goto=P2_Put_It_In_Reverse Put It In Reverse] || [https://chat.stackexchange.com/transcript/52405?m=64977516#64977516 Jan 12, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/2.apl 2023/2.apl] || [https://www.youtube.com/watch?v=JnExPhse9iM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:58]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2023.html?goto=P3_Caesar_Salad Caesar Salad] || [https://chat.stackexchange.com/transcript/52405?m=65017769#65017769 Jan 19, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/3.apl 2023/3.apl] || [https://www.youtube.com/watch?v=Rg8OCEMlYGg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:56]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2023.html?goto=P4_Like_a_Version Like a Version] || [https://chat.stackexchange.com/transcript/52405?m=65059946#65059946 Jan 26, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/4.apl 2023/4.apl] || [https://www.youtube.com/watch?v=zOhxW-gRR4A&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:15]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2023.html?goto=P5_Risky_Business Risky Business] || [https://chat.stackexchange.com/transcript/52405?m=65101517#65101517 Feb 2, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/5.apl 2023/5.apl] || [https://www.youtube.com/watch?v=CvgRR1Ai94Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:24]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2023.html?goto=P6_Key_Value_Pairs Key Value Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65151113#65151113 Feb 9, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/6.apl 2023/6.apl] || [https://www.youtube.com/watch?v=svaJ0o9oyco&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:41]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2023.html?goto=P7_Lets_Be_Rational Lets Be Rational] || [https://chat.stackexchange.com/transcript/message/65193789#65193789 Feb 16, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/7.apl 2023/7.apl] || [https://www.youtube.com/watch?v=3J_IuXgDiq0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:03]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2023.html?goto=P8_Critical_Thinking Critical Thinking] || [https://chat.stackexchange.com/transcript/52405?m=65234344#65234344 Feb 23, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/8.apl 2023/8.apl] || [https://www.youtube.com/watch?v=yfLowDKvXUs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:22]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2023.html?goto=P9_Flipping_Pairs Flipping Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65274150#65274150 Mar 1, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/9.apl 2023/9.apl] || [https://www.youtube.com/watch?v=3BENCcfRfos&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:47]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2023.html?goto=P10_Partition_with_a_Twist Partition with a Twist] || [https://chat.stackexchange.com/transcript/52405?m=65309996#65309996 Mar 8, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/10.apl 2023/10.apl] || [https://www.youtube.com/watch?v=cGkrLJ2tzcQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:17]<br />
|}<br />
:<span id=p2023>[[#2023|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN a single playlist].<br />
<br />
== References ==<br />
<references/><br />
{{APL community}}[[Category:Online sessions]][[Category:Web broadcasts]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL_Quest&diff=11378
APL Quest
2024-03-19T01:39:36Z
<p>Adám Brudzewsky: </p>
<hr />
<div>[[File:APL Quest frame.png|thumb|right|Still frame from a follow-up video.]]<br />
'''APL Quest''' is the title applied to the collection of phase 1 problems from the 2013–2023 [[APL Problem Solving Competition]] rounds, and to the associated live chat sessions, sample solutions<ref>Brudzewsky, Adám. [https://github.com/abrudz/apl_quest/ apl_quest] code repository. GitHub.</ref> and video follow-ups.<ref>Brudzewsky, Adám. [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN APL Quest] playlist. YouTube.</ref> The problem texts were written by [[Brian Becker]]<ref>Brudzewsky, Adám. [https://www.dyalog.com/blog/2024/03/the-apl-quest-series/ The APL Quest Series]. [[Dyalog Ltd|Dyalog Blog]]. March 15, 2024.</ref> and the chat events were held by [[Adám Brudzewsky]] (who also recorded the videos) with guest appearances by [[Richard Park]], from 4 February 2022 until 8 March 2024. As problems are available online as a [[learning resources|learning resource]], complete with automatic validation of solutions.<ref>[https://problems.tryapl.org APL Quest] website.</ref>.<br />
<br />
== Sessions ==<br />
=== Problems from 2013 ===<br />
{|class=wikitable id=2013<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2013|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2013.html?goto=P1_Seems_a_Bit_Odd_To_Me Seems a Bit Odd To Me] || [https://chat.stackexchange.com/transcript/52405?m=60343161#60343161 Feb 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/1.apl 2013/1.apl] || [https://www.youtube.com/watch?v=Mj4wyLKrBho&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2013.html?goto=P2_Making_The_Grade Making The Grade] || [https://chat.stackexchange.com/transcript/52405?m=60402180#60402180 Feb 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/2.apl 2013/2.apl] || [https://www.youtube.com/watch?v=pxo2BtoMxP4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:03]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2013.html?goto=P3_What_Is_In_a_Word What Is In a Word] || [https://chat.stackexchange.com/transcript/message/60462122#60462122 Feb 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/3.apl 2013/3.apl] || [https://www.youtube.com/watch?v=MgkM2qCPWas&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:18]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2013.html?goto=P4_Keeping_Things_In_Balance Keeping Things In Balance] || [https://chat.stackexchange.com/transcript/52405?m=60517971#60517971 Feb 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/4.apl 2013/4.apl] || [https://www.youtube.com/watch?v=El0_RB4TTPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:34:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2013.html?goto=P5_Identity_Crisis Identity Crisis] || [https://chat.stackexchange.com/transcript/52405?m=60573163#60573163 Mar 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/5.apl 2013/5.apl] || [https://www.youtube.com/watch?v=vVaZ3wEdmpQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:25:05]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2013.html?goto=P6_Home_On_The_Range Home On The Range] || [https://chat.stackexchange.com/transcript/52405?m=60624938#60624938 Mar 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/6.apl 2013/6.apl] || [https://www.youtube.com/watch?v=36HlHsEjUIQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:48]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2013.html?goto=P7_Float_Your_Boat Float Your Boat] || [https://chat.stackexchange.com/transcript/52405?m=60678893#60678893 Mar 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/7.apl 2013/7.apl] || [https://www.youtube.com/watch?v=w5LvImFVi2M&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:22:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2013.html?goto=P8_Go_Forth_And_Multiply Go Forth And Multiply] || [https://chat.stackexchange.com/transcript/52405?m=60733991#60733991 Mar 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/8.apl 2013/8.apl] || [https://www.youtube.com/watch?v=O_l-nJYmDrs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:42]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2013.html?goto=P9_It_Is_a_Moving_Experience It Is a Moving Experience] || [https://chat.stackexchange.com/transcript/52405?m=60790499#60790499 Apr 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/9.apl 2013/9.apl] || [https://www.youtube.com/watch?v=txZiCW12lTE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:12]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2013.html?goto=P10_Solution_Salvation Solution Salvation] || [https://chat.stackexchange.com/transcript/52405?m=60845175#60845175 Apr 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/10.apl 2013/10.apl] || [https://www.youtube.com/watch?v=w-rzx2VNqbY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:01]<br />
|}<br />
:<span id=p2013>[[#2013|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_M0SIpfU8eBWSYXE-GD86g a single playlist].<br />
<br />
=== Problems from 2014 ===<br />
{|class=wikitable id=2014<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2014|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2014.html?goto=P1_It_Is_All_Right It Is All Right] || [https://chat.stackexchange.com/transcript/52405?m=60900017#60900017 Apr 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/1.apl 2014/1.apl] || [https://www.youtube.com/watch?v=0SeHAg0q30w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:18:13]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2014.html?goto=P2_How_Tweet_It_Is How Tweet It Is] || [https://chat.stackexchange.com/transcript/52405?m=60949514#60949514 Apr 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/2.apl] || [https://www.youtube.com/watch?v=3X3l76njwfs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:29:50]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2014.html?goto=P3_Tell_a_Fib Tell a Fib] || [https://chat.stackexchange.com/transcript/52405?m=61008731#61008731 Apr 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/3.apl] || [https://www.youtube.com/watch?v=7J4hJmgWlJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:30:45]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2014.html?goto=P4_Space_The_Final_Frontier Space The Final Frontier] || [https://chat.stackexchange.com/transcript/52405?m=61062129#61062129 May 6, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/4.apl 2014/4.apl] || [https://www.youtube.com/watch?v=aqfhItFpO2I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:52:55]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2014.html?goto=P5_Mirror_Mirror Mirror Mirror] || [https://chat.stackexchange.com/transcript/52405?m=61119677#61119677 May 13, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/5.apl 2014/5.apl] || [https://www.youtube.com/watch?v=cPzQr2aJ7e4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:31]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2014.html?goto=P6_Roll_The_Dice Roll The Dice] || [https://chat.stackexchange.com/transcript/52405?m=61177683#61177683 May 20, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/6.apl 2014/6.apl] || [https://www.youtube.com/watch?v=HwEmjnPpMqY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:55]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2014.html?goto=P7_Revolutionary_Thinking Revolutionary Thinking] || [https://chat.stackexchange.com/transcript/52405?m=61231677#61231677 May 27, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/7.apl 2014/7.apl] || [https://www.youtube.com/watch?v=aiEOXOy56iw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2014.html?goto=P8_Go_The_Distance Go The Distance] || [https://chat.stackexchange.com/transcript/52405/2022/6/3 Jun 3, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/8.apl 2014/8.apl] || [https://www.youtube.com/watch?v=OEChBu1p98w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:59]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2014.html?goto=P9_Going_Ballistic Going Ballistic] || [https://chat.stackexchange.com/transcript/52405?m=61327875#61327875 Jun 10, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/9.apl 2014/9.apl]|| [https://www.youtube.com/watch?v=jhrTBWvVahI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:27]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2014.html?goto=P10_Sales_Are_Up Sales Are Up] || [https://chat.stackexchange.com/transcript/52405?m=61385753#61385753 Jun 17, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2014 2014/10.apl] || [https://www.youtube.com/watch?v=JvvaNQ0DO4Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:59]<br />
|}<br />
:<span id=p2014>[[#2014|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj--yAmV2yUe73O5ntiqF4Xp a single playlist].<br />
<br />
=== Problems from 2015 ===<br />
{|class=wikitable id=2015<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2015|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2015.html?goto=P1_Nag_A_Ram Nag A Ram] || [https://chat.stackexchange.com/transcript/52405?m=61439442#61439442 Jun 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2015/1.apl 2015/1.apl] || [https://www.youtube.com/watch?v=nmUQ9cSQajY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:22]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2015.html?goto=P2_Longest_Streak Longest Streak] || [https://chat.stackexchange.com/transcript/52405?m=61492634#61492634 Jul 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/2.apl] || [https://www.youtube.com/watch?v=fXl5_cJFw34&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:49]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2015.html?goto=P3_Farey_Tale Farey Tale] || [https://chat.stackexchange.com/transcript/52405?m=61541307#61541307 Jul 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/3.apl] || [https://www.youtube.com/watch?v=7bLqOYg5DZk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:31:35]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2015.html?goto=P4_PDI_Progressive_Dyadic_Iota PDI - Progressive Dyadic Iota] || [https://chat.stackexchange.com/transcript/52405?m=61590333#61590333 Jul 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/4.apl 2015/4.apl] || [https://www.youtube.com/watch?v=FGzpsUK5WF4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:35:10]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2015.html?goto=P5_Hes_so_mean_he_has_no_standard_deviation He’s so mean, he has no standard deviation] || [https://chat.stackexchange.com/transcript/message/61644417#61644417 Jul 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/5.apl 2015/5.apl] || [https://www.youtube.com/watch?v=9_RPmL2Szkk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:47]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2015.html?goto=P6_Hey_This_is_My_Space Hey! This is My Space] || [https://chat.stackexchange.com/transcript/message/61688071#61688071 Jul 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/6.apl 2015/6.apl] || [https://www.youtube.com/watch?v=Ya832W9iBC4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:00]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2015.html?goto=P7_Just_In_Upper_Case Just in (Upper) Case] || [https://chat.stackexchange.com/transcript/52405?m=61731271#61731271 Aug 5, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/7.apl 2015/7.apl] || [https://www.youtube.com/watch?v=syzyAQc11M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2015.html?goto=P8_Unlucky_13 Unlucky 13] || [https://chat.stackexchange.com/transcript/52405?m=61776938#61776938 Aug 12, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/8.apl 2015/8.apl] || [https://www.youtube.com/watch?v=2VSUnKEu5m8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2015.html?goto=P9_Id_Like_Mine_Scrambled_Please I’d Like Mine Scrambled Please] || [https://chat.stackexchange.com/transcript/52405?m=61822639#61822639 Aug 19, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/9.apl 2015/9.apl] || [https://www.youtube.com/watch?v=jptaYjzi_mE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:31]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2015.html?goto=P10_Blaiseing_a_Trail Blaise’ing a Trail] || [https://chat.stackexchange.com/transcript/52405?m=61871003#61871003 Aug 26, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/10.apl 2015/10.apl] || [https://www.youtube.com/watch?v=j0prKDZtBWQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:46]<br />
|}<br />
:<span id=p2015>[[#2015|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8D5G7jIkBPCsuu_9AbyHxE a single playlist].<br />
<br />
=== Problems from 2016 ===<br />
{|class=wikitable id=2016<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2016|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2016.html?goto=P1_Statistics_Mean Statistics - Mean] || [https://chat.stackexchange.com/transcript/52405?m=61919109#61919109 Sep 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/1.apl 2016/1.apl] || [https://www.youtube.com/watch?v=pZA3NFdh7M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2016.html?goto=P2_Statistics_Median Statistics - Median] || [https://chat.stackexchange.com/transcript/52405?m=61968437#61968437 Sep, 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/2.apl 2016/2.apl] || [https://www.youtube.com/watch?v=oBkCJfi_OEU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:22]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2016.html?goto=P3_Statistics_Mode Statistics - Mode] || [https://chat.stackexchange.com/transcript/52405?m=62016595#62016595 Sep, 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/3.apl 2016/3.apl] || [https://www.youtube.com/watch?v=iJsh_0wD2us&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:26:36]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2016.html?goto=P4_Just_Meshing_Around Just Meshing Around] || [https://chat.stackexchange.com/transcript/52405?m=62063400#62063400 Sep, 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/4.apl 2016/4.apl] || [https://www.youtube.com/watch?v=59eKagcVoO4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:07]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2016.html?goto=P5_Youre_Unique_Just_Like_Everyone_Else You’re Unique, Just Like Everyone Else] || [https://chat.stackexchange.com/transcript/52405?m=62107645#62107645 Sep, 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/5.apl 2016/5.apl] || [https://www.youtube.com/watch?v=zFSFcIskU4U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:36]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2016.html?goto=P6_Shorter_Ones_to_the_Front Shorter Ones to the Front] || [https://chat.stackexchange.com/transcript/52405?m=62151647#62151647 Oct, 7, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/6.apl 2016/6.apl] || [https://www.youtube.com/watch?v=ZmVuGl6-DJk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:19]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2016.html?goto=P7_3s_and_5s 3s and 5s] || [https://chat.stackexchange.com/transcript/52405?m=62198343#62198343 Oct, 14, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/7.apl 2016/7.apl] || [https://www.youtube.com/watch?v=s1qIJ1LRfaQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:28]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2016.html?goto=P8_Separating_Out_the_Negative Separating Out the Negative] || [https://chat.stackexchange.com/transcript/52405?m=62233525#62233525 Oct, 21, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/8.apl 2016/8.apl] || [https://www.youtube.com/watch?v=ZSEJkNrEdOQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:16]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2016.html?goto=P9_Delimited_Text Delimited Text] || [https://chat.stackexchange.com/transcript/52405?m=62273399#62273399 Oct, 28, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/9.apl 2016/9.apl] || [https://www.youtube.com/watch?v=5_ArihWDSlM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:51]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2016.html?goto=P10_Order_Total_Dot_Product Order Total] || [https://chat.stackexchange.com/transcript/52405?m=62313927#62313927 Nov, 4, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/10.apl 2016/10.apl] || [https://www.youtube.com/watch?v=5rfCeT_lPk8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:43]<br />
|}<br />
:<span id=p2016>[[#2016|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9zSwnh4K28nCApruWA1j_m a single playlist].<br />
<br />
=== Problems from 2017 ===<br />
{|class=wikitable id=2017<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2017|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2017.html?goto=P1_What_an_Odd_Bunch What an Odd Bunch] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Nov 11, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/1.apl 2017/1.apl] || [https://www.youtube.com/watch?v=afiMn3ACT1U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2017.html?goto=P2_Good_Evening Good Evening] || [https://chat.stackexchange.com/transcript/52405?m=62397727#62397727 Nov 18, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/2.apl 2017/2.apl] || [https://www.youtube.com/watch?v=fg1Z0V33Er4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:56]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2017.html?goto=P3_Miss_Quoted Miss Quoted] || [https://chat.stackexchange.com/transcript/52405?m=62439770#62439770 Nov 25, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/3.apl 2017/3.apl] || [https://www.youtube.com/watch?v=Yx3xqiNo9NY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:04]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2017.html?goto=P4_Slices_of_Pies Slice(s) of Pie(s)] || [https://chat.stackexchange.com/transcript/52405?m=62483171#62483171 Dec 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/4.apl 2017/4.apl] || [https://www.youtube.com/watch?v=XLrh6HwUbP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2017.html?goto=P5_DNA DNA?] || [https://chat.stackexchange.com/transcript/message/62538000#62538000 Dec 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/5.apl 2017/5.apl] || [https://www.youtube.com/watch?v=s2XtJKB1Sks&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:54]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2017.html?goto=P6_k_mers k-mers] ||[https://chat.stackexchange.com/transcript/message/62581736#62581736 Dec 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/6.apl 2017/6.apl] || [https://www.youtube.com/watch?v=SYcEnkcV5q8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:54]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2017.html?goto=P7_Counting_DNA_Nucleotides Counting DNA Nucleotides] || [https://chat.stackexchange.com/transcript/message/62628046#62628046 Dec 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/7.apl 2017/7.apl] || [https://www.youtube.com/watch?v=0TJkzDIWAno&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:53]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2017.html?goto=P8_Be_the_First_1 Be the First 1] || [https://chat.stackexchange.com/transcript/52405?m=62667691#62667691 Dec 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/8.apl 2017/8.apl] || [https://www.youtube.com/watch?v=he6rpBP4hP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:10]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2017.html?goto=P9_Double_Trouble Double Trouble] || [https://chat.stackexchange.com/transcript/52405?m=62715050#62715050 Jan 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/9.apl 2017/9.apl] || [https://www.youtube.com/watch?v=t2RH0isi3Qg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:35]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2017.html?goto=P10_Squaring_Off Squaring Off] || [https://chat.stackexchange.com/transcript/52405?m=62764522#62764522 Jan 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/10.apl 2017/10.apl] || [https://www.youtube.com/watch?v=AOleoh2JlJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:38]<br />
|-<br />
|}<br />
:<span id=p2017>[[#2017|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8wDbpQmxKOGNKwrsCJSbz7 a single playlist].<br />
<br />
=== Problems from 2018 ===<br />
{|class=wikitable id=2018<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2018|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2018.html?goto=P1_Oh_Say_Can_You_See Oh Say Can You See] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Jan 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/1.apl 2018/1.apl] || [https://www.youtube.com/watch?v=YZBOKebM624&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2018.html?goto=P2_Number_Splitting Number Splitting] || [https://chat.stackexchange.com/transcript/message/62858667#62858667 Jan 27, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/2.apl 2018/2.apl] || [https://www.youtube.com/watch?v=Q4U3y-bhxGA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:16]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2018.html?goto=P3_Rolling_Along Rolling Along] || [https://chat.stackexchange.com/transcript/message/62907248#62907248 Feb 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/3.apl 2018/3.apl] || [https://www.youtube.com/watch?v=D6jWkFo00-E&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:03]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2018.html?goto=P4_Whats_Your_Sign Whats Your Sign] || [https://chat.stackexchange.com/transcript/52405?m=62957002#62957002 Feb 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/4.apl 2018/4.apl] || [https://www.youtube.com/watch?v=g82bRux0TJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:40]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2018.html?goto=P5_Whats_Your_Sign_Revisited Whats Your Sign Revisited] || [https://chat.stackexchange.com/transcript/52405?m=63010133#63010133 Feb 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/5.apl 2018/5.apl] || [https://www.youtube.com/watch?v=BtJ6Hey2PE4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:18]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2018.html?goto=P6_Whats_Your_Angle Whats Your Angle] || [https://chat.stackexchange.com/transcript/52405?m=63056863#63056863 Feb 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/6.apl 2018/6.apl] || [https://www.youtube.com/watch?v=3ivJvycE0Tk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:09]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2018.html?goto=P7_Unconditionally_Shifty Unconditionally Shifty] || [https://chat.stackexchange.com/transcript/52405?m=63108820#63108820 Mar 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/7.apl 2018/7.apl] || [https://www.youtube.com/watch?v=b3r4CY5kf9c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:45]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2018.html?goto=P8_Making_a_Good_Argument Making a Good Argument] || [https://chat.stackexchange.com/transcript/52405?m=63151714#63151714 Mar 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/8.apl 2018/8.apl] || [https://www.youtube.com/watch?v=F72metQNXAU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:41]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2018.html?goto=P9_Earlier_Later_or_the_Same Earlier Later or the Same] || [https://chat.stackexchange.com/transcript/52405?m=63197530#63197530 Mar 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/9.apl 2018/9.apl] || [https://www.youtube.com/watch?v=gPQpCa0ke0U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2018.html?goto=P10_Anagrammatically_Correct Anagrammatically Correct] || [https://chat.stackexchange.com/transcript/52405?m=63239751#63239751 Mar 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/10.apl 2018/10.apl] || [https://www.youtube.com/watch?v=3kRLlmZC62o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:12]<br />
|-<br />
|}<br />
:<span id=p2018>[[#2018|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8NxxMWk_WcDOjDoqz65bKh a single playlist].<br />
=== Problems from 2019 ===<br />
{|class=wikitable id=2019<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2019|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2019.html?goto=P1_Chunky_Monkey Chunky Monkey] || [https://chat.stackexchange.com/transcript/52405?m=63286611#63286611 Mar 31, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/1.apl 2019/1.apl] || [https://www.youtube.com/watch?v=9puw9PBMFP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:32]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2019.html?goto=P2_Making_the_Grade Making the Grade] || [https://chat.stackexchange.com/transcript/52405?m=63332288#63332288 Apr 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/2.apl 2019/2.apl] || [https://www.youtube.com/watch?v=1EaAau9x8MI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:27]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2019.html?goto=P3_Grade_Distribution Grade Distribution] || [https://chat.stackexchange.com/transcript/52405?m=63374600#63374600 Apr 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/3.apl 2019/3.apl] || [https://www.youtube.com/watch?v=uPMqIHcOfgE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2019.html?goto=P4_Knight_Moves Knight Moves] || [https://chat.stackexchange.com/transcript/52405?m=63423145#63423145 Apr 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/4.apl 2019/4.apl] || [https://www.youtube.com/watch?v=K40CsPxYohM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:37]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2019.html?goto=P5_Doubling_Up Doubling Up] || [https://chat.stackexchange.com/transcript/52405?m=63469882#63469882 Apr 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/5.apl 2019/5.apl] || [https://www.youtube.com/watch?v=c8XRnJeJ2AY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:01]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2019.html?goto=P6_Telephone_Names Telephone Names] || [https://chat.stackexchange.com/transcript/52405?m=63515042#63515042 May 5, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/6.apl 2019/6.apl] || [https://www.youtube.com/watch?v=mzyrnyV7Q_c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:23]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2019.html?goto=P7_In_the_Center_of_It_All In the Center of It All] || [https://chat.stackexchange.com/transcript/52405?m=63558554#63558554 May 12, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/7.apl 2019/7.apl] || [https://www.youtube.com/watch?v=Bhov522Jz7o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2019.html?goto=P8_Going_the_Distance Going the Distance] || [https://chat.stackexchange.com/transcript/52405?m=63609358#63609358 May 19, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/8.apl 2019/8.apl] || [https://www.youtube.com/watch?v=GNdp6rAZ2Is&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2019.html?goto=P9_Area_Code_a_la_Gauss Area Code à la Gauss] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 May 26, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/9.apl 2019/9.apl] || [https://www.youtube.com/watch?v=njZs8HV5Ra0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:57]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2019.html?goto=P10_Odd_and_Evens Odd and Evens] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 Jun 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/10.apl 2019/10.apl] || [https://www.youtube.com/watch?v=9hUTqexYZ0I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:33]<br />
|}<br />
:<span id=p2019>[[#2019|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-CZEC7r5v4SMd0RtgpoWPt a single playlist].<br />
<br />
=== Problems from 2020 ===<br />
{|class=wikitable id=2020<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2020|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2020.html?goto=P1_Lets_Split Let's Split] || [https://chat.stackexchange.com/transcript/52405?m=63767556#63767556 Jun 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/1.apl 2020/1.apl] || [https://www.youtube.com/watch?v=2grlocFykmI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:11]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2020.html?goto=P2_Characters Character Building] || [https://chat.stackexchange.com/transcript/52405?m=63803321#63803321 Jun 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/2.apl 2020/2.apl] || [https://www.youtube.com/watch?v=C5X6FlTNzX4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:05]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2020.html?goto=P3_Columns Excel-lent Columns] || [https://chat.stackexchange.com/transcript/52405?m=63835448#63835448 Jun 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/3.apl 2020/3.apl] || [https://www.youtube.com/watch?v=yg96DlrXUc4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:19]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2020.html?goto=P4_Take_a_Leap Take a Leap] || [https://chat.stackexchange.com/transcript/52405?m=63890718#63890718 Jun 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/4.apl 2020/4.apl] || [https://www.youtube.com/watch?v=hqyDUkSooCw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:04]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2020.html?goto=P5_Integer_Range Stepping in the Proper Direction] || [https://chat.stackexchange.com/transcript/message/63935087#63935087 Jul 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/5.apl 2020/5.apl] || [https://www.youtube.com/watch?v=SjCmDfWmhqk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:17]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2020.html?goto=P6_Move_To_Front Move to the Front] || [https://chat.stackexchange.com/transcript/52405?m=63980930#63980930 Jul 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/6.apl 2020/6.apl] || [https://www.youtube.com/watch?v=FfFzzmEo37Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:04]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2020.html?goto=P7_Bits See You in a Bit] || [https://chat.stackexchange.com/transcript/52405?m=64028252#64028252 Jul 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/7.apl 2020/7.apl] || [https://www.youtube.com/watch?v=xXweDCXIVSk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:02]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2020.html?goto=P8_Zigzag Zigzag Numbers] || [https://chat.stackexchange.com/transcript/52405?m=64081060#64081060 Jul 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/8.apl 2020/8.apl] || [https://www.youtube.com/watch?v=Q-8LAhe79zM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2020.html?goto=P9_Rise_and_Fall Rise and Fall] || [https://chat.stackexchange.com/transcript/52405?m=64125164#64125164 Aug 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/9.apl 2020/9.apl] || [https://www.youtube.com/watch?v=qypqissqN-c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:49]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2020.html?goto=P10_Stacking_It_Up Stacking It Up] || [https://chat.stackexchange.com/transcript/52405?m=64172099#64172099 Aug 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/10.apl 2020/10.apl] || [https://www.youtube.com/watch?v=LBelbuN1yRo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:09]<br />
|}<br />
:<span id=p2020>[[#2020|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8J80yMTag0_VDzxdPKjZ28 a single playlist].<br />
<br />
=== Problems from 2021 ===<br />
{|class=wikitable id=2021<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2021|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2021.html?goto=P1_Are_You_a_Bacteria Are You a Bacteria] || [https://chat.stackexchange.com/transcript/52405?m=64216596#64216596 Aug 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/1.apl 2021/1.apl] || [https://www.youtube.com/watch?v=6tkUO7Wc5Tg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2021.html?goto=P2_Index_Of_Modified Index Of Modified] || [https://chat.stackexchange.com/transcript/52405?m=64262014#64262014 Aug 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/2.apl 2021/2.apl] || [https://www.youtube.com/watch?v=r5VQ9wSBVTg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:36]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2021.html?goto=P3_Multiplicity Multiplicity] || [https://chat.stackexchange.com/transcript/52405?m=64315806#64315806 Sep 1, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/3.apl 2021/3.apl] || [https://www.youtube.com/watch?v=h9xqYCxiMJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2021.html?goto=P4_Square_Peg_Round_Hole Square Peg, Round Hole] || [https://chat.stackexchange.com/transcript/52405?m=64360617#64360617 Sep 8, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/4.apl 2021/4.apl] || [https://www.youtube.com/watch?v=h0RS-rEV3BM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:39]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2021.html?goto=P5_Rect_ify Rect-ify] || [https://chat.stackexchange.com/transcript/52405?m=64410899#64410899 Sep 15, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/5.apl 2021/5.apl] || [https://www.youtube.com/watch?v=demUjdV0EPk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:02]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2021.html?goto=P6_Fischer_Random_Chess Fischer Random Chess] || [https://chat.stackexchange.com/transcript/52405?m=64457542#64457542 Sep 22, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/6.apl 2021/6.apl] || [https://www.youtube.com/watch?v=UvlL1OyIJIw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:20]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2021.html?goto=P7_Can_You_Feel_the_Magic Can You Feel the Magic] || [https://chat.stackexchange.com/transcript/52405?m=64501098#64501098 Sep 29, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/7.apl 2021/7.apl] || [https://www.youtube.com/watch?v=j9MMQZXpTmM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:41]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2021.html?goto=P8_Time_to_Make_a_Difference Time to Make a Difference] || [https://chat.stackexchange.com/transcript/52405?m=64533505#64533505 Oct 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/8.apl 2021/8.apl] || [https://www.youtube.com/watch?v=hQFMjRPFioI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2021.html?goto=P9_In_the_Long_Run In the Long Run] || [https://chat.stackexchange.com/transcript/52405?m=64569242#64569242 Oct 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/9.apl 2021/9.apl] || [https://www.youtube.com/watch?v=kpTxXyWIgpc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:19]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2021.html?goto=P10_On_the_Right_Side On the Right Side] || [https://chat.stackexchange.com/transcript/52405?m=64604513#64604513 Oct 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/10.apl 2021/10.apl] || [https://www.youtube.com/watch?v=tClkG4ybunI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:25]<br />
|}<br />
:<span id=p2021>[[#2021|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-AtwCeUfeICfWufM133X4e a single playlist].<br />
<br />
=== Problems from 2022 ===<br />
{|class=wikitable id=2022<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2022|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2022.html?goto=P1_Counting_DNA Counting DNA Nucleotides?] || [https://chat.stackexchange.com/transcript/52405?m=64637385#64637385 Oct 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/1.apl 2022/1.apl] || [https://www.youtube.com/watch?v=xhZWd51rATE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2022.html?goto=P2_Mutations Attack of the Mutations!] || [https://chat.stackexchange.com/transcript/52405?m=64668644#64668644 Nov 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/2.apl 2022/2.apl] || [https://www.youtube.com/watch?v=Gy7i_EzrhFE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:07]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2022.html?goto=P3_XOR Uniquely Qualified] || [https://chat.stackexchange.com/transcript/52405?m=64700500#64700500 Nov 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/3.apl 2022/3.apl] || [https://www.youtube.com/watch?v=ZvjgB1aCEH4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:17]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2022.html?goto=P4_Longest_1_run In the Long One…] || [https://chat.stackexchange.com/transcript/52405?m=64729844#64729844 Nov 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/4.apl 2022/4.apl] || [https://www.youtube.com/watch?v=E5H_kV2UXxc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:08]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2022.html?goto=P5_Stairway Stairway to Heaven] || [https://chat.stackexchange.com/transcript/52405?m=64758788#64758788 Nov 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/5.apl 2022/5.apl] || [https://www.youtube.com/watch?v=JfULYgkDVgs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:09]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2022.html?goto=P6_Pyramid Pyramid Scheme] || [https://chat.stackexchange.com/transcript/52405?m=64793494#64793494 Dec 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/6.apl 2022/6.apl] || [https://www.youtube.com/watch?v=I-JBVOIMlPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:14]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2022.html?goto=P7_Golf_Scores Just Golfing Around] || [https://chat.stackexchange.com/transcript/52405?m=64828652#64828652 Dec 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/7.apl 2022/7.apl] || [https://www.youtube.com/watch?v=8SL6exHPQwk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:52]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2022.html?goto=P8_Split_on_first Let’s Split!] || [https://chat.stackexchange.com/transcript/52405?m=64863116#64863116 Dec 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/8.apl 2022/8.apl] || [https://www.youtube.com/watch?v=YMDClM03zyQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:08]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2022.html?goto=P9_Average An Average Window (or a Windowed Average)] || [https://chat.stackexchange.com/transcript/52405?m=64894638#64894638 Dec 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/9.apl 2022/9.apl] || [https://www.youtube.com/watch?v=RautPkG3A3Y&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2022.html?goto=P10_Separators Separation Anxiety] || [https://chat.stackexchange.com/transcript/52405?m=64917683#64917683 Dec 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/10.apl 2022/10.apl] || [https://www.youtube.com/watch?v=VWXqtokDgNQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:17]<br />
|}<br />
:<span id=p2022>[[#2022|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_tpJMwfH1tBXlpDSjEmkwh a single playlist].<br />
<br />
<br />
=== Problems from 2023 ===<br />
{|class=wikitable id=2023<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2023|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2023.html?goto=P1_Elimination_Sort Elimination Sort] || [https://chat.stackexchange.com/transcript/52405?m=64941297#64941297 Jan 5, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/1.apl 2023/1.apl] || [https://www.youtube.com/watch?v=LpUOaipgn7s&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:56]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2023.html?goto=P2_Put_It_In_Reverse Put It In Reverse] || [https://chat.stackexchange.com/transcript/52405?m=64977516#64977516 Jan 12, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/2.apl 2023/2.apl] || [https://www.youtube.com/watch?v=JnExPhse9iM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:58]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2023.html?goto=P3_Caesar_Salad Caesar Salad] || [https://chat.stackexchange.com/transcript/52405?m=65017769#65017769 Jan 19, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/3.apl 2023/3.apl] || [https://www.youtube.com/watch?v=Rg8OCEMlYGg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:56]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2023.html?goto=P4_Like_a_Version Like a Version] || [https://chat.stackexchange.com/transcript/52405?m=65059946#65059946 Jan 26, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/4.apl 2023/4.apl] || [https://www.youtube.com/watch?v=zOhxW-gRR4A&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:15]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2023.html?goto=P5_Risky_Business Risky Business] || [https://chat.stackexchange.com/transcript/52405?m=65101517#65101517 Feb 2, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/5.apl 2023/5.apl] || [https://www.youtube.com/watch?v=CvgRR1Ai94Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:24]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2023.html?goto=P6_Key_Value_Pairs Key Value Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65151113#65151113 Feb 9, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/6.apl 2023/6.apl] || [https://www.youtube.com/watch?v=svaJ0o9oyco&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:41]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2023.html?goto=P7_Lets_Be_Rational Lets Be Rational] || [https://chat.stackexchange.com/transcript/message/65193789#65193789 Feb 16, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/7.apl 2023/7.apl] || [https://www.youtube.com/watch?v=3J_IuXgDiq0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:03]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2023.html?goto=P8_Critical_Thinking Critical Thinking] || [https://chat.stackexchange.com/transcript/52405?m=65234344#65234344 Feb 23, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/8.apl 2023/8.apl] || [https://www.youtube.com/watch?v=yfLowDKvXUs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:22]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2023.html?goto=P9_Flipping_Pairs Flipping Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65274150#65274150 Mar 1, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/9.apl 2023/9.apl] || [https://www.youtube.com/watch?v=3BENCcfRfos&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:47]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2023.html?goto=P10_Partition_with_a_Twist Partition with a Twist] || [https://chat.stackexchange.com/transcript/52405?m=65309996#65309996 Mar 8, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/10.apl 2023/10.apl] || [https://www.youtube.com/watch?v=cGkrLJ2tzcQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:17]<br />
|}<br />
:<span id=p2023>[[#2023|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN a single playlist].<br />
<br />
== References ==<br />
<references/><br />
{{APL community}}[[Category:Online sessions]][[Category:Web broadcasts]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Timeline_of_influential_array_languages&diff=11335
Timeline of influential array languages
2024-03-17T06:36:40Z
<p>Adám Brudzewsky: /* See also */</p>
<hr />
<div>The following array family programming languages, and papers describing languages, have had a major influence on commonly-used APLs.<br />
<br />
{|class=wikitable<br />
! Year !! Event<br />
|-<br />
| 1962 || [[A Programming Language]] describes [[Ken Iverson]]'s [[Iverson notation|notation]]<br />
|-<br />
| 1966 || [[APL\360]] completed and used within [[IBM]]<br />
|-<br />
| 1968 || [[APL\1130]] released as an [[wikipedia:IBM Type-III Library|IBM Type-III Library]]<br />
|-<br />
| 1970 || [[APL*PLUS]] is offered by [[IPSA]] and [[STSC]] as part of a time-sharing service<br />
|-<br />
| 1971 || "A Generalization of APL", [[Jim Brown]]'s Ph.D. thesis, describes a [[Nested array model|nested]] APL which later becomes the basis of [[APL2]]<br />
|-<br />
| 1973 || [[APL.SV]] introduces [[shared variable]]s<br />
|-<br />
| 1976 (approximate) || [[SHARP APL]] splits from [[APL*PLUS]]<br />
|-<br />
| 1981 || [[NARS]] is the first [[Nested array model|nested]] APL, and implements ideas from [[Operators and Functions]]<br />
|-<br />
| 1981 || [[SHARP APL]] adds [[box]]es to the [[flat array model]]<br />
|-<br />
| 1983 || [[Rationalized APL]], a paper on [[Ken Iverson|Iverson]]'s latest thinking on APL, includes the [[Rank operator]] added to [[SHARP APL]] later that year<br />
|-<br />
| 1983 || [[Dyalog APL]], based on [[NARS]] and the to-be-released [[APL2]], is released<br />
|-<br />
| 1984 || [[APL2]] is [[IBM]]'s take on [[Nested array model|nested]] array programming<br />
|-<br />
| 1985 || [[A]] is [[Arthur Whitney]]'s APL, the first to be based on [[leading axis theory]]<br />
|-<br />
| 1987 || [[A Dictionary of APL]] describes a precursor to [[J]]<br />
|-<br />
| 1988 || [[A+]] adds a [[wikipedia:Graphical user interface|GUI]] to A and replaces it<br />
|-<br />
| 1990 || [[J]] is [[Ken Iverson]]'s new array language, with [[wikipedia:ASCII|ASCII]] characters and based on [[leading axis theory]]<br />
|-<br />
| 1992 || [[K]] ("K0"), [[Arthur Whitney]]'s [[List model|list]]-based language, first becomes available<br />
|-<br />
| 1997 || [[Dyalog APL]] adds [[dfn]]s<br />
|-<br />
| 2006 || [[NARS2000]], a successor to [[NARS]], is released<br />
|-<br />
| 2009 || [[VisualAPL]] is the first [[.NET]]-based APL, but soon stops development<br />
|-<br />
| 2010 || [[APL#]], a [[.NET]]-based language, is released by [[Dyalog Ltd.]], to be abandoned in 2012<br />
|-<br />
| 2013 || [[GNU APL]] is the first fully [[wikipedia:Scripting language|scriptable]] APL<br />
|}<br />
== See also ==<br />
* [[Timeline of array languages]]<br />
* [[Timeline of APL primitives]]<br />
* [[Genealogy of array languages]]<br />
{{APL dialects}}[[Category:Timelines]][[Category:APL history]][[Category:Lists of languages]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Comparison_of_APL_dialects&diff=11334
Comparison of APL dialects
2024-03-17T06:36:31Z
<p>Adám Brudzewsky: /* See also */</p>
<hr />
<div>All APL dialects share core features, and at least the [[primitive]]s are [[Backwards compatibility|backwards compatible]] with those of [[APL.SV]]. However, there are important dialectal differences, the most significant of which are described in this article.<br />
<br />
== Flat versus Nested ==<br />
<br />
One of the most significant differences between APLs is the choice of [[array model]], namely [[Nested array theory|nested]] or [[Flat array theory|flat]]. Originally, all APLs were entirely flat, that is, the only [[scalar]] values supported were [[simple]] and had to be either [[number]]s and [[character]]s, and an array had to be homogeneous, that is, consisting entirely of a single [[type]]. [[SHARP APL]] introduced the [[box]] as a third type, such that a box could hold any other array (including a box array), and this allowed for arrays contain other arrays. [[NARS]] introduced the nested array model, where any arrays can be an actual [[element]] of another array. Most currently maintained dialects ([[Dyalog APL]], [[NARS2000]], [[APL2]], [[GNU APL]], and others) use the nested array model.<br />
<br />
=== Disclose ===<br />
<br />
[[Disclose]] is defined, on [[scalar]]s, to be the inverse of [[Enclose]], giving the sole [[element]] of that scalar. This behavior is extended to arbitrary arrays in one of two ways: [[Mix]], which combines all elements, and [[First]], which returns only the first (in [[ravel order]]).<br />
<br />
In the [[SHARP APL]] family, Disclose is written <syntaxhighlight lang=apl inline>></syntaxhighlight>, and given a [[function rank]] of 0, which causes it to behave as [[Mix]]. [[First]] is not a primitive.<br />
<br />
In nested APL dialects, Disclose is written <syntaxhighlight lang=apl inline>⊃</syntaxhighlight>, and it [[Disclose#History|was extended]] to First by [[NARS]] and to Mix by [[APL2]]. The other possible meaning is given the glyph <syntaxhighlight lang=apl inline>↑</syntaxhighlight> and named "Mix" or "First" (not "Disclose") as appropriate. Dialects might choose either assignment of glyphs, and [[Dyalog APL]] and [[APL*PLUS]] allow either to be chosen based on [[Migration Level]].<br />
<br />
{|class=wikitable<br />
! Glyph !! Meaning !! Dialects<br />
|-<br />
| <syntaxhighlight lang=apl inline>></syntaxhighlight> || [[Mix]] || [[SHARP APL]], [[A]], [[A+]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || [[Mix]] || [[APL2]], [[ISO/IEC 13751:2001]], [[APL2C]], [[APLX]], [[NARS2000]], [[GNU APL]], [[Kap]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || [[First]] || [[ngn/apl]], [[Co-dfns]], [[dzaima/APL]], [[April]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || Configurable || [[Dyalog APL]], [[APL*PLUS]], [[APL+Win]], [[APL64]]<br />
|}<br />
<br />
== Function definition ==<br />
{{Main|Function styles}}<br />
<br />
Dialects offer a variety of ways to create [[function]]s and [[operator]]s. The three major branches are [[defined function]]s, which use a header declaring the function and argument names, [[anonymous function]]s such as [[dfn]]s, which also consist of a list of statements but have no header and use fixed argument names, and [[tacit programming|tacit function]]s, which are created by manipulating existing functions with no reference to [[argument]]s.<br />
<br />
Defined functions were the dominant form for most of APL's history, with only some niche forms based on [[direct definition (notation)|direct definition notation]] appearing in the 1980s: the [[direct definition (operator)|direct definition operator]] in [[NARS]] and a library to translate this notation to defined functions in [[SHARP APL]]. [[Function assignment]], a necessary feature for tacit programming, began to appear in the 1980s, such as in [[Dyalog APL]] version 4.0 in 1986. However, [[train]]s, which make larger-scale tacit programming feasible, were not introduced to APL until around 2010. Dyalog's [[dfn]]s were introduced in 1996 to slow initial adoption; nearly all new dialects of the 2010s and later support a similar syntax. Because of the widespread use of dfns, several of these dialects no longer support a traditional function definition notation.<br />
<br />
== Numeric types ==<br />
{{Main|Number}}<br />
<br />
Traditionally, APL supports only one numeric type that is visible to the user, such as a floating-point number, or complex number whose components are floating-point. Other numeric types may be used by the implementation, but only for optimization: for example, [[APL\360]] uses packed 1-bit [[Boolean]] and 4-bit integer arrays that are automatically converted to float if an operation yields a value that doesn't fit in the type. [[ISO/IEC 13751:2001]] specifies that different representations of a number must be indistinguishable to a conforming program (which can call primitives but not implementation-specific system functions).<br />
<br />
Most often the numeric type is a 64-bit float, for instance [[wikipedia:IBM_hexadecimal_floating_point|HFP]] in early [[IBM]] dialects and [[wikipedia:IEEE 754|IEEE 754]] in new dialects since the 1980s. [[Dyalog APL]] supports 128-bit [[decimal float]]s by setting <syntaxhighlight lang=apl inline>⎕FR</syntaxhighlight>. Modern dialects tend to support [[complex number]]s, with exceptions including [[dzaima/APL]], [[APLX]], and [[APL+Win]]. Dialects with complex numbers also extend [[Circular]] (<syntaxhighlight lang=apl inline>○</syntaxhighlight>) to left arguments designed for complex numbers.<br />
<br />
Some newer dialects provide additional types that are distinguishable from floats, often by greater precision. Extended-precision integers are one possibility: for example, [[dzaima/APL]] provides these if requested with a trailing <code>L</code> in a numeric literal or <syntaxhighlight lang=apl inline>⎕BIG</syntaxhighlight>, while [[Kap]] uses exact rational numbers by default. [[NARS2000]] supports numerous numeric types, and [[April]] provides access to the [[wikipedia:Common Lisp|Common Lisp]] numeric tower, which also includes many types. [[GNU APL]] doesn't support arbitrary precision, but uses 64-bit integers by default, much like [[J]] or [[K]].<br />
<br />
== Conformability ==<br />
<br />
All APLs implement [[scalar extension]] in [[scalar dyadic]] functions, and [[Each]] if present. However, a few dialects differ in their support for [[singleton extension]]. Most support it fully, so that a singleton of any rank is extended. [[APL2]] supports it only for scalars and one-element vectors (and [[ISO/IEC_13751:2001]] specifies only this behavior), and [[dzaima/APL]] and [[Kap]] support scalar extension only.<br />
<br />
Furthermore, dialects that implement the [[Rank operator]] differ in their conformability rules for frames. [[Dyalog APL]] and [[SHARP APL]] implement scalar agreement only, [[NARS2000]] implements singleton agreement, and [[A+]] implements leading axis agreement (in addition to extra options allowing the programmer to specify outer-product-like treatment of some axes).<br />
<br />
== Index origin ==<br />
<br />
A few dialects fix the [[index origin]] to 0 rather than allowing it to be configured: [[A+]], [[APL#]], [[ngn/apl]], [[Co-dfns]], and [[Kap]].<br />
<br />
== Depth ==<br />
<br />
[[Dyalog APL]] defines [[Depth]] (<syntaxhighlight lang=apl inline>≡</syntaxhighlight>) to return negative numbers when the depth is uneven. Most other dialects instead define it to return the maximum depth. The original NARS paper assigned the glyph to a function called [[Simple (NARS)|Simple]], which simply answered if the argument was simple or not, without reporting the actual depth. It was thus equivalent to today's <syntaxhighlight lang=apl inline>1=≡,Y</syntaxhighlight>.<br />
<br />
== Language features ==<br />
<br />
The following table shows support for various APL features: nesting either with [[box]]es or the [[nested array model]], [[defined function]]s or similar syntax, [[control structure]]s, [[dfn]]-style anonymous functions, [[tacit]] programming, particularly with [[train]]s, [[complex number]]s, arbitrary-precision integers, [[Unicode]] support, and [[namespace]]s or a similar encapsulation feature. The precise syntax and capabilities of these features might differ between dialects that support them.<br />
<br />
Dialects included in the first row include [[APL\360]], [[APL\1130]], [[APL*PLUS]] before II, [[APL/700]], [[APL.SV]], [[APL 5100]], [[MCM/70]], [[VS APL]], [[APL\3000]], and [[Aplette]]. Dates for [[APL+Win]] include those for APL*PLUS. [[Extended Dyalog APL]] and [[Dyalog APL Vision]] have the same feature set as [[Dyalog APL]].<br />
<br />
{|class="wikitable sortable"<br />
! Dialect !! Nesting !! [[Tradfn]]s !! [[Control structure|Control]] !! [[Dfn]]s !! [[Tacit]] !! [[Complex]] !! Big int !! [[Unicode]] !! [[Namespace]]<br />
|-<br />
| [[APL\360]], [[APL.SV]], … || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[APL+Win]] || {{Yes|Nested (1989)}} || {{Yes}} || {{Yes|1994}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes|2006}}<br />
|-<br />
| [[SHARP APL]] || {{Yes|Boxes (1981)}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes|1981}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[NARS]] || {{Yes|Nested}} || {{Yes}} || {{No}} || {{Maybe|[[direct definition (operator)|direct def]]}}<br />
| {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[Dyalog APL]] || {{Yes|Nested}} || {{Yes}} || {{Yes|1996}} || {{Yes|1996}} || {{Yes|2014}} || {{Yes|2011}} || {{No}} || {{Yes|2008}} || {{Yes|1994}}<br />
|-<br />
| [[APL2]] || {{Yes|Nested}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes|1987}}<br />
|-<br />
| [[A+]] || {{Yes|Boxes}} || {{Yes}} || {{Yes}} || {{No}} || {{Maybe|Some}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[SAX]] || {{Yes|Boxes}} || {{Yes}} || {{Yes}} || {{No}} || {{Maybe|Some}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[APL2C]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[APLX]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[NARS2000]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes|2009}} || {{Yes}} || {{Yes}} || {{Maybe|UCS-2}} || {{No}}<br />
|-<br />
| [[VisualAPL]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[APL#]] || {{Yes|Nested}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[ngn/apl]] || {{Yes|Nested}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}}<br />
|-<br />
| [[GNU APL]] || {{Yes|Nested}} || {{Yes}} || {{Maybe|If-else}} || {{Maybe|Limited}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[April]] || {{Yes|Nested}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[dzaima/APL]] || {{Yes|Nested}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[APL\iv]] || {{Maybe|Lists}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}}<br />
|-<br />
| [[Kap]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[APL64]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}}<br />
|}<br />
<br />
== Development and platform ==<br />
<br />
Shown are the release year, year of last release for inactive languages, withdrawal or discontinuation year for products that are no longer available, developer, implementation language, and host system. Systems capable of being compiled for multiple native hosts are indicated as "portable".<br />
<br />
{|class="wikitable sortable"<br />
! Dialect !! Released !! Inactive !! Dropped !! Developer !! Language !! Host<br />
|-<br />
| [[APL\1130]] || 1968 || || {{No|?}} || [[IBM]] || 1130 assembler || [[wikipedia:IBM 1130|IBM 1130]]<br />
|-<br />
| [[APL\360]] || 1968 || {{Maybe|1972}} || {{No|2012}} || [[IBM]] || [[wikipedia:IBM_Basic_Assembly_Language_and_successors|BAL]] || S/360–z/Architecture, IBM 5100+<br />
|-<br />
| [[APL*PLUS]] || 1970 || {{Maybe|1995}} || {{No|2012}} || [[STSC]] || [[wikipedia:IBM_Basic_Assembly_Language_and_successors|BAL]], [[wikipedia:C (programming language)|C]] || S/370, TRS-80, portable<br />
|-<br />
| [[APL/700]] || 1971? || || {{No|?}} || [[wikipedia:Burroughs Corporation|Burroughs]] || [[wikipedia:ALGOL 60|ALGOL 60]] || Burroughs [[wikipedia:Burroughs_large_systems#B6700_and_B7700|B 6700/B 7700]]<br />
|-<br />
| [[APL.SV]] || 1973 || || {{No|?}} || [[IBM]] || [[wikipedia:IBM_Basic_Assembly_Language_and_successors|BAL]] ||<br />
|-<br />
| [[APL 5100]] || 1976 || || {{No|?}} || [[IBM]] || [[wikipedia:IBM_Basic_Assembly_Language_and_successors|BAL]] || [https://en.wikipedia.org/wiki/IBM_5100 IBM 5100]<br />
|-<br />
| [[MCM/70]] || 1974 || || {{No|1983}} || MCM || || MCM/70<br />
|-<br />
| [[VS APL]] || 1976 || || {{No|?}} || [[IBM]] || [[wikipedia:IBM_Basic_Assembly_Language_and_successors|BAL]] || OS/VS, DOS/VS<br />
|-<br />
| [[SHARP APL]] || 1976 || {{Maybe|1989}} || {{No|1993?}} || [[IPSA]] || || S/370, later portable<br />
|-<br />
| [[APL\3000]] || 1976 || || {{No|1980s}} || [[wikipedia:Hewlett-Packard|Hewlett-Packard]] || || [[wikipedia:HP 3000|HP 3000]] Series II / III<br />
|-<br />
| [[NARS]] || 1981 || || {{No|1989?}} || [[STSC]] || 370 assembler, APL || [[wikipedia:System/370|System/370]]<br />
|-<br />
| [[Dyalog APL]] || 1983 || || || [[Dyalog Ltd.]] || [[wikipedia:C (programming language)|C]], [[wikipedia:C++|C++]], APL || Portable<br />
|-<br />
| [[A+]] || 1988 || {{Maybe|2014}} || || [[Arthur Whitney]] || [[wikipedia:C++|C++]] || Portable<br />
|-<br />
| [[APL2]] || 1984 || || || [[IBM]] || || IBM mainframes, portable<br />
|-<br />
| [[SAX]] || 1993 || {{Maybe|2000}} || {{No|2017?}} || [[Soliton]] || [[wikipedia:C (programming language)|C]] || Portable<br />
|-<br />
| [[APL+Win]] || 1995 || {{Maybe|2019}} || || [[APL2000]] || || Portable<br />
|-<br />
| [[APL2C]] || 2001 || {{Maybe|2002}} || || Tilman Otto || [[wikipedia:C (programming language)|C]] || Windows 9x/NT/2000<br />
|-<br />
| [[APLX]] || 2002 || {{Maybe|2016}} || {{No|2016}} || [[MicroAPL Ltd.]] || [[wikipedia:C_(programming_language)|C]], [[wikipedia:C++|C++]] || Portable<br />
|-<br />
| [[NARS2000]] || 2006 || {{Maybe|2019}} || || [[Bob Smith]] || [[wikipedia:C (programming language)|C]], APL || Portable<br />
|-<br />
| [[VisualAPL]] || 2009 || || {{No|2011}} || [[APL2000]] || [[wikipedia:C_Sharp_(programming_language)|C#]] || [[.NET]] ([[wikipedia:Common Language Infrastructure|CLI]])<br />
|-<br />
| [[APL#]] || 2010 || || {{No|2012}} || [[Dyalog Ltd.]] || [[wikipedia:C_Sharp_(programming_language)|C#]] || [[.NET]] ([[wikipedia:Common Language Infrastructure|CLI]])<br />
|-<br />
| [[ngn/apl]] || 2011 || {{Maybe|2018}} || || Nick Nickolov || [[wikipedia:Javascript|Javascript]] || In-browser, [[wikipedia:Node.js|Node.js]]<br />
|-<br />
| [[GNU APL]] || 2013 || || || Jürgen Sauermann || [[wikipedia:C++|C++]] || Portable<br />
|-<br />
| [[Aplette]] || 2014 || {{Maybe|2020}} || || Greg F. Johnson || [[wikipedia:C (programming language)|C]] || Portable<br />
|-<br />
| [[Co-dfns]] || 2014 || || || [[Aaron Hsu]] || [[Dyalog APL]] || [[wikipedia:C (programming language)|C]], [[wikipedia:ArrayFire|ArrayFire]] (GPU) targets<br />
|-<br />
| [[April]] || 2018 || || || Andrew Sengul || [[wikipedia:Common Lisp|Common Lisp]] || Common Lisp runtime<br />
|-<br />
| [[dzaima/APL]] || 2018 || {{Maybe|2020}} || || [[dzaima]] || [[wikipedia:Java (programming language)|Java]], [[wikipedia:Processing (programming language)|Processing]] || JVM, Android<br />
|-<br />
| [[APL\iv]] || 2018 || {{Maybe|2019}} || || [https://github.com/ktye ktye] || [[wikipedia:Go (programming language)|Go]] || Portable<br />
|-<br />
| [[Extended Dyalog APL]] || 2018 || {{Maybe|2021}} || || [[Adám Brudzewsky]] || [[Dyalog APL]] || [[Dyalog APL]]<br />
|-<br />
| [[Kap]] || 2020 || || || Elias Mårtenson || [[wikipedia:Kotlin (programming language)|Kotlin]] || Portable<br />
|-<br />
| [[APL64]] || 2022 || || || [[APL2000]] || [[wikipedia:C_Sharp_(programming_language)|C#]] || Portable<br />
|-<br />
| [[Dyalog APL Vision]] || 2022 || || || [[Adám Brudzewsky]] || [[Dyalog APL]] || [[Dyalog APL]]<br />
|}<br />
<br />
== See also ==<br />
* [[Unicode#Comparison of implementations]]<br />
* [[Take#Extension support]]<br />
* [[Replicate#Extension support]]<br />
* [[Mix#Language support]]<br />
* [[Laminate#Extension support]]<br />
* [[Not#Extensions]]<br />
* [[Interval Index#History]]<br />
* [[Leading axis theory#Adoption in APL]]<br />
* [[Array notation#Comparison of array notations]]<br />
* [[Timeline of APL primitives]]<br />
<br />
== External links ==<br />
* [https://omnibar.rubenverg.com Omnibar] lists all glyphs with their meanings and allows custom comparisons between dialects:[[File:Omnibar|center]]<br />
{{APL dialects}}[[Category:Lists]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Template:APL_built-ins&diff=11333
Template:APL built-ins
2024-03-17T06:36:11Z
<p>Adám Brudzewsky: Add "Primitives" super-group with link to timeline, remove "Structural functions" redlink</p>
<hr />
<div><noinclude>__NOTITLE__</noinclude><br />
{| class="wikitable <includeonly>{{{1|mw-collapsible mw-collapsed}}}</includeonly>" style="width:100%"<br />
! colspan=5 | '''<big>APL built-ins</big>''' [[{{fullurl:Template:APL_built-ins|action=edit}} edit]]<br />
|-<br />
! rowspan="11 style="width:6em;" | [[Primitive]]s ([[Timeline of APL primitives|Timeline]]) || rowspan="9" style="width:6em;" | [[Primitive function|Function]]s<br />
|-<br />
! rowspan="3" style="width:6em;" | [[Scalar function|Scalar]]<br />
|-<br />
! style="width:6em;" | Monadic<br />
| [[Conjugate]] ∙ [[Negate]] ∙ [[Signum]] ∙ [[Reciprocal]] ∙ [[Magnitude]] ∙ [[Exponential]] ∙ [[Natural Logarithm]] ∙ [[Floor]] ∙ [[Ceiling]] ∙ [[Factorial]] ∙ [[Not]] ∙ [[Pi Times]] ∙ [[Roll]] ∙ [[Type]] ∙ [[Imaginary]] ∙ [[Square Root]]<br />
|-<br />
! Dyadic<br />
| [[Add]] ∙ [[Subtract]] ∙ [[Times]] ∙ [[Divide]] ∙ [[Residue]] ∙ [[Power (function)|Power]] ∙ [[Logarithm]] ∙ [[Minimum]] ∙ [[Maximum]] ∙ [[Binomial]] ∙ [[Comparison function]]s ∙ [[Boolean#Boolean_functions|Boolean functions]] ([[And]], [[Or]], [[Nand]], [[Nor]]) ∙ [[GCD]] ∙ [[LCM]] ∙ [[Circular]] ∙ [[Complex (function)|Complex]] ∙ [[Root]]<br />
|-<br />
! rowspan="5" | [[Mixed function|Non-Scalar]]<br />
|-<br />
! Structural<br />
| [[Shape]] ∙ [[Reshape]] ∙ [[Tally]] ∙ [[Depth]] ∙ [[Ravel]] ∙ [[Enlist]] ∙ [[Table]] ∙ [[Catenate]] ∙ [[Reverse]] ∙ [[Rotate]] ∙ [[Transpose]] ∙ [[Raze]] ∙ [[Mix]] ∙ [[Split]] ∙ [[Enclose]] ∙ [[Nest]] ∙ [[Cut (K)]] ∙ [[Pair]] ∙ [[Link]] ∙ [[Partitioned Enclose]] ∙ [[Partition]]<br />
|-<br />
! Selection<br />
| [[First]] ∙ [[Pick]] ∙ [[Take]] ∙ [[Drop]] ∙ [[Unique]] ∙ [[Identity]] ∙ [[Stop]] ∙ [[Select]] ∙ [[Replicate]] ∙ [[Expand]] ∙ [[Set function]]s ([[Intersection]] ∙ [[Union]] ∙ [[Without]]) ∙ [[Bracket indexing]] ∙ [[Index (function)|Index]] ∙ [[Cartesian Product]] ∙ [[Sort]]<br />
|-<br />
! Selector<br />
| [[Index generator]] ∙ [[Grade]] ∙ [[Index Of]] ∙ [[Interval Index]] ∙ [[Indices]] ∙ [[Deal]] ∙ [[Prefix and suffix vectors]]<br />
|-<br />
! Computational<br />
| [[Match]] ∙ [[Not Match]] ∙ [[Membership]] ∙ [[Find]] ∙ [[Nub Sieve]] ∙ [[Encode]] ∙ [[Decode]] ∙ [[Matrix Inverse]] ∙ [[Matrix Divide]] ∙ [[Format]] ∙ [[Execute]] ∙ [[Materialise]] ∙ [[Range]]<br />
|-<br />
! rowspan="2" | [[Primitive operator|Operator]]s !! Monadic<br />
| colspan="2" | [[Each]] ∙ [[Commute]] ∙ [[Constant]] ∙ [[Replicate]] ∙ [[Expand]] ∙ [[Reduce]] ∙ [[Windowed Reduce]] ∙ [[Scan]] ∙ [[Outer Product]] ∙ [[Key]] ∙ [[I-Beam]] ∙ [[Spawn]] ∙ [[Function axis]]<br />
|-<br />
! Dyadic<br />
| colspan="2" | [[Bind]] ∙ [[Function composition|Composition]]s ([[Compose]], [[Reverse Compose]], [[Beside]], [[Withe]], [[Atop (operator)|Atop]], [[Over]]) ∙ [[Inner Product]] ∙ [[Determinant]] ∙ [[Power (operator)|Power]] ∙ [[At]] ∙ [[Under]] ∙ [[Rank (operator)|Rank]] ∙ [[Depth (operator)|Depth]] ∙ [[Variant]] ∙ [[Stencil]] ∙ [[Cut]] ∙ [[Direct definition (operator)]]<br />
|-<br />
! [[Quad name]]s<br />
| colspan="4" | [[Index origin]] ∙ [[Comparison tolerance]] ∙ [[Migration level]] ∙ [[Atomic vector]]<br />
|}</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Array_Cast&diff=11311
Array Cast
2024-03-13T06:51:12Z
<p>Adám Brudzewsky: /* 2024 */</p>
<hr />
<div>[[File:Array_Cast_icon.png|thumb|right|Logo of the Array Cast.]][[File:Array Cast banner.jpg|thumb|right|Promotional banner with a background featuring APL code for generating an SVG image.]]<br />
'''The Array Cast''' is an audio [[wikipedia:podcast|podcast]] about [[array]] programming languages, especially APL, [[J]], [[K]]/[[Q]], and [[BQN]]. Being an audio-only production, the focus is on giving high-level views and describing the experience of using such languages, rather than showing visual examples of code.<br />
<br />
== Participants ==<br />
The podcast is hosted by Conor Hoekstra who is a research scientist at [[wikipedia:NVIDIA|NVIDIA]]. Recurring panellists are [[Adám Brudzewsky]], [[Richard Park]], and Rodrigo Girão Serrão, of [[Dyalog Ltd.]], Stephen Taylor and Nick Psaris of [[Kx Systems]], and J enthusiast Bob Therriault. After appearing multiple times, twice as a guest panellist, [[Marshall Lochbaum]] joined the regular panel with the 22 July 2022 episode. Various guests are invited to specific episodes.<br />
<br />
== Episodes ==<br />
=== 2021 ===<br />
{| class=wikitable<br />
! Ep !! Date !! Panel !! Featured Guest !! Featured Languages !! Title<br />
|-<br />
| 1 || May 15 || Brudzewsky, Taylor, Therriault || || || [https://www.arraycast.com/episodes/episode-00-why-i-like-array-languages Why We Like Array Languages]<br />
|-<br />
| 2 || May 29 || Park, Taylor, Therriault || || || [https://www.arraycast.com/episodes/episode-01-loops-and-learning-array-languages Loops and Learning about Array Languages]<br />
|-<br />
| 3 || Jun 12 || Brudzewsky, Psaris, Therriault || || || [https://www.arraycast.com/episodes/episode-02-challenges-facing-the-array-languages What Challenges Face the Array Languages?]<br />
|-<br />
| 4 || Jun 26 || Brudzewsky, Psaris, Therriault || || || [https://www.arraycast.com/episodes/episode-03-what-is-an-array What is an array?]<br />
|-<br />
| 5 || Jul 10 || Park, Psaris, Therriault || || || [https://www.arraycast.com/episodes/episode-04-responding-to-listeners-email Responding to a Listener’s Email]<br />
|-<br />
| 6 || Jul 23 || Brudzewsky, Taylor, Therriault || [[Henry Rich]] || J || [https://www.arraycast.com/episodes/episode-06-henry-richs-deep-dive-into-j Henry Rich’s Deep Dive into J]<br />
|-<br />
| <span id=bqn>7</span> || Aug 7 || Brudzewsky, Therriault || [[Marshall Lochbaum]] || APL, J, BQN || [https://www.arraycast.com/episodes/episode-07-marshall-lochbaum-and-the-bqn-array-language Marshall Lochbaum and the BQN array language]<br />
|-<br />
| 8 || Aug 21 || Brudzewsky, Therriault || Attila Vrabecz || K, Q || [https://www.arraycast.com/episodes/episode-08-attila-vrabecz-and-the-k-group-of-programming-languages Attila Vrabecz and the k group of programming languages.]<br />
|-<br />
| 9 || Sep 4 || Brudzewsky, Taylor, Therriault || || APL, J || [https://www.arraycast.com/episodes/episode-09-tacit-programming Tacit Programming]<br />
|-<br />
| 10 || Sep 18 || Brudzewsky, Taylor, Therriault || [[Eric Iverson]] || APL, J || [https://www.arraycast.com/episodes/episode10-eric-iverson Eric Iverson]<br />
|-<br />
| 11 || Oct 2 || Park, Taylor, Therriault || || APL, J || [https://www.arraycast.com/episodes/episode11-why-tacit Why Tacit?]<br />
|-<br />
| 12 || Oct 16 || Park, Taylor, Therriault || [[Gitte Christensen]] || APL || [https://www.arraycast.com/episodes/episode12-gitte-christensen Gitte Christensen of Dyalog Ltd.]<br />
|-<br />
| 13 || Oct 30 || Brudzewsky, Taylor, Therriault || [[Morten Kromberg]] || APL, J || [https://www.arraycast.com/episodes/episode13-roger-hui Roger Hui (1953-2021)]<br />
|-<br />
| 14 || Nov 13 || Girão Serrão, Brudzewsky, Park, Therriault || || APL || [https://www.arraycast.com/episodes/episode14-dyalog-21-live Dyalog ‘21 Live]<br />
|-<br />
| 15 || Nov 27 || Brudzewsky, Taylor, Therriault || || APL, J, BQN || [https://www.arraycast.com/episodes/episode15-tacit-3-and-other-topics Tacit #3 (and other topics)]<br />
|-<br />
| 16 || Dec 10 || Park, Taylor, Therriault || Brooke Allen || APL || [https://www.arraycast.com/episodes/episode16-brooke-allen-a-life-of-adventure Brooke Allen - a life of adventure]<br />
|-<br />
| 17 || Dec 25 || Brudzewsky, Taylor, Therriault || || APL, J, BQN || [https://www.arraycast.com/episodes/episode17-tacit4-the-dyadic-hook Tacit #4 - the dyadic hook]<br />
|}<br />
=== 2022 ===<br />
{| class=wikitable<br />
! Ep !! Date !! Panel !! Featured Guest !! Featured Languages !! Title<br />
|-<br />
| 18 || Jan 8 || Brudzewsky, Taylor, Therriault || Henry Rich || J || [https://www.arraycast.com/episodes/episode18-henry-rich-presents-j903 Henry Rich presents J903]<br />
|-<br />
| 19 || Jan 22 || Park, Taylor, Therriault || [[Aaron Hsu]] || APL || [https://www.arraycast.com/episodes/episode19-aaron-hsu Aaron Hsu]<br />
|-<br />
| 20 || Feb 5 || Park, Therriault || Rodrigo Girão Serrão || APL || [https://www.arraycast.com/episodes/episode20-rodrigo-girao-serrao Rodrigo Girão Serrão]<br />
|-<br />
| 21 || Feb 19 || Park, Taylor, Therriault || [[Morten Kromberg]] || APL || [https://www.arraycast.com/episodes/episode21-morten-kromberg Morten Kromberg, CTO of Dyalog Ltd.]<br />
|-<br />
| 22 || Mar 3 || Brudzewsky, Taylor, Therriault || Josh David || APL || [https://www.arraycast.com/episodes/episode22-josh-david APL in industry]<br />
|-<br />
| 23 || Mar 18 || Brudzewsky, Taylor, Therriault || Andrew Sengul || APL, [[April]] || [https://www.arraycast.com/episodes/episode23-andrew-sengul Andrew Sengul - The April APL Compiler]<br />
|-<br />
| 24 || Apr 1 || Brudzewsky, Taylor, Therriault || Aaron Hsu, Andrew Sengul, Gitte Christensen,<br> Rodrigo Girão Serrão, Rich Park, and Stefan Kruger || APL, April || [https://www.arraycast.com/episodes/episode24-apl-seeds-2022 APL Seeds 2022]<br />
|-<br />
| 25 || Apr 15 || Brudzewsky, Therriault || Vanessa McHale || [[Futhark]], J, [[wikipedia:Haskell (programming language)|Haskell]] || [https://www.arraycast.com/episodes/episode25-vanessa-mchale Vanessa McHale]<br />
|-<br />
| 26 || Apr 29 || Brudzewsky, Taylor, Therriault || Stevan Apter || APL, K, Q || [https://www.arraycast.com/episodes/episode26-stevan-apter Stevan Apter]<br />
|-<br />
| 27 || May 13 || Taylor, Therriault || Joel Kaplan || APL, K, [[A]] || [https://www.arraycast.com/episodes/episode27-joel-kaplan Joel Kaplan]<br />
|-<br />
| 28 || May 27 || Brudzewsky, Therriault || guest panellist: [[Marshall Lochbaum]] || APL, J, BQN || [https://www.arraycast.com/episodes/episode28-rank-and-leading-axis Rank and Leading Axis Theory]<br />
|-<br />
| 29 || Jun 10 || Brudzewsky, Taylor, Therriault || guest panellist: [[Marshall Lochbaum]] || APL, J, K, BQN || [https://www.arraycast.com/episodes/episode29-transpose Transpose]<br />
|-<br />
| 30 || Jun 24 || Brudzewsky, Taylor, Therriault || || || [https://www.arraycast.com/episodes/episode30-our-first-year Looking Back at Our First Year]<br />
|-<br />
| 31 || Jul 8 || Brudzewsky, Therriault || [[wikipedia:Jeremy Howard (entrepreneur)|Jeremy Howard]] || APL, J || [https://www.arraycast.com/episodes/episode31-jeremy-howard Jeremy Howard - Data Scientist]<br />
|-<br />
| 32 || Jul 22 || Brudzewsky, Lochbaum, Therriault || || APL, J, K, Q, BQN || [https://www.arraycast.com/episodes/episode32-control-structures Control Structures in the Array Languages]<br />
|- <br />
| 33 || Aug 5 || Lochbaum, Park, Therriault || João Araújo || APL || [https://www.arraycast.com/episodes/episode33-joao-araujo João Araújo and Tools of Thought]<br />
|- <br />
| 34 || Aug 19 || Lochbaum, Park, Taylor, Therriault || Romily Cocking|| APL, Smalltalk || [https://www.arraycast.com/episodes/episode34-romilly-cocking The Many Languages of Romilly Cocking]<br />
|- <br />
| 35 || Sep 2 || Brudzewsky, Lochbaum, Therriault || [[Lib Gibson]] || APL || [https://www.arraycast.com/episodes/episode35-lib-gibson Lib Gibson - IP Sharp’s ‘Zookeeper’]<br />
|- <br />
| 36 || Sep 16 || Brudzewsky, Lochbaum, Taylor, Therriault || || APL, J, K, Q, BQN, Futhark, Nial || [https://www.arraycast.com/episodes/episode36-what-makes-an-array-language What Makes a Language an Array Programming Language?]<br />
|- <br />
| <span id=futhark>37</span> || Sep 30 || Lochbaum, Park, Taylor, Therriault || Troels Henriksen || Futhark, SaC || [https://www.arraycast.com/episodes/episode37-futhark Troels Henriksen and Futhark]<br />
|- <br />
| 38 || Oct 14 || Lochbaum, Park, Taylor, Therriault || || APL, J, K, Q, BQN || [https://www.arraycast.com/episodes/episode38-array-language-profile Promoting the Array Languages]<br />
|- <br />
| 39 || Oct 28 || Brudzewsky, Lochbaum, Taylor, Therriault || || APL, J, K, Q, BQN || [https://www.arraycast.com/episodes/episode39-iverson-or-array-language Iversonian language or Array language?]<br />
|- <br />
| 40 || Nov 11 || Brudzewsky, Lochbaum, Taylor, Therriault || Michal Wallace || J || [https://www.arraycast.com/episodes/episode40-michal-wallace Michal Wallace, k programmer and J video producer]<br />
|- <br />
| 41 || Nov 25 || Brudzewsky, Lochbaum, Taylor, Therriault || [[John Earnest]] || K || [https://www.arraycast.com/episodes/episode41-john-earnest John Earnest and Versions of k]<br />
|- <br />
| 42 || Dec 9|| Brudzewsky, Lochbaum, Taylor, Therriault || [[Nick Psaris]] || Q || [https://www.arraycast.com/episodes/episode42-nick-psaris-q Nick Psaris and the q language]<br />
|- <br />
| 43 || Dec 23 || Brudzewsky, Lochbaum, Taylor, Therriault || [[John Earnest]] || K, [[Lil]] || [https://www.arraycast.com/episodes/episode43-john-earnest-decker John Earnest and Multimedia]<br />
|}<br />
<br />
=== 2023 ===<br />
{| class=wikitable<br />
! Ep !! Date !! Panel !! Featured Guest !! Featured Languages !! Title<br />
|- <br />
| 44 || Jan 6 || Brudzewsky, Lochbaum, Taylor, Therriault || || APL, J, BQN, Q || [https://www.arraycast.com/episodes/episode44-language-choice-and-recreational-programming Choosing an Array Language / The Games We Play]<br />
|- <br />
| 45 || Jan 20 || Brudzewsky, Lochbaum, Taylor, Therriault || Ashok Reddy || K, Q || [https://www.arraycast.com/episodes/episode45-ashok-reddy-kx Ashok Reddy, CEO of KX]<br />
|- <br />
| 46 || Feb 3 || Lochbaum, Park, Taylor, Therriault || Michael Higginson || APL, Q || [https://www.arraycast.com/episodes/episode46-michael-higginson Michael Higginson, 2022 Dyalog Contest Winner]<br />
|- <br />
| 47 || Feb 17 || Brudzewsky, Lochbaum, Taylor, Therriault || Leslie Goldsmith || APL, Q || [https://www.arraycast.com/episodes/episode47-leslie-goldsmith Leslie Goldsmith, from I.P. Sharp to KX]<br />
|-<br />
| 48 || Mar 3 || Brudzewsky, Lochbaum, Therriault || Henry Rich || J || [https://www.arraycast.com/episodes/episode48-henry-rich Henry Rich Reveals J with Threads J9.4]<br />
|-<br />
| 49 || Mar 17 || Lochbaum, Park, Therriault || || J, BQN, APL || [https://www.arraycast.com/episodes/episode49-performance What Affects Array Language Performance?]<br />
|-<br />
| 50 || Mar 31 || Brudzewsky, Lochbaum, Taylor, Therriault || Henry Rich || APL, J, BQN || [https://www.arraycast.com/episodes/episode50-fold Fold and Other Functional Conjunctions]<br />
|-<br />
| 51 || Apr 14 || Brudzewsky, Lochbaum, Taylor, Therriault || || APL, J, BQN || [https://www.arraycast.com/episodes/episode51-naming-is-hard Naming is Hard]<br />
|-<br />
| 52 || Apr 28 || Lochbaum, Park, Taylor, Therriault || || APL, J, BQN, K, Q || [https://www.arraycast.com/episodes/episode52-fold-and-scan Fold and Scan]<br />
|-<br />
| 53 || May 12 || Lochbaum, Park, Taylor, Therriault || guest panellist: John Earnest || APL, J, BQN, K, Q || [https://www.arraycast.com/episodes/episode53-what-is-the-problem What is the problem?]<br />
|-<br />
| 54 || May 26 || Brudzewsky, Lochbaum, Psaris, Taylor, Therriault || || K, Q || [https://www.arraycast.com/episodes/episode54-kxcon23 Review of KXcon’23]<br />
|-<br />
| 55 || Jun 9 || Brudzewsky, Lochbaum, Therriault || [[Bob Bernecky]] || APL, [[SaC]] || [https://www.arraycast.com/episodes/episode55-bob-bernecky Robert Bernecky]<br />
|-<br />
| 56 || Jun 23 || Brudzewsky, Taylor, Therriault || || APL, J, BQN, Q || [https://www.arraycast.com/episodes/episode56-why-we-like-array-programming Why We Like Array Programming (Again)]<br />
|-<br />
| 57 || Jul 7 || Lochbaum, Park, Taylor || host: Therriault || APL, J, BQN, K, Q || [https://www.arraycast.com/episodes/episode57-learning-and-teaching-array-languages Learning and Teaching Array Programming]<br />
|-<br />
| 58 || Jul 21 || Lochbaum, Taylor, Therriault || || [[wikipedia:PyTorch|PyTorch]], Dex, [[Futhark]], [[wikipedia:Python (programming language)|Python]] || [https://www.arraycast.com/episodes/episode58-adam-paszke PyTorch and Dex with Adam Paszke]<br />
|-<br />
| 59 || Aug 4 || Brudzewsky, Lochbaum, Taylor, Therriault || Raul Miller || APL, BQN ||[https://www.arraycast.com/episodes/episode59-raul-miller Raul Miller - Precision]<br />
|-<br />
| 60 || Aug 18 || Brudzewsky, Lochbaum, Taylor, Therriault || [[wikipedia:Rob Pike|Rob Pike]] || APL, BQN, [[wikipedia:Go (programming language)|Go]], [[Ivy]] || [https://www.arraycast.com/episodes/episode60-rob-pike Rob Pike - Array Languages are Important]<br />
|-<br />
| 61 || Sep 1 || Brudzewsky, Lochbaum, Taylor, Therriault || Lynn Sutherland || [[Nial]], APL, J, BQN, Q || [https://www.arraycast.com/episodes/episode61-lynn-sutherland-and-nial Lynn Sutherland and the Story of Nial]<br />
|-<br />
| 62 || Sep 15 || Brudzewsky, Taylor, Therriault || [[Marshall Lochbaum]] || [[Singeli]], BQN || [https://www.arraycast.com/episodes/episode62-what-is-singeli What is Singeli?]<br />
|-<br />
| 63 || Sep 29 || Brudzewsky, Lochbaum, Taylor, Therriault || Kai Schmidt || [[Uiua]], BQN || [https://www.arraycast.com/episodes/episode63-uiua Uiua, a Stack based Array language]<br />
|-<br />
| 64 || Oct 13 || Brudzewsky, Lochbaum, Taylor, Therriault || || J, BQN, APL, Q, k, Uiua || [https://www.arraycast.com/episodes/episode64-tacit5 Tacit #5]<br />
|-<br />
| 65 || Oct 27 || Brudzewsky, Lochbaum, Taylor, Therriault || || J, BQN, APL, Q, k, Uiua || [https://www.arraycast.com/episodes/episode65-games Introduction to Games in the Array Languages]<br />
|-<br />
| 66 || Nov 10 || Brudzewsky, Lochbaum, Taylor, Therriault || Tali Beynon || Array Representation || [https://www.arraycast.com/episodes/episode66-tali-beynon Tali Beynon and the Power of Axis Naming]<br />
|-<br />
| 67 || Nov 24 || Brudzewsky, Lochbaum, Therriault || Tali Beynon || Array Representation || [https://www.arraycast.com/episodes/episode67-tali-beynon-rainbow Tali Beynon and Rainbow Arrays]<br />
|-<br />
| 68 || Dec 8|| Brudzewsky, Lochbaum, Therriault || Brian Ellingsgaard|| BQN || [https://www.arraycast.com/episodes/episode68-brian-ellingsgaard Brian Ellingsgaard and the Rayed-BQN Games Framework]<br />
|-<br />
| 69 || Dec 22|| Brudzewsky, Lochbaum, Taylor, Therriault || David Zwitser|| BQN || [https://www.arraycast.com/episodes/episode69-david-zwitser David Zwitser, the art of making games with BQN.]<br />
|}<br />
<br />
=== 2024 ===<br />
{| class=wikitable<br />
! Ep !! Date !! Panel !! Featured Guest !! Featured Languages !! Title<br />
|-<br />
| 70 || Jan 5 || Brudzewsky, Lochbaum, Taylor, Therriault || James Price|| APL || [https://www.arraycast.com/episodes/episode70-james-price James Price Creator of the Draculark Game on the Commodore Super Pet.]<br />
|-<br />
| 71 || Jan 19 || Brudzewsky, Lochbaum, Taylor, Therriault || || J, BQN, APL, Q, k, Uiua || [https://www.arraycast.com/episodes/episode71-primitives Primitives, Symbols and Keywords… Oh my!]<br />
|-<br />
| 72 || Feb 2 || Lochbaum, Park, Taylor, Therriault || Elias Mårtenson || [[Kap]], J, BQN, APL || [https://www.arraycast.com/episodes/episode72-kap Elias Mårtenson and the Kap array programming language.]<br />
|-<br />
| 73 || Feb 16 || Brudzewsky, Lochbaum, Taylor, Therriault || Henry Rich || J || [https://www.arraycast.com/episodes/episode73-j95 Henry Rich and the Release of J9.5]<br />
|-<br />
| 74 || Mar 1 || Brudzewsky, Lochbaum, Taylor, Therriault || Kamila Szewczyk || [[KamilaLisp]], APL || [https://www.arraycast.com/episodes/episode74-kamilalisp KamilaLisp and Kamila Szewczyk]<br />
|}<br />
<br />
== External links ==<br />
* [https://www.arraycast.com/ Website]<br />
* [https://arraycast.com/episodes?format=rss RSS feed]<br />
{{APL community}}[[Category:Web broadcasts]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL_Quest&diff=11309
APL Quest
2024-03-12T16:58:00Z
<p>Adám Brudzewsky: /* Problems from 2023 */</p>
<hr />
<div>[[File:APL Quest frame.png|thumb|right|Still frame from a follow-up video.]]<br />
'''APL Quest''' is the title used for a series of live chat sessions held by [[Adám Brudzewsky]] with guest appearances by [[Richard Park]]. The sessions were on European Friday afternoons, from 4 February 2022 until 8 March 2024. Each session focused on one problem from Phase 1 of an [[APL Problem Solving Competition]], beginning with problem 1 from the 2013 round, and was followed up by publication of code<ref>Adám Brudzewsky. [https://github.com/abrudz/apl_quest/ apl_quest] code repository. GitHub.</ref> and a video that summarised solutions.<ref>Adám Brudzewsky. [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN APL Quest] playlist. YouTube.</ref><br />
<br />
== Sessions ==<br />
=== Problems from 2013 ===<br />
{|class=wikitable id=2013<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2013|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2013.html?goto=P1_Seems_a_Bit_Odd_To_Me Seems a Bit Odd To Me] || [https://chat.stackexchange.com/transcript/52405?m=60343161#60343161 Feb 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/1.apl 2013/1.apl] || [https://www.youtube.com/watch?v=Mj4wyLKrBho&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2013.html?goto=P2_Making_The_Grade Making The Grade] || [https://chat.stackexchange.com/transcript/52405?m=60402180#60402180 Feb 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/2.apl 2013/2.apl] || [https://www.youtube.com/watch?v=pxo2BtoMxP4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:03]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2013.html?goto=P3_What_Is_In_a_Word What Is In a Word] || [https://chat.stackexchange.com/transcript/message/60462122#60462122 Feb 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/3.apl 2013/3.apl] || [https://www.youtube.com/watch?v=MgkM2qCPWas&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:18]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2013.html?goto=P4_Keeping_Things_In_Balance Keeping Things In Balance] || [https://chat.stackexchange.com/transcript/52405?m=60517971#60517971 Feb 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/4.apl 2013/4.apl] || [https://www.youtube.com/watch?v=El0_RB4TTPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:34:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2013.html?goto=P5_Identity_Crisis Identity Crisis] || [https://chat.stackexchange.com/transcript/52405?m=60573163#60573163 Mar 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/5.apl 2013/5.apl] || [https://www.youtube.com/watch?v=vVaZ3wEdmpQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:25:05]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2013.html?goto=P6_Home_On_The_Range Home On The Range] || [https://chat.stackexchange.com/transcript/52405?m=60624938#60624938 Mar 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/6.apl 2013/6.apl] || [https://www.youtube.com/watch?v=36HlHsEjUIQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:48]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2013.html?goto=P7_Float_Your_Boat Float Your Boat] || [https://chat.stackexchange.com/transcript/52405?m=60678893#60678893 Mar 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/7.apl 2013/7.apl] || [https://www.youtube.com/watch?v=w5LvImFVi2M&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:22:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2013.html?goto=P8_Go_Forth_And_Multiply Go Forth And Multiply] || [https://chat.stackexchange.com/transcript/52405?m=60733991#60733991 Mar 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/8.apl 2013/8.apl] || [https://www.youtube.com/watch?v=O_l-nJYmDrs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:42]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2013.html?goto=P9_It_Is_a_Moving_Experience It Is a Moving Experience] || [https://chat.stackexchange.com/transcript/52405?m=60790499#60790499 Apr 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/9.apl 2013/9.apl] || [https://www.youtube.com/watch?v=txZiCW12lTE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:12]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2013.html?goto=P10_Solution_Salvation Solution Salvation] || [https://chat.stackexchange.com/transcript/52405?m=60845175#60845175 Apr 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/10.apl 2013/10.apl] || [https://www.youtube.com/watch?v=w-rzx2VNqbY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:01]<br />
|}<br />
:<span id=p2013>[[#2013|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_M0SIpfU8eBWSYXE-GD86g a single playlist].<br />
<br />
=== Problems from 2014 ===<br />
{|class=wikitable id=2014<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2014|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2014.html?goto=P1_It_Is_All_Right It Is All Right] || [https://chat.stackexchange.com/transcript/52405?m=60900017#60900017 Apr 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/1.apl 2014/1.apl] || [https://www.youtube.com/watch?v=0SeHAg0q30w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:18:13]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2014.html?goto=P2_How_Tweet_It_Is How Tweet It Is] || [https://chat.stackexchange.com/transcript/52405?m=60949514#60949514 Apr 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/2.apl] || [https://www.youtube.com/watch?v=3X3l76njwfs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:29:50]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2014.html?goto=P3_Tell_a_Fib Tell a Fib] || [https://chat.stackexchange.com/transcript/52405?m=61008731#61008731 Apr 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/3.apl] || [https://www.youtube.com/watch?v=7J4hJmgWlJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:30:45]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2014.html?goto=P4_Space_The_Final_Frontier Space The Final Frontier] || [https://chat.stackexchange.com/transcript/52405?m=61062129#61062129 May 6, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/4.apl 2014/4.apl] || [https://www.youtube.com/watch?v=aqfhItFpO2I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:52:55]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2014.html?goto=P5_Mirror_Mirror Mirror Mirror] || [https://chat.stackexchange.com/transcript/52405?m=61119677#61119677 May 13, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/5.apl 2014/5.apl] || [https://www.youtube.com/watch?v=cPzQr2aJ7e4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:31]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2014.html?goto=P6_Roll_The_Dice Roll The Dice] || [https://chat.stackexchange.com/transcript/52405?m=61177683#61177683 May 20, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/6.apl 2014/6.apl] || [https://www.youtube.com/watch?v=HwEmjnPpMqY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:55]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2014.html?goto=P7_Revolutionary_Thinking Revolutionary Thinking] || [https://chat.stackexchange.com/transcript/52405?m=61231677#61231677 May 27, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/7.apl 2014/7.apl] || [https://www.youtube.com/watch?v=aiEOXOy56iw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2014.html?goto=P8_Go_The_Distance Go The Distance] || [https://chat.stackexchange.com/transcript/52405/2022/6/3 Jun 3, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/8.apl 2014/8.apl] || [https://www.youtube.com/watch?v=OEChBu1p98w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:59]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2014.html?goto=P9_Going_Ballistic Going Ballistic] || [https://chat.stackexchange.com/transcript/52405?m=61327875#61327875 Jun 10, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/9.apl 2014/9.apl]|| [https://www.youtube.com/watch?v=jhrTBWvVahI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:27]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2014.html?goto=P10_Sales_Are_Up Sales Are Up] || [https://chat.stackexchange.com/transcript/52405?m=61385753#61385753 Jun 17, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2014 2014/10.apl] || [https://www.youtube.com/watch?v=JvvaNQ0DO4Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:59]<br />
|}<br />
:<span id=p2014>[[#2014|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj--yAmV2yUe73O5ntiqF4Xp a single playlist].<br />
<br />
=== Problems from 2015 ===<br />
{|class=wikitable id=2015<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2015|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2015.html?goto=P1_Nag_A_Ram Nag A Ram] || [https://chat.stackexchange.com/transcript/52405?m=61439442#61439442 Jun 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2015/1.apl 2015/1.apl] || [https://www.youtube.com/watch?v=nmUQ9cSQajY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:22]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2015.html?goto=P2_Longest_Streak Longest Streak] || [https://chat.stackexchange.com/transcript/52405?m=61492634#61492634 Jul 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/2.apl] || [https://www.youtube.com/watch?v=fXl5_cJFw34&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:49]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2015.html?goto=P3_Farey_Tale Farey Tale] || [https://chat.stackexchange.com/transcript/52405?m=61541307#61541307 Jul 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/3.apl] || [https://www.youtube.com/watch?v=7bLqOYg5DZk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:31:35]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2015.html?goto=P4_PDI_Progressive_Dyadic_Iota PDI - Progressive Dyadic Iota] || [https://chat.stackexchange.com/transcript/52405?m=61590333#61590333 Jul 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/4.apl 2015/4.apl] || [https://www.youtube.com/watch?v=FGzpsUK5WF4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:35:10]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2015.html?goto=P5_Hes_so_mean_he_has_no_standard_deviation He’s so mean, he has no standard deviation] || [https://chat.stackexchange.com/transcript/message/61644417#61644417 Jul 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/5.apl 2015/5.apl] || [https://www.youtube.com/watch?v=9_RPmL2Szkk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:47]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2015.html?goto=P6_Hey_This_is_My_Space Hey! This is My Space] || [https://chat.stackexchange.com/transcript/message/61688071#61688071 Jul 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/6.apl 2015/6.apl] || [https://www.youtube.com/watch?v=Ya832W9iBC4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:00]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2015.html?goto=P7_Just_In_Upper_Case Just in (Upper) Case] || [https://chat.stackexchange.com/transcript/52405?m=61731271#61731271 Aug 5, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/7.apl 2015/7.apl] || [https://www.youtube.com/watch?v=syzyAQc11M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2015.html?goto=P8_Unlucky_13 Unlucky 13] || [https://chat.stackexchange.com/transcript/52405?m=61776938#61776938 Aug 12, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/8.apl 2015/8.apl] || [https://www.youtube.com/watch?v=2VSUnKEu5m8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2015.html?goto=P9_Id_Like_Mine_Scrambled_Please I’d Like Mine Scrambled Please] || [https://chat.stackexchange.com/transcript/52405?m=61822639#61822639 Aug 19, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/9.apl 2015/9.apl] || [https://www.youtube.com/watch?v=jptaYjzi_mE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:31]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2015.html?goto=P10_Blaiseing_a_Trail Blaise’ing a Trail] || [https://chat.stackexchange.com/transcript/52405?m=61871003#61871003 Aug 26, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/10.apl 2015/10.apl] || [https://www.youtube.com/watch?v=j0prKDZtBWQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:46]<br />
|}<br />
:<span id=p2015>[[#2015|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8D5G7jIkBPCsuu_9AbyHxE a single playlist].<br />
<br />
=== Problems from 2016 ===<br />
{|class=wikitable id=2016<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2016|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2016.html?goto=P1_Statistics_Mean Statistics - Mean] || [https://chat.stackexchange.com/transcript/52405?m=61919109#61919109 Sep 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/1.apl 2016/1.apl] || [https://www.youtube.com/watch?v=pZA3NFdh7M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2016.html?goto=P2_Statistics_Median Statistics - Median] || [https://chat.stackexchange.com/transcript/52405?m=61968437#61968437 Sep, 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/2.apl 2016/2.apl] || [https://www.youtube.com/watch?v=oBkCJfi_OEU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:22]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2016.html?goto=P3_Statistics_Mode Statistics - Mode] || [https://chat.stackexchange.com/transcript/52405?m=62016595#62016595 Sep, 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/3.apl 2016/3.apl] || [https://www.youtube.com/watch?v=iJsh_0wD2us&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:26:36]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2016.html?goto=P4_Just_Meshing_Around Just Meshing Around] || [https://chat.stackexchange.com/transcript/52405?m=62063400#62063400 Sep, 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/4.apl 2016/4.apl] || [https://www.youtube.com/watch?v=59eKagcVoO4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:07]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2016.html?goto=P5_Youre_Unique_Just_Like_Everyone_Else You’re Unique, Just Like Everyone Else] || [https://chat.stackexchange.com/transcript/52405?m=62107645#62107645 Sep, 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/5.apl 2016/5.apl] || [https://www.youtube.com/watch?v=zFSFcIskU4U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:36]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2016.html?goto=P6_Shorter_Ones_to_the_Front Shorter Ones to the Front] || [https://chat.stackexchange.com/transcript/52405?m=62151647#62151647 Oct, 7, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/6.apl 2016/6.apl] || [https://www.youtube.com/watch?v=ZmVuGl6-DJk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:19]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2016.html?goto=P7_3s_and_5s 3s and 5s] || [https://chat.stackexchange.com/transcript/52405?m=62198343#62198343 Oct, 14, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/7.apl 2016/7.apl] || [https://www.youtube.com/watch?v=s1qIJ1LRfaQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:28]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2016.html?goto=P8_Separating_Out_the_Negative Separating Out the Negative] || [https://chat.stackexchange.com/transcript/52405?m=62233525#62233525 Oct, 21, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/8.apl 2016/8.apl] || [https://www.youtube.com/watch?v=ZSEJkNrEdOQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:16]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2016.html?goto=P9_Delimited_Text Delimited Text] || [https://chat.stackexchange.com/transcript/52405?m=62273399#62273399 Oct, 28, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/9.apl 2016/9.apl] || [https://www.youtube.com/watch?v=5_ArihWDSlM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:51]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2016.html?goto=P10_Order_Total_Dot_Product Order Total] || [https://chat.stackexchange.com/transcript/52405?m=62313927#62313927 Nov, 4, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/10.apl 2016/10.apl] || [https://www.youtube.com/watch?v=5rfCeT_lPk8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:43]<br />
|}<br />
:<span id=p2016>[[#2016|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9zSwnh4K28nCApruWA1j_m a single playlist].<br />
<br />
=== Problems from 2017 ===<br />
{|class=wikitable id=2017<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2017|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2017.html?goto=P1_What_an_Odd_Bunch What an Odd Bunch] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Nov 11, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/1.apl 2017/1.apl] || [https://www.youtube.com/watch?v=afiMn3ACT1U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2017.html?goto=P2_Good_Evening Good Evening] || [https://chat.stackexchange.com/transcript/52405?m=62397727#62397727 Nov 18, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/2.apl 2017/2.apl] || [https://www.youtube.com/watch?v=fg1Z0V33Er4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:56]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2017.html?goto=P3_Miss_Quoted Miss Quoted] || [https://chat.stackexchange.com/transcript/52405?m=62439770#62439770 Nov 25, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/3.apl 2017/3.apl] || [https://www.youtube.com/watch?v=Yx3xqiNo9NY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:04]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2017.html?goto=P4_Slices_of_Pies Slice(s) of Pie(s)] || [https://chat.stackexchange.com/transcript/52405?m=62483171#62483171 Dec 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/4.apl 2017/4.apl] || [https://www.youtube.com/watch?v=XLrh6HwUbP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2017.html?goto=P5_DNA DNA?] || [https://chat.stackexchange.com/transcript/message/62538000#62538000 Dec 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/5.apl 2017/5.apl] || [https://www.youtube.com/watch?v=s2XtJKB1Sks&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:54]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2017.html?goto=P6_k_mers k-mers] ||[https://chat.stackexchange.com/transcript/message/62581736#62581736 Dec 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/6.apl 2017/6.apl] || [https://www.youtube.com/watch?v=SYcEnkcV5q8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:54]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2017.html?goto=P7_Counting_DNA_Nucleotides Counting DNA Nucleotides] || [https://chat.stackexchange.com/transcript/message/62628046#62628046 Dec 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/7.apl 2017/7.apl] || [https://www.youtube.com/watch?v=0TJkzDIWAno&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:53]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2017.html?goto=P8_Be_the_First_1 Be the First 1] || [https://chat.stackexchange.com/transcript/52405?m=62667691#62667691 Dec 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/8.apl 2017/8.apl] || [https://www.youtube.com/watch?v=he6rpBP4hP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:10]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2017.html?goto=P9_Double_Trouble Double Trouble] || [https://chat.stackexchange.com/transcript/52405?m=62715050#62715050 Jan 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/9.apl 2017/9.apl] || [https://www.youtube.com/watch?v=t2RH0isi3Qg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:35]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2017.html?goto=P10_Squaring_Off Squaring Off] || [https://chat.stackexchange.com/transcript/52405?m=62764522#62764522 Jan 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/10.apl 2017/10.apl] || [https://www.youtube.com/watch?v=AOleoh2JlJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:38]<br />
|-<br />
|}<br />
:<span id=p2017>[[#2017|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8wDbpQmxKOGNKwrsCJSbz7 a single playlist].<br />
<br />
=== Problems from 2018 ===<br />
{|class=wikitable id=2018<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2018|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2018.html?goto=P1_Oh_Say_Can_You_See Oh Say Can You See] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Jan 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/1.apl 2018/1.apl] || [https://www.youtube.com/watch?v=YZBOKebM624&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2018.html?goto=P2_Number_Splitting Number Splitting] || [https://chat.stackexchange.com/transcript/message/62858667#62858667 Jan 27, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/2.apl 2018/2.apl] || [https://www.youtube.com/watch?v=Q4U3y-bhxGA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:16]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2018.html?goto=P3_Rolling_Along Rolling Along] || [https://chat.stackexchange.com/transcript/message/62907248#62907248 Feb 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/3.apl 2018/3.apl] || [https://www.youtube.com/watch?v=D6jWkFo00-E&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:03]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2018.html?goto=P4_Whats_Your_Sign Whats Your Sign] || [https://chat.stackexchange.com/transcript/52405?m=62957002#62957002 Feb 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/4.apl 2018/4.apl] || [https://www.youtube.com/watch?v=g82bRux0TJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:40]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2018.html?goto=P5_Whats_Your_Sign_Revisited Whats Your Sign Revisited] || [https://chat.stackexchange.com/transcript/52405?m=63010133#63010133 Feb 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/5.apl 2018/5.apl] || [https://www.youtube.com/watch?v=BtJ6Hey2PE4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:18]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2018.html?goto=P6_Whats_Your_Angle Whats Your Angle] || [https://chat.stackexchange.com/transcript/52405?m=63056863#63056863 Feb 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/6.apl 2018/6.apl] || [https://www.youtube.com/watch?v=3ivJvycE0Tk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:09]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2018.html?goto=P7_Unconditionally_Shifty Unconditionally Shifty] || [https://chat.stackexchange.com/transcript/52405?m=63108820#63108820 Mar 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/7.apl 2018/7.apl] || [https://www.youtube.com/watch?v=b3r4CY5kf9c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:45]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2018.html?goto=P8_Making_a_Good_Argument Making a Good Argument] || [https://chat.stackexchange.com/transcript/52405?m=63151714#63151714 Mar 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/8.apl 2018/8.apl] || [https://www.youtube.com/watch?v=F72metQNXAU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:41]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2018.html?goto=P9_Earlier_Later_or_the_Same Earlier Later or the Same] || [https://chat.stackexchange.com/transcript/52405?m=63197530#63197530 Mar 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/9.apl 2018/9.apl] || [https://www.youtube.com/watch?v=gPQpCa0ke0U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2018.html?goto=P10_Anagrammatically_Correct Anagrammatically Correct] || [https://chat.stackexchange.com/transcript/52405?m=63239751#63239751 Mar 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/10.apl 2018/10.apl] || [https://www.youtube.com/watch?v=3kRLlmZC62o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:12]<br />
|-<br />
|}<br />
:<span id=p2018>[[#2018|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8NxxMWk_WcDOjDoqz65bKh a single playlist].<br />
=== Problems from 2019 ===<br />
{|class=wikitable id=2019<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2019|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2019.html?goto=P1_Chunky_Monkey Chunky Monkey] || [https://chat.stackexchange.com/transcript/52405?m=63286611#63286611 Mar 31, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/1.apl 2019/1.apl] || [https://www.youtube.com/watch?v=9puw9PBMFP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:32]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2019.html?goto=P2_Making_the_Grade Making the Grade] || [https://chat.stackexchange.com/transcript/52405?m=63332288#63332288 Apr 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/2.apl 2019/2.apl] || [https://www.youtube.com/watch?v=1EaAau9x8MI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:27]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2019.html?goto=P3_Grade_Distribution Grade Distribution] || [https://chat.stackexchange.com/transcript/52405?m=63374600#63374600 Apr 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/3.apl 2019/3.apl] || [https://www.youtube.com/watch?v=uPMqIHcOfgE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2019.html?goto=P4_Knight_Moves Knight Moves] || [https://chat.stackexchange.com/transcript/52405?m=63423145#63423145 Apr 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/4.apl 2019/4.apl] || [https://www.youtube.com/watch?v=K40CsPxYohM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:37]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2019.html?goto=P5_Doubling_Up Doubling Up] || [https://chat.stackexchange.com/transcript/52405?m=63469882#63469882 Apr 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/5.apl 2019/5.apl] || [https://www.youtube.com/watch?v=c8XRnJeJ2AY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:01]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2019.html?goto=P6_Telephone_Names Telephone Names] || [https://chat.stackexchange.com/transcript/52405?m=63515042#63515042 May 5, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/6.apl 2019/6.apl] || [https://www.youtube.com/watch?v=mzyrnyV7Q_c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:23]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2019.html?goto=P7_In_the_Center_of_It_All In the Center of It All] || [https://chat.stackexchange.com/transcript/52405?m=63558554#63558554 May 12, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/7.apl 2019/7.apl] || [https://www.youtube.com/watch?v=Bhov522Jz7o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2019.html?goto=P8_Going_the_Distance Going the Distance] || [https://chat.stackexchange.com/transcript/52405?m=63609358#63609358 May 19, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/8.apl 2019/8.apl] || [https://www.youtube.com/watch?v=GNdp6rAZ2Is&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2019.html?goto=P9_Area_Code_a_la_Gauss Area Code à la Gauss] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 May 26, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/9.apl 2019/9.apl] || [https://www.youtube.com/watch?v=njZs8HV5Ra0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:57]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2019.html?goto=P10_Odd_and_Evens Odd and Evens] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 Jun 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/10.apl 2019/10.apl] || [https://www.youtube.com/watch?v=9hUTqexYZ0I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:33]<br />
|}<br />
:<span id=p2019>[[#2019|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-CZEC7r5v4SMd0RtgpoWPt a single playlist].<br />
<br />
=== Problems from 2020 ===<br />
{|class=wikitable id=2020<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2020|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2020.html?goto=P1_Lets_Split Let's Split] || [https://chat.stackexchange.com/transcript/52405?m=63767556#63767556 Jun 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/1.apl 2020/1.apl] || [https://www.youtube.com/watch?v=2grlocFykmI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:11]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2020.html?goto=P2_Characters Character Building] || [https://chat.stackexchange.com/transcript/52405?m=63803321#63803321 Jun 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/2.apl 2020/2.apl] || [https://www.youtube.com/watch?v=C5X6FlTNzX4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:05]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2020.html?goto=P3_Columns Excel-lent Columns] || [https://chat.stackexchange.com/transcript/52405?m=63835448#63835448 Jun 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/3.apl 2020/3.apl] || [https://www.youtube.com/watch?v=yg96DlrXUc4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:19]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2020.html?goto=P4_Take_a_Leap Take a Leap] || [https://chat.stackexchange.com/transcript/52405?m=63890718#63890718 Jun 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/4.apl 2020/4.apl] || [https://www.youtube.com/watch?v=hqyDUkSooCw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:04]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2020.html?goto=P5_Integer_Range Stepping in the Proper Direction] || [https://chat.stackexchange.com/transcript/message/63935087#63935087 Jul 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/5.apl 2020/5.apl] || [https://www.youtube.com/watch?v=SjCmDfWmhqk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:17]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2020.html?goto=P6_Move_To_Front Move to the Front] || [https://chat.stackexchange.com/transcript/52405?m=63980930#63980930 Jul 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/6.apl 2020/6.apl] || [https://www.youtube.com/watch?v=FfFzzmEo37Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:04]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2020.html?goto=P7_Bits See You in a Bit] || [https://chat.stackexchange.com/transcript/52405?m=64028252#64028252 Jul 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/7.apl 2020/7.apl] || [https://www.youtube.com/watch?v=xXweDCXIVSk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:02]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2020.html?goto=P8_Zigzag Zigzag Numbers] || [https://chat.stackexchange.com/transcript/52405?m=64081060#64081060 Jul 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/8.apl 2020/8.apl] || [https://www.youtube.com/watch?v=Q-8LAhe79zM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2020.html?goto=P9_Rise_and_Fall Rise and Fall] || [https://chat.stackexchange.com/transcript/52405?m=64125164#64125164 Aug 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/9.apl 2020/9.apl] || [https://www.youtube.com/watch?v=qypqissqN-c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:49]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2020.html?goto=P10_Stacking_It_Up Stacking It Up] || [https://chat.stackexchange.com/transcript/52405?m=64172099#64172099 Aug 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/10.apl 2020/10.apl] || [https://www.youtube.com/watch?v=LBelbuN1yRo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:09]<br />
|}<br />
:<span id=p2020>[[#2020|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8J80yMTag0_VDzxdPKjZ28 a single playlist].<br />
<br />
=== Problems from 2021 ===<br />
{|class=wikitable id=2021<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2021|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2021.html?goto=P1_Are_You_a_Bacteria Are You a Bacteria] || [https://chat.stackexchange.com/transcript/52405?m=64216596#64216596 Aug 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/1.apl 2021/1.apl] || [https://www.youtube.com/watch?v=6tkUO7Wc5Tg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2021.html?goto=P2_Index_Of_Modified Index Of Modified] || [https://chat.stackexchange.com/transcript/52405?m=64262014#64262014 Aug 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/2.apl 2021/2.apl] || [https://www.youtube.com/watch?v=r5VQ9wSBVTg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:36]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2021.html?goto=P3_Multiplicity Multiplicity] || [https://chat.stackexchange.com/transcript/52405?m=64315806#64315806 Sep 1, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/3.apl 2021/3.apl] || [https://www.youtube.com/watch?v=h9xqYCxiMJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2021.html?goto=P4_Square_Peg_Round_Hole Square Peg, Round Hole] || [https://chat.stackexchange.com/transcript/52405?m=64360617#64360617 Sep 8, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/4.apl 2021/4.apl] || [https://www.youtube.com/watch?v=h0RS-rEV3BM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:39]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2021.html?goto=P5_Rect_ify Rect-ify] || [https://chat.stackexchange.com/transcript/52405?m=64410899#64410899 Sep 15, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/5.apl 2021/5.apl] || [https://www.youtube.com/watch?v=demUjdV0EPk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:02]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2021.html?goto=P6_Fischer_Random_Chess Fischer Random Chess] || [https://chat.stackexchange.com/transcript/52405?m=64457542#64457542 Sep 22, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/6.apl 2021/6.apl] || [https://www.youtube.com/watch?v=UvlL1OyIJIw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:20]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2021.html?goto=P7_Can_You_Feel_the_Magic Can You Feel the Magic] || [https://chat.stackexchange.com/transcript/52405?m=64501098#64501098 Sep 29, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/7.apl 2021/7.apl] || [https://www.youtube.com/watch?v=j9MMQZXpTmM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:41]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2021.html?goto=P8_Time_to_Make_a_Difference Time to Make a Difference] || [https://chat.stackexchange.com/transcript/52405?m=64533505#64533505 Oct 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/8.apl 2021/8.apl] || [https://www.youtube.com/watch?v=hQFMjRPFioI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2021.html?goto=P9_In_the_Long_Run In the Long Run] || [https://chat.stackexchange.com/transcript/52405?m=64569242#64569242 Oct 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/9.apl 2021/9.apl] || [https://www.youtube.com/watch?v=kpTxXyWIgpc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:19]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2021.html?goto=P10_On_the_Right_Side On the Right Side] || [https://chat.stackexchange.com/transcript/52405?m=64604513#64604513 Oct 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/10.apl 2021/10.apl] || [https://www.youtube.com/watch?v=tClkG4ybunI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:25]<br />
|}<br />
:<span id=p2021>[[#2021|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-AtwCeUfeICfWufM133X4e a single playlist].<br />
<br />
=== Problems from 2022 ===<br />
{|class=wikitable id=2022<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2022|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2022.html?goto=P1_Counting_DNA Counting DNA Nucleotides?] || [https://chat.stackexchange.com/transcript/52405?m=64637385#64637385 Oct 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/1.apl 2022/1.apl] || [https://www.youtube.com/watch?v=xhZWd51rATE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2022.html?goto=P2_Mutations Attack of the Mutations!] || [https://chat.stackexchange.com/transcript/52405?m=64668644#64668644 Nov 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/2.apl 2022/2.apl] || [https://www.youtube.com/watch?v=Gy7i_EzrhFE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:07]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2022.html?goto=P3_XOR Uniquely Qualified] || [https://chat.stackexchange.com/transcript/52405?m=64700500#64700500 Nov 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/3.apl 2022/3.apl] || [https://www.youtube.com/watch?v=ZvjgB1aCEH4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:17]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2022.html?goto=P4_Longest_1_run In the Long One…] || [https://chat.stackexchange.com/transcript/52405?m=64729844#64729844 Nov 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/4.apl 2022/4.apl] || [https://www.youtube.com/watch?v=E5H_kV2UXxc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:08]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2022.html?goto=P5_Stairway Stairway to Heaven] || [https://chat.stackexchange.com/transcript/52405?m=64758788#64758788 Nov 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/5.apl 2022/5.apl] || [https://www.youtube.com/watch?v=JfULYgkDVgs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:09]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2022.html?goto=P6_Pyramid Pyramid Scheme] || [https://chat.stackexchange.com/transcript/52405?m=64793494#64793494 Dec 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/6.apl 2022/6.apl] || [https://www.youtube.com/watch?v=I-JBVOIMlPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:14]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2022.html?goto=P7_Golf_Scores Just Golfing Around] || [https://chat.stackexchange.com/transcript/52405?m=64828652#64828652 Dec 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/7.apl 2022/7.apl] || [https://www.youtube.com/watch?v=8SL6exHPQwk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:52]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2022.html?goto=P8_Split_on_first Let’s Split!] || [https://chat.stackexchange.com/transcript/52405?m=64863116#64863116 Dec 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/8.apl 2022/8.apl] || [https://www.youtube.com/watch?v=YMDClM03zyQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:08]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2022.html?goto=P9_Average An Average Window (or a Windowed Average)] || [https://chat.stackexchange.com/transcript/52405?m=64894638#64894638 Dec 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/9.apl 2022/9.apl] || [https://www.youtube.com/watch?v=RautPkG3A3Y&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2022.html?goto=P10_Separators Separation Anxiety] || [https://chat.stackexchange.com/transcript/52405?m=64917683#64917683 Dec 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/10.apl 2022/10.apl] || [https://www.youtube.com/watch?v=VWXqtokDgNQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:17]<br />
|}<br />
:<span id=p2022>[[#2022|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_tpJMwfH1tBXlpDSjEmkwh a single playlist].<br />
<br />
<br />
=== Problems from 2023 ===<br />
{|class=wikitable id=2023<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2023|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2023.html?goto=P1_Elimination_Sort Elimination Sort] || [https://chat.stackexchange.com/transcript/52405?m=64941297#64941297 Jan 5, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/1.apl 2023/1.apl] || [https://www.youtube.com/watch?v=LpUOaipgn7s&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:56]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2023.html?goto=P2_Put_It_In_Reverse Put It In Reverse] || [https://chat.stackexchange.com/transcript/52405?m=64977516#64977516 Jan 12, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/2.apl 2023/2.apl] || [https://www.youtube.com/watch?v=JnExPhse9iM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:58]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2023.html?goto=P3_Caesar_Salad Caesar Salad] || [https://chat.stackexchange.com/transcript/52405?m=65017769#65017769 Jan 19, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/3.apl 2023/3.apl] || [https://www.youtube.com/watch?v=Rg8OCEMlYGg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:56]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2023.html?goto=P4_Like_a_Version Like a Version] || [https://chat.stackexchange.com/transcript/52405?m=65059946#65059946 Jan 26, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/4.apl 2023/4.apl] || [https://www.youtube.com/watch?v=zOhxW-gRR4A&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:15]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2023.html?goto=P5_Risky_Business Risky Business] || [https://chat.stackexchange.com/transcript/52405?m=65101517#65101517 Feb 2, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/5.apl 2023/5.apl] || [https://www.youtube.com/watch?v=CvgRR1Ai94Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:24]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2023.html?goto=P6_Key_Value_Pairs Key Value Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65151113#65151113 Feb 9, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/6.apl 2023/6.apl] || [https://www.youtube.com/watch?v=svaJ0o9oyco&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:41]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2023.html?goto=P7_Lets_Be_Rational Lets Be Rational] || [https://chat.stackexchange.com/transcript/message/65193789#65193789 Feb 16, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/7.apl 2023/7.apl] || [https://www.youtube.com/watch?v=3J_IuXgDiq0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:03]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2023.html?goto=P8_Critical_Thinking Critical Thinking] || [https://chat.stackexchange.com/transcript/52405?m=65234344#65234344 Feb 23, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/8.apl 2023/8.apl] || [https://www.youtube.com/watch?v=yfLowDKvXUs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:22]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2023.html?goto=P9_Flipping_Pairs Flipping Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65274150#65274150 Mar 1, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/9.apl 2023/9.apl] || [https://www.youtube.com/watch?v=3BENCcfRfos&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:47]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2023.html?goto=P10_Partition_with_a_Twist Partition with a Twist] || [https://chat.stackexchange.com/transcript/52405?m=65309996#65309996 Mar 8, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/10.apl 2023/10.apl] || [https://www.youtube.com/watch?v=cGkrLJ2tzcQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:17]<br />
|}<br />
:<span id=p2023>[[#2023|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN a single playlist].<br />
<br />
== References ==<br />
<references/><br />
{{APL community}}[[Category:Online sessions]][[Category:Web broadcasts]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL_Quest&diff=11308
APL Quest
2024-03-12T16:50:46Z
<p>Adám Brudzewsky: /* Problems from 2023 */</p>
<hr />
<div>[[File:APL Quest frame.png|thumb|right|Still frame from a follow-up video.]]<br />
'''APL Quest''' is the title used for a series of live chat sessions held by [[Adám Brudzewsky]] with guest appearances by [[Richard Park]]. The sessions were on European Friday afternoons, from 4 February 2022 until 8 March 2024. Each session focused on one problem from Phase 1 of an [[APL Problem Solving Competition]], beginning with problem 1 from the 2013 round, and was followed up by publication of code<ref>Adám Brudzewsky. [https://github.com/abrudz/apl_quest/ apl_quest] code repository. GitHub.</ref> and a video that summarised solutions.<ref>Adám Brudzewsky. [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN APL Quest] playlist. YouTube.</ref><br />
<br />
== Sessions ==<br />
=== Problems from 2013 ===<br />
{|class=wikitable id=2013<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2013|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2013.html?goto=P1_Seems_a_Bit_Odd_To_Me Seems a Bit Odd To Me] || [https://chat.stackexchange.com/transcript/52405?m=60343161#60343161 Feb 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/1.apl 2013/1.apl] || [https://www.youtube.com/watch?v=Mj4wyLKrBho&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2013.html?goto=P2_Making_The_Grade Making The Grade] || [https://chat.stackexchange.com/transcript/52405?m=60402180#60402180 Feb 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/2.apl 2013/2.apl] || [https://www.youtube.com/watch?v=pxo2BtoMxP4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:03]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2013.html?goto=P3_What_Is_In_a_Word What Is In a Word] || [https://chat.stackexchange.com/transcript/message/60462122#60462122 Feb 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/3.apl 2013/3.apl] || [https://www.youtube.com/watch?v=MgkM2qCPWas&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:18]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2013.html?goto=P4_Keeping_Things_In_Balance Keeping Things In Balance] || [https://chat.stackexchange.com/transcript/52405?m=60517971#60517971 Feb 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/4.apl 2013/4.apl] || [https://www.youtube.com/watch?v=El0_RB4TTPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:34:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2013.html?goto=P5_Identity_Crisis Identity Crisis] || [https://chat.stackexchange.com/transcript/52405?m=60573163#60573163 Mar 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/5.apl 2013/5.apl] || [https://www.youtube.com/watch?v=vVaZ3wEdmpQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:25:05]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2013.html?goto=P6_Home_On_The_Range Home On The Range] || [https://chat.stackexchange.com/transcript/52405?m=60624938#60624938 Mar 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/6.apl 2013/6.apl] || [https://www.youtube.com/watch?v=36HlHsEjUIQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:48]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2013.html?goto=P7_Float_Your_Boat Float Your Boat] || [https://chat.stackexchange.com/transcript/52405?m=60678893#60678893 Mar 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/7.apl 2013/7.apl] || [https://www.youtube.com/watch?v=w5LvImFVi2M&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:22:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2013.html?goto=P8_Go_Forth_And_Multiply Go Forth And Multiply] || [https://chat.stackexchange.com/transcript/52405?m=60733991#60733991 Mar 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/8.apl 2013/8.apl] || [https://www.youtube.com/watch?v=O_l-nJYmDrs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:42]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2013.html?goto=P9_It_Is_a_Moving_Experience It Is a Moving Experience] || [https://chat.stackexchange.com/transcript/52405?m=60790499#60790499 Apr 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/9.apl 2013/9.apl] || [https://www.youtube.com/watch?v=txZiCW12lTE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:12]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2013.html?goto=P10_Solution_Salvation Solution Salvation] || [https://chat.stackexchange.com/transcript/52405?m=60845175#60845175 Apr 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/10.apl 2013/10.apl] || [https://www.youtube.com/watch?v=w-rzx2VNqbY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:01]<br />
|}<br />
:<span id=p2013>[[#2013|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_M0SIpfU8eBWSYXE-GD86g a single playlist].<br />
<br />
=== Problems from 2014 ===<br />
{|class=wikitable id=2014<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2014|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2014.html?goto=P1_It_Is_All_Right It Is All Right] || [https://chat.stackexchange.com/transcript/52405?m=60900017#60900017 Apr 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/1.apl 2014/1.apl] || [https://www.youtube.com/watch?v=0SeHAg0q30w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:18:13]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2014.html?goto=P2_How_Tweet_It_Is How Tweet It Is] || [https://chat.stackexchange.com/transcript/52405?m=60949514#60949514 Apr 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/2.apl] || [https://www.youtube.com/watch?v=3X3l76njwfs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:29:50]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2014.html?goto=P3_Tell_a_Fib Tell a Fib] || [https://chat.stackexchange.com/transcript/52405?m=61008731#61008731 Apr 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/3.apl] || [https://www.youtube.com/watch?v=7J4hJmgWlJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:30:45]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2014.html?goto=P4_Space_The_Final_Frontier Space The Final Frontier] || [https://chat.stackexchange.com/transcript/52405?m=61062129#61062129 May 6, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/4.apl 2014/4.apl] || [https://www.youtube.com/watch?v=aqfhItFpO2I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:52:55]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2014.html?goto=P5_Mirror_Mirror Mirror Mirror] || [https://chat.stackexchange.com/transcript/52405?m=61119677#61119677 May 13, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/5.apl 2014/5.apl] || [https://www.youtube.com/watch?v=cPzQr2aJ7e4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:31]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2014.html?goto=P6_Roll_The_Dice Roll The Dice] || [https://chat.stackexchange.com/transcript/52405?m=61177683#61177683 May 20, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/6.apl 2014/6.apl] || [https://www.youtube.com/watch?v=HwEmjnPpMqY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:55]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2014.html?goto=P7_Revolutionary_Thinking Revolutionary Thinking] || [https://chat.stackexchange.com/transcript/52405?m=61231677#61231677 May 27, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/7.apl 2014/7.apl] || [https://www.youtube.com/watch?v=aiEOXOy56iw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2014.html?goto=P8_Go_The_Distance Go The Distance] || [https://chat.stackexchange.com/transcript/52405/2022/6/3 Jun 3, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/8.apl 2014/8.apl] || [https://www.youtube.com/watch?v=OEChBu1p98w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:59]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2014.html?goto=P9_Going_Ballistic Going Ballistic] || [https://chat.stackexchange.com/transcript/52405?m=61327875#61327875 Jun 10, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/9.apl 2014/9.apl]|| [https://www.youtube.com/watch?v=jhrTBWvVahI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:27]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2014.html?goto=P10_Sales_Are_Up Sales Are Up] || [https://chat.stackexchange.com/transcript/52405?m=61385753#61385753 Jun 17, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2014 2014/10.apl] || [https://www.youtube.com/watch?v=JvvaNQ0DO4Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:59]<br />
|}<br />
:<span id=p2014>[[#2014|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj--yAmV2yUe73O5ntiqF4Xp a single playlist].<br />
<br />
=== Problems from 2015 ===<br />
{|class=wikitable id=2015<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2015|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2015.html?goto=P1_Nag_A_Ram Nag A Ram] || [https://chat.stackexchange.com/transcript/52405?m=61439442#61439442 Jun 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2015/1.apl 2015/1.apl] || [https://www.youtube.com/watch?v=nmUQ9cSQajY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:22]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2015.html?goto=P2_Longest_Streak Longest Streak] || [https://chat.stackexchange.com/transcript/52405?m=61492634#61492634 Jul 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/2.apl] || [https://www.youtube.com/watch?v=fXl5_cJFw34&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:49]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2015.html?goto=P3_Farey_Tale Farey Tale] || [https://chat.stackexchange.com/transcript/52405?m=61541307#61541307 Jul 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/3.apl] || [https://www.youtube.com/watch?v=7bLqOYg5DZk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:31:35]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2015.html?goto=P4_PDI_Progressive_Dyadic_Iota PDI - Progressive Dyadic Iota] || [https://chat.stackexchange.com/transcript/52405?m=61590333#61590333 Jul 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/4.apl 2015/4.apl] || [https://www.youtube.com/watch?v=FGzpsUK5WF4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:35:10]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2015.html?goto=P5_Hes_so_mean_he_has_no_standard_deviation He’s so mean, he has no standard deviation] || [https://chat.stackexchange.com/transcript/message/61644417#61644417 Jul 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/5.apl 2015/5.apl] || [https://www.youtube.com/watch?v=9_RPmL2Szkk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:47]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2015.html?goto=P6_Hey_This_is_My_Space Hey! This is My Space] || [https://chat.stackexchange.com/transcript/message/61688071#61688071 Jul 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/6.apl 2015/6.apl] || [https://www.youtube.com/watch?v=Ya832W9iBC4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:00]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2015.html?goto=P7_Just_In_Upper_Case Just in (Upper) Case] || [https://chat.stackexchange.com/transcript/52405?m=61731271#61731271 Aug 5, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/7.apl 2015/7.apl] || [https://www.youtube.com/watch?v=syzyAQc11M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2015.html?goto=P8_Unlucky_13 Unlucky 13] || [https://chat.stackexchange.com/transcript/52405?m=61776938#61776938 Aug 12, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/8.apl 2015/8.apl] || [https://www.youtube.com/watch?v=2VSUnKEu5m8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2015.html?goto=P9_Id_Like_Mine_Scrambled_Please I’d Like Mine Scrambled Please] || [https://chat.stackexchange.com/transcript/52405?m=61822639#61822639 Aug 19, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/9.apl 2015/9.apl] || [https://www.youtube.com/watch?v=jptaYjzi_mE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:31]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2015.html?goto=P10_Blaiseing_a_Trail Blaise’ing a Trail] || [https://chat.stackexchange.com/transcript/52405?m=61871003#61871003 Aug 26, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/10.apl 2015/10.apl] || [https://www.youtube.com/watch?v=j0prKDZtBWQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:46]<br />
|}<br />
:<span id=p2015>[[#2015|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8D5G7jIkBPCsuu_9AbyHxE a single playlist].<br />
<br />
=== Problems from 2016 ===<br />
{|class=wikitable id=2016<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2016|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2016.html?goto=P1_Statistics_Mean Statistics - Mean] || [https://chat.stackexchange.com/transcript/52405?m=61919109#61919109 Sep 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/1.apl 2016/1.apl] || [https://www.youtube.com/watch?v=pZA3NFdh7M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2016.html?goto=P2_Statistics_Median Statistics - Median] || [https://chat.stackexchange.com/transcript/52405?m=61968437#61968437 Sep, 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/2.apl 2016/2.apl] || [https://www.youtube.com/watch?v=oBkCJfi_OEU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:22]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2016.html?goto=P3_Statistics_Mode Statistics - Mode] || [https://chat.stackexchange.com/transcript/52405?m=62016595#62016595 Sep, 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/3.apl 2016/3.apl] || [https://www.youtube.com/watch?v=iJsh_0wD2us&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:26:36]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2016.html?goto=P4_Just_Meshing_Around Just Meshing Around] || [https://chat.stackexchange.com/transcript/52405?m=62063400#62063400 Sep, 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/4.apl 2016/4.apl] || [https://www.youtube.com/watch?v=59eKagcVoO4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:07]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2016.html?goto=P5_Youre_Unique_Just_Like_Everyone_Else You’re Unique, Just Like Everyone Else] || [https://chat.stackexchange.com/transcript/52405?m=62107645#62107645 Sep, 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/5.apl 2016/5.apl] || [https://www.youtube.com/watch?v=zFSFcIskU4U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:36]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2016.html?goto=P6_Shorter_Ones_to_the_Front Shorter Ones to the Front] || [https://chat.stackexchange.com/transcript/52405?m=62151647#62151647 Oct, 7, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/6.apl 2016/6.apl] || [https://www.youtube.com/watch?v=ZmVuGl6-DJk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:19]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2016.html?goto=P7_3s_and_5s 3s and 5s] || [https://chat.stackexchange.com/transcript/52405?m=62198343#62198343 Oct, 14, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/7.apl 2016/7.apl] || [https://www.youtube.com/watch?v=s1qIJ1LRfaQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:28]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2016.html?goto=P8_Separating_Out_the_Negative Separating Out the Negative] || [https://chat.stackexchange.com/transcript/52405?m=62233525#62233525 Oct, 21, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/8.apl 2016/8.apl] || [https://www.youtube.com/watch?v=ZSEJkNrEdOQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:16]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2016.html?goto=P9_Delimited_Text Delimited Text] || [https://chat.stackexchange.com/transcript/52405?m=62273399#62273399 Oct, 28, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/9.apl 2016/9.apl] || [https://www.youtube.com/watch?v=5_ArihWDSlM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:51]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2016.html?goto=P10_Order_Total_Dot_Product Order Total] || [https://chat.stackexchange.com/transcript/52405?m=62313927#62313927 Nov, 4, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/10.apl 2016/10.apl] || [https://www.youtube.com/watch?v=5rfCeT_lPk8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:43]<br />
|}<br />
:<span id=p2016>[[#2016|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9zSwnh4K28nCApruWA1j_m a single playlist].<br />
<br />
=== Problems from 2017 ===<br />
{|class=wikitable id=2017<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2017|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2017.html?goto=P1_What_an_Odd_Bunch What an Odd Bunch] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Nov 11, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/1.apl 2017/1.apl] || [https://www.youtube.com/watch?v=afiMn3ACT1U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2017.html?goto=P2_Good_Evening Good Evening] || [https://chat.stackexchange.com/transcript/52405?m=62397727#62397727 Nov 18, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/2.apl 2017/2.apl] || [https://www.youtube.com/watch?v=fg1Z0V33Er4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:56]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2017.html?goto=P3_Miss_Quoted Miss Quoted] || [https://chat.stackexchange.com/transcript/52405?m=62439770#62439770 Nov 25, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/3.apl 2017/3.apl] || [https://www.youtube.com/watch?v=Yx3xqiNo9NY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:04]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2017.html?goto=P4_Slices_of_Pies Slice(s) of Pie(s)] || [https://chat.stackexchange.com/transcript/52405?m=62483171#62483171 Dec 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/4.apl 2017/4.apl] || [https://www.youtube.com/watch?v=XLrh6HwUbP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2017.html?goto=P5_DNA DNA?] || [https://chat.stackexchange.com/transcript/message/62538000#62538000 Dec 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/5.apl 2017/5.apl] || [https://www.youtube.com/watch?v=s2XtJKB1Sks&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:54]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2017.html?goto=P6_k_mers k-mers] ||[https://chat.stackexchange.com/transcript/message/62581736#62581736 Dec 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/6.apl 2017/6.apl] || [https://www.youtube.com/watch?v=SYcEnkcV5q8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:54]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2017.html?goto=P7_Counting_DNA_Nucleotides Counting DNA Nucleotides] || [https://chat.stackexchange.com/transcript/message/62628046#62628046 Dec 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/7.apl 2017/7.apl] || [https://www.youtube.com/watch?v=0TJkzDIWAno&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:53]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2017.html?goto=P8_Be_the_First_1 Be the First 1] || [https://chat.stackexchange.com/transcript/52405?m=62667691#62667691 Dec 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/8.apl 2017/8.apl] || [https://www.youtube.com/watch?v=he6rpBP4hP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:10]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2017.html?goto=P9_Double_Trouble Double Trouble] || [https://chat.stackexchange.com/transcript/52405?m=62715050#62715050 Jan 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/9.apl 2017/9.apl] || [https://www.youtube.com/watch?v=t2RH0isi3Qg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:35]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2017.html?goto=P10_Squaring_Off Squaring Off] || [https://chat.stackexchange.com/transcript/52405?m=62764522#62764522 Jan 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/10.apl 2017/10.apl] || [https://www.youtube.com/watch?v=AOleoh2JlJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:38]<br />
|-<br />
|}<br />
:<span id=p2017>[[#2017|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8wDbpQmxKOGNKwrsCJSbz7 a single playlist].<br />
<br />
=== Problems from 2018 ===<br />
{|class=wikitable id=2018<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2018|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2018.html?goto=P1_Oh_Say_Can_You_See Oh Say Can You See] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Jan 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/1.apl 2018/1.apl] || [https://www.youtube.com/watch?v=YZBOKebM624&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2018.html?goto=P2_Number_Splitting Number Splitting] || [https://chat.stackexchange.com/transcript/message/62858667#62858667 Jan 27, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/2.apl 2018/2.apl] || [https://www.youtube.com/watch?v=Q4U3y-bhxGA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:16]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2018.html?goto=P3_Rolling_Along Rolling Along] || [https://chat.stackexchange.com/transcript/message/62907248#62907248 Feb 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/3.apl 2018/3.apl] || [https://www.youtube.com/watch?v=D6jWkFo00-E&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:03]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2018.html?goto=P4_Whats_Your_Sign Whats Your Sign] || [https://chat.stackexchange.com/transcript/52405?m=62957002#62957002 Feb 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/4.apl 2018/4.apl] || [https://www.youtube.com/watch?v=g82bRux0TJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:40]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2018.html?goto=P5_Whats_Your_Sign_Revisited Whats Your Sign Revisited] || [https://chat.stackexchange.com/transcript/52405?m=63010133#63010133 Feb 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/5.apl 2018/5.apl] || [https://www.youtube.com/watch?v=BtJ6Hey2PE4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:18]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2018.html?goto=P6_Whats_Your_Angle Whats Your Angle] || [https://chat.stackexchange.com/transcript/52405?m=63056863#63056863 Feb 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/6.apl 2018/6.apl] || [https://www.youtube.com/watch?v=3ivJvycE0Tk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:09]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2018.html?goto=P7_Unconditionally_Shifty Unconditionally Shifty] || [https://chat.stackexchange.com/transcript/52405?m=63108820#63108820 Mar 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/7.apl 2018/7.apl] || [https://www.youtube.com/watch?v=b3r4CY5kf9c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:45]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2018.html?goto=P8_Making_a_Good_Argument Making a Good Argument] || [https://chat.stackexchange.com/transcript/52405?m=63151714#63151714 Mar 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/8.apl 2018/8.apl] || [https://www.youtube.com/watch?v=F72metQNXAU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:41]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2018.html?goto=P9_Earlier_Later_or_the_Same Earlier Later or the Same] || [https://chat.stackexchange.com/transcript/52405?m=63197530#63197530 Mar 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/9.apl 2018/9.apl] || [https://www.youtube.com/watch?v=gPQpCa0ke0U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2018.html?goto=P10_Anagrammatically_Correct Anagrammatically Correct] || [https://chat.stackexchange.com/transcript/52405?m=63239751#63239751 Mar 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/10.apl 2018/10.apl] || [https://www.youtube.com/watch?v=3kRLlmZC62o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:12]<br />
|-<br />
|}<br />
:<span id=p2018>[[#2018|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8NxxMWk_WcDOjDoqz65bKh a single playlist].<br />
=== Problems from 2019 ===<br />
{|class=wikitable id=2019<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2019|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2019.html?goto=P1_Chunky_Monkey Chunky Monkey] || [https://chat.stackexchange.com/transcript/52405?m=63286611#63286611 Mar 31, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/1.apl 2019/1.apl] || [https://www.youtube.com/watch?v=9puw9PBMFP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:32]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2019.html?goto=P2_Making_the_Grade Making the Grade] || [https://chat.stackexchange.com/transcript/52405?m=63332288#63332288 Apr 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/2.apl 2019/2.apl] || [https://www.youtube.com/watch?v=1EaAau9x8MI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:27]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2019.html?goto=P3_Grade_Distribution Grade Distribution] || [https://chat.stackexchange.com/transcript/52405?m=63374600#63374600 Apr 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/3.apl 2019/3.apl] || [https://www.youtube.com/watch?v=uPMqIHcOfgE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2019.html?goto=P4_Knight_Moves Knight Moves] || [https://chat.stackexchange.com/transcript/52405?m=63423145#63423145 Apr 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/4.apl 2019/4.apl] || [https://www.youtube.com/watch?v=K40CsPxYohM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:37]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2019.html?goto=P5_Doubling_Up Doubling Up] || [https://chat.stackexchange.com/transcript/52405?m=63469882#63469882 Apr 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/5.apl 2019/5.apl] || [https://www.youtube.com/watch?v=c8XRnJeJ2AY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:01]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2019.html?goto=P6_Telephone_Names Telephone Names] || [https://chat.stackexchange.com/transcript/52405?m=63515042#63515042 May 5, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/6.apl 2019/6.apl] || [https://www.youtube.com/watch?v=mzyrnyV7Q_c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:23]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2019.html?goto=P7_In_the_Center_of_It_All In the Center of It All] || [https://chat.stackexchange.com/transcript/52405?m=63558554#63558554 May 12, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/7.apl 2019/7.apl] || [https://www.youtube.com/watch?v=Bhov522Jz7o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2019.html?goto=P8_Going_the_Distance Going the Distance] || [https://chat.stackexchange.com/transcript/52405?m=63609358#63609358 May 19, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/8.apl 2019/8.apl] || [https://www.youtube.com/watch?v=GNdp6rAZ2Is&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2019.html?goto=P9_Area_Code_a_la_Gauss Area Code à la Gauss] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 May 26, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/9.apl 2019/9.apl] || [https://www.youtube.com/watch?v=njZs8HV5Ra0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:57]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2019.html?goto=P10_Odd_and_Evens Odd and Evens] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 Jun 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/10.apl 2019/10.apl] || [https://www.youtube.com/watch?v=9hUTqexYZ0I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:33]<br />
|}<br />
:<span id=p2019>[[#2019|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-CZEC7r5v4SMd0RtgpoWPt a single playlist].<br />
<br />
=== Problems from 2020 ===<br />
{|class=wikitable id=2020<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2020|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2020.html?goto=P1_Lets_Split Let's Split] || [https://chat.stackexchange.com/transcript/52405?m=63767556#63767556 Jun 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/1.apl 2020/1.apl] || [https://www.youtube.com/watch?v=2grlocFykmI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:11]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2020.html?goto=P2_Characters Character Building] || [https://chat.stackexchange.com/transcript/52405?m=63803321#63803321 Jun 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/2.apl 2020/2.apl] || [https://www.youtube.com/watch?v=C5X6FlTNzX4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:05]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2020.html?goto=P3_Columns Excel-lent Columns] || [https://chat.stackexchange.com/transcript/52405?m=63835448#63835448 Jun 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/3.apl 2020/3.apl] || [https://www.youtube.com/watch?v=yg96DlrXUc4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:19]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2020.html?goto=P4_Take_a_Leap Take a Leap] || [https://chat.stackexchange.com/transcript/52405?m=63890718#63890718 Jun 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/4.apl 2020/4.apl] || [https://www.youtube.com/watch?v=hqyDUkSooCw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:04]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2020.html?goto=P5_Integer_Range Stepping in the Proper Direction] || [https://chat.stackexchange.com/transcript/message/63935087#63935087 Jul 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/5.apl 2020/5.apl] || [https://www.youtube.com/watch?v=SjCmDfWmhqk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:17]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2020.html?goto=P6_Move_To_Front Move to the Front] || [https://chat.stackexchange.com/transcript/52405?m=63980930#63980930 Jul 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/6.apl 2020/6.apl] || [https://www.youtube.com/watch?v=FfFzzmEo37Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:04]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2020.html?goto=P7_Bits See You in a Bit] || [https://chat.stackexchange.com/transcript/52405?m=64028252#64028252 Jul 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/7.apl 2020/7.apl] || [https://www.youtube.com/watch?v=xXweDCXIVSk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:02]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2020.html?goto=P8_Zigzag Zigzag Numbers] || [https://chat.stackexchange.com/transcript/52405?m=64081060#64081060 Jul 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/8.apl 2020/8.apl] || [https://www.youtube.com/watch?v=Q-8LAhe79zM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2020.html?goto=P9_Rise_and_Fall Rise and Fall] || [https://chat.stackexchange.com/transcript/52405?m=64125164#64125164 Aug 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/9.apl 2020/9.apl] || [https://www.youtube.com/watch?v=qypqissqN-c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:49]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2020.html?goto=P10_Stacking_It_Up Stacking It Up] || [https://chat.stackexchange.com/transcript/52405?m=64172099#64172099 Aug 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/10.apl 2020/10.apl] || [https://www.youtube.com/watch?v=LBelbuN1yRo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:09]<br />
|}<br />
:<span id=p2020>[[#2020|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8J80yMTag0_VDzxdPKjZ28 a single playlist].<br />
<br />
=== Problems from 2021 ===<br />
{|class=wikitable id=2021<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2021|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2021.html?goto=P1_Are_You_a_Bacteria Are You a Bacteria] || [https://chat.stackexchange.com/transcript/52405?m=64216596#64216596 Aug 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/1.apl 2021/1.apl] || [https://www.youtube.com/watch?v=6tkUO7Wc5Tg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2021.html?goto=P2_Index_Of_Modified Index Of Modified] || [https://chat.stackexchange.com/transcript/52405?m=64262014#64262014 Aug 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/2.apl 2021/2.apl] || [https://www.youtube.com/watch?v=r5VQ9wSBVTg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:36]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2021.html?goto=P3_Multiplicity Multiplicity] || [https://chat.stackexchange.com/transcript/52405?m=64315806#64315806 Sep 1, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/3.apl 2021/3.apl] || [https://www.youtube.com/watch?v=h9xqYCxiMJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2021.html?goto=P4_Square_Peg_Round_Hole Square Peg, Round Hole] || [https://chat.stackexchange.com/transcript/52405?m=64360617#64360617 Sep 8, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/4.apl 2021/4.apl] || [https://www.youtube.com/watch?v=h0RS-rEV3BM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:39]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2021.html?goto=P5_Rect_ify Rect-ify] || [https://chat.stackexchange.com/transcript/52405?m=64410899#64410899 Sep 15, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/5.apl 2021/5.apl] || [https://www.youtube.com/watch?v=demUjdV0EPk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:02]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2021.html?goto=P6_Fischer_Random_Chess Fischer Random Chess] || [https://chat.stackexchange.com/transcript/52405?m=64457542#64457542 Sep 22, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/6.apl 2021/6.apl] || [https://www.youtube.com/watch?v=UvlL1OyIJIw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:20]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2021.html?goto=P7_Can_You_Feel_the_Magic Can You Feel the Magic] || [https://chat.stackexchange.com/transcript/52405?m=64501098#64501098 Sep 29, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/7.apl 2021/7.apl] || [https://www.youtube.com/watch?v=j9MMQZXpTmM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:41]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2021.html?goto=P8_Time_to_Make_a_Difference Time to Make a Difference] || [https://chat.stackexchange.com/transcript/52405?m=64533505#64533505 Oct 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/8.apl 2021/8.apl] || [https://www.youtube.com/watch?v=hQFMjRPFioI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2021.html?goto=P9_In_the_Long_Run In the Long Run] || [https://chat.stackexchange.com/transcript/52405?m=64569242#64569242 Oct 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/9.apl 2021/9.apl] || [https://www.youtube.com/watch?v=kpTxXyWIgpc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:19]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2021.html?goto=P10_On_the_Right_Side On the Right Side] || [https://chat.stackexchange.com/transcript/52405?m=64604513#64604513 Oct 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/10.apl 2021/10.apl] || [https://www.youtube.com/watch?v=tClkG4ybunI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:25]<br />
|}<br />
:<span id=p2021>[[#2021|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-AtwCeUfeICfWufM133X4e a single playlist].<br />
<br />
=== Problems from 2022 ===<br />
{|class=wikitable id=2022<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2022|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2022.html?goto=P1_Counting_DNA Counting DNA Nucleotides?] || [https://chat.stackexchange.com/transcript/52405?m=64637385#64637385 Oct 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/1.apl 2022/1.apl] || [https://www.youtube.com/watch?v=xhZWd51rATE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2022.html?goto=P2_Mutations Attack of the Mutations!] || [https://chat.stackexchange.com/transcript/52405?m=64668644#64668644 Nov 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/2.apl 2022/2.apl] || [https://www.youtube.com/watch?v=Gy7i_EzrhFE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:07]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2022.html?goto=P3_XOR Uniquely Qualified] || [https://chat.stackexchange.com/transcript/52405?m=64700500#64700500 Nov 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/3.apl 2022/3.apl] || [https://www.youtube.com/watch?v=ZvjgB1aCEH4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:17]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2022.html?goto=P4_Longest_1_run In the Long One…] || [https://chat.stackexchange.com/transcript/52405?m=64729844#64729844 Nov 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/4.apl 2022/4.apl] || [https://www.youtube.com/watch?v=E5H_kV2UXxc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:08]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2022.html?goto=P5_Stairway Stairway to Heaven] || [https://chat.stackexchange.com/transcript/52405?m=64758788#64758788 Nov 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/5.apl 2022/5.apl] || [https://www.youtube.com/watch?v=JfULYgkDVgs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:09]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2022.html?goto=P6_Pyramid Pyramid Scheme] || [https://chat.stackexchange.com/transcript/52405?m=64793494#64793494 Dec 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/6.apl 2022/6.apl] || [https://www.youtube.com/watch?v=I-JBVOIMlPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:14]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2022.html?goto=P7_Golf_Scores Just Golfing Around] || [https://chat.stackexchange.com/transcript/52405?m=64828652#64828652 Dec 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/7.apl 2022/7.apl] || [https://www.youtube.com/watch?v=8SL6exHPQwk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:52]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2022.html?goto=P8_Split_on_first Let’s Split!] || [https://chat.stackexchange.com/transcript/52405?m=64863116#64863116 Dec 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/8.apl 2022/8.apl] || [https://www.youtube.com/watch?v=YMDClM03zyQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:08]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2022.html?goto=P9_Average An Average Window (or a Windowed Average)] || [https://chat.stackexchange.com/transcript/52405?m=64894638#64894638 Dec 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/9.apl 2022/9.apl] || [https://www.youtube.com/watch?v=RautPkG3A3Y&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2022.html?goto=P10_Separators Separation Anxiety] || [https://chat.stackexchange.com/transcript/52405?m=64917683#64917683 Dec 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/10.apl 2022/10.apl] || [https://www.youtube.com/watch?v=VWXqtokDgNQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:17]<br />
|}<br />
:<span id=p2022>[[#2022|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_tpJMwfH1tBXlpDSjEmkwh a single playlist].<br />
<br />
<br />
=== Problems from 2023 ===<br />
{|class=wikitable id=2023<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2023|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2023.html?goto=P1_Elimination_Sort Elimination Sort] || [https://chat.stackexchange.com/transcript/52405?m=64941297#64941297 Jan 5, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/1.apl 2023/1.apl] || [https://www.youtube.com/watch?v=LpUOaipgn7s&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:56]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2023.html?goto=P2_Put_It_In_Reverse Put It In Reverse] || [https://chat.stackexchange.com/transcript/52405?m=64977516#64977516 Jan 12, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/2.apl 2023/2.apl] || [https://www.youtube.com/watch?v=JnExPhse9iM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:58]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2023.html?goto=P3_Caesar_Salad Caesar Salad] || [https://chat.stackexchange.com/transcript/52405?m=65017769#65017769 Jan 19, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/3.apl 2023/3.apl] || [https://www.youtube.com/watch?v=Rg8OCEMlYGg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:56]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2023.html?goto=P4_Like_a_Version Like a Version] || [https://chat.stackexchange.com/transcript/52405?m=65059946#65059946 Jan 26, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/4.apl 2023/4.apl] || [https://www.youtube.com/watch?v=zOhxW-gRR4A&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:15]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2023.html?goto=P5_Risky_Business Risky Business] || [https://chat.stackexchange.com/transcript/52405?m=65101517#65101517 Feb 2, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/5.apl 2023/5.apl] || [https://www.youtube.com/watch?v=CvgRR1Ai94Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:24]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2023.html?goto=P6_Key_Value_Pairs Key Value Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65151113#65151113 Feb 9, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/6.apl 2023/6.apl] || [https://www.youtube.com/watch?v=svaJ0o9oyco&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:41]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2023.html?goto=P7_Lets_Be_Rational Lets Be Rational] || [https://chat.stackexchange.com/transcript/message/65193789#65193789 Feb 16, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/7.apl 2023/7.apl] || [https://www.youtube.com/watch?v=3J_IuXgDiq0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:03]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2023.html?goto=P8_Critical_Thinking Critical Thinking] || [https://chat.stackexchange.com/transcript/52405?m=65234344#65234344 Feb 23, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/8.apl 2023/8.apl] || [https://www.youtube.com/watch?v=yfLowDKvXUs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:22]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2023.html?goto=P9_Flipping_Pairs Flipping Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65274150#65274150 Mar 1, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/9.apl 2023/9.apl] || [https://www.youtube.com/watch?v=aIu4dJBDYg8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:47]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2023.html?goto=P10_Partition_with_a_Twist Partition with a Twist] || [https://chat.stackexchange.com/transcript/52405?m=65309996#65309996 Mar 8, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/10.apl 2023/10.apl] || [https://www.youtube.com/watch?v=cGkrLJ2tzcQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:17]<br />
|}<br />
:<span id=p2023>[[#2023|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN a single playlist].<br />
<br />
== References ==<br />
<references/><br />
{{APL community}}[[Category:Online sessions]][[Category:Web broadcasts]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Fonts&diff=11307
Fonts
2024-03-12T10:27:39Z
<p>Adám Brudzewsky: /* Changing font in Dyalog RIDE */</p>
<hr />
<div>With the prevalence of [[Unicode]], many systems render APL legibly out-of-the-box. However, for a uniform appearance, the font should be designed with APL in mind.<ref>Phil Chastney: ''[https://web.archive.org/web/20161005120746/http://www.chastney.com/~philip/SImPL/APL_fonts_are_different.pdf APL fonts are different]''<br />
</ref> This article lists some fonts that are suited for APL, and shows how to use them.<br />
== Monospace ==<br />
{|class=wikitable<br />
!Name<br>(website) !! Source<br>(download) !! Description !! Sample<br />
|-<br />
| [https://www.ibm.com/us-en/marketplace/apl2 APL2 Unicode] || [https://www.ibm.com/account/reg/us-en/signup?formid=urx-32206 IBM] || Straight from IBM typewriter terminals with oblique letters. ||<br />
[[File:APL2 Unicode.png|none]]<br />
|-<br />
|[https://abrudz.github.io/APL2741/ APL2741 Unicode]||[https://github.com/abrudz/APL2741/raw/main/APL2741%20Unicode.ttf GitHub]||Unicode version of APL2741 with more characters.||<br />
[[File:APL2741.png|none]]<br />
|-<br />
|[http://apl385.com/fonts/index.htm APL385 Unicode]||[http://apl385.com/fonts/apl385.zip Adrian Smith]||Inspired by Comic Sans Serif.||<br />
[[File:APL385 Unicode.png|none]]<br />
|-<br />
|[https://abrudz.github.io/APL386/ APL386 Unicode]||[https://github.com/abrudz/APL386/raw/master/APL386.ttf GitHub]||APL385 Unicode with fewer issues and more accented characters.||<br />
[[File:APL386 Unicode.png|none]]<br />
|-<br />
|[https://github.com/dzaima/BQN386 BQN386 Unicode]||[https://github.com/dzaima/BQN386/blob/master/BQN386.ttf?raw=true GitHub]||Re-hinted APL386 Unicode with harmonised glyphs and support for [[BQN]].||<br />
[[File:APL386 Unicode.png|none]]<br />
|-<br />
| [http://www.microapl.com/apl/learn_apl.html APLX Upright] || [http://www.microapl.co.uk/download/aplx_unicode.ttf MicroAPL] || A monospaced grotesque font, reminiscent of Akzidenz-Grotesk.||<br />
[[File:APLX Upright.png|none]]<br />
|-<br />
| [https://www.ibm.com/us-en/marketplace/apl2 Courier APL2 Unicode] || [https://www.ibm.com/account/reg/us-en/signup?formid=urx-32206 IBM] || The classic Courier typewriter font, extended with APL symbols.||<br />
[[File:Courier APL2 Unicode.png|none]]<br />
|-<br />
| [https://github.com/slavfox/Cozette Cozette] || [https://github.com/slavfox/Cozette/releases/download/v.1.20.0/CozetteVector.ttf GitHub] || A bitmap programming font optimized for coziness. (In Dyalog Windows IDE, works best in sizes divisble by 13) || [[File:Cozette.png|none]]<br />
|-<br />
|[https://mlochbaum.github.io/BQN/fonts.html DejaVu BQN Sans Mono]||[https://github.com/mlochbaum/BQN/blob/master/docs/DejaVuBQNSansMono.ttf?raw=true GitHub]||DejaVu Sans Mono with support for [[BQN]].||<br />
[[File:DejaVu Sans Mono.png|none]]<br />
|-<br />
|[https://dejavu-fonts.github.io/ DejaVu Sans Mono]||[https://github.com/senotrusov/dejavu-fonts-ttf/raw/master/ttf/DejaVuSansMono.ttf GitHub]||Wide range of characters with original look and feel of Vera.||<br />
[[File:DejaVu Sans Mono.png|none]]<br />
|-<br />
|[https://github.com/chrismwendt/bront DejaVu Sans Mono Bront]||[https://github.com/chrismwendt/bront/raw/master/DejaVuSansMono-Bront.ttf GitHub]|| DejaVu Sans Mono tweaked to be better geared for programming.||<br />
[[File:DejaVu Sans Mono Bront.png|none]]<br />
|-<br />
|[https://www.nerdfonts.com/ DejaVu Sans Mono Nerd]||[https://raw.githubusercontent.com/ryanoasis/nerd-fonts/v2.0.0/patched-fonts/DejaVuSansMono/Regular/complete/DejaVu%20Sans%20Mono%20Nerd%20Font%20Complete%20Mono.ttf AUR]|| DejaVu Sans Mono patched with a high number of extra glyphs.||[[File:DejaVu Sans Mono.png|none]]<br />
|-<br />
| [https://www.evertype.com/emono/ Everson Mono] || [https://www.evertype.com/emono/evermono-beta.zip Evertype] (shareware) || A simple font, quite legible at sizes as small as 4 points. || [[File:Everson Mono.png|none]]<br />
|-<br />
| [https://www.kreativekorp.com/software/fonts/fairfax.shtml Fairfax] || rowspan=2|[https://www.kreativekorp.com/swdownload/fonts/relaybm/fairfax.zip KreativeKorp] || Regular/Bold/Italic 6×12 bitmap font supporting many characters. || [[File:Fairfax.png|none]]<br />
|-<br />
| [https://www.kreativekorp.com/software/fonts/fairfax.shtml Fairfax Serif] || Serif 6×12 bitmap font supporting many characters. || [[File:Fairfax_Serif.png|none]]<br />
|-<br />
| [https://www.kreativekorp.com/software/fonts/fairfaxhd.shtml Fairfax HD] || [https://www.kreativekorp.com/swdownload/fonts/core/fairfaxhd.zip KreativeKorp] || Plotter-like font supporting many characters. || [[File:Fairfax HD.png|none]]<br />
|-<br />
| [https://github.com/Tortus-exe/FiraCode Fira Code APL] || [https://github.com/Tortus-exe/FiraCode/raw/master/FiraCodeAPL-Regular.otf Github] || A special version of the free monospaced font with programming ligatures which supports APL and BQN glyphs. ||<br />
[[File:Fira_Code_APL_Unbolded.png|none|500px]]<br />
|-<br />
| [https://github.com/rbanffy/3270font IBM 3270] || [https://github.com/rbanffy/3270font/releases/download/v2.2.1/3270_fonts_70de9c7.zip GitHub] || Modern version of a classic [[IBM]] terminal font. || [[File:IBM 3270.png|none|500px]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] Anonymous Pro Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss02-10.1.1.zip GitHub]||rowspan=7|A slender, highly customisable monospace sans-serif and slab-serif typeface inspired by Pragmata Pro, M+ and PF DIN Mono. This list includes seven ready-made versions, but it is easy to build one's own version too. When compiling, it is possible to configure character variants with <code>apl-form = 'enable'</code> to prioritise harmonising APL glyphs. ||[[File:Iosevka Anonymous Pro.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] Fira Mono Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss05-10.1.1.zip GitHub] || [[File:Iosevka Fira Mono.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] Pragmata Pro Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss08-10.1.1.zip GitHub] || [[File:Iosevka Pragmata Pro.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] Source Code Pro Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss09-10.1.1.zip GitHub] || [[File:Iosevka Source Code Pro.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] JetBrains Mono Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss14-10.1.1.zip GitHub] || [[File:Iosevka JetBrains Mono.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] IBM Plex Mono Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss15-10.1.1.zip GitHub] || [[File:Iosevka IBM Plex Mono.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] Recursive Mono Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss17-10.1.1.zip GitHub] || [[File:Iosevka Recursive Mono.png|none]]<br />
|-<br />
| [https://www.jetbrains.com/mono/ JetBrains Mono] || [https://download.jetbrains.com/fonts/JetBrainsMono-2.304.zip JetBrains] || Geometric font optimized for reading vertically. || [[File:JetBrains_Mono.png]]<br />
|-<br />
| [https://codeberg.org/Wezl/fonts poultreMono] || [https://codeberg.org/attachments/042040b4-ca97-4ffe-8401-540d4921e534 Codeberg] || A 5×9 pixel font. || [[File:PoultreMono.png|none]]<br />
|-<br />
| [https://www.fsd.it/shop/fonts/pragmatapro/ PragmataPro] || (commercial) || A condensed font optimized for coding, mathematics and engineering.||<br />
[[File:PragmataPro.png|none]]<br />
|-<br />
| [https://abrudz.github.io/SAX2/ SAX2] || [https://github.com/abrudz/SAX2/raw/master/SAX2.ttf GitHub]||Curly font with italic letters, based on Sharp APL for Unix.||<br />
[[File:SAX2.png|none]]<br />
|-<br />
|[http://archive.vector.org.uk/art10002160 SImPL] ||[http://archive.vector.org.uk/resource/simpl02.zip Vector]||Courier-based, but thicker.||<br />
[[File:SImPL.png|none]]<br />
|-<br />
|[https://unifoundry.com/unifont/index.html Unifont] || [https://unifoundry.com/pub/unifont/unifont-13.0.06/font-builds/unifont-13.0.06.ttf Unifoundry] || Low-resolution bitmap fall-back font || [[File:Unifont.png|none]]<br />
|}<br />
<br />
== Proportional ==<br />
{|class=wikitable<br />
!Name<br>(website) !! Source<br>(download) !! Description !! Sample<br />
|-<br />
|[http://apl385.com/fonts/index.htm APL333]|| [http://apl385.com/fonts/apl333.zip Adrian Smith] || Proportionally spaced version of APL385 Unicode||<br />
[[File:APL333.png|none]]<br />
|-<br />
| [https://en.wikipedia.org/wiki/Code2000 Code2000] || [https://www.fontspace.com/code2000-font-f13284 FontSpace] || Wedge-serif pan-Unicode font. || <br />
[[File:Code2000.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka Aile] || [https://github.com/be5invis/Iosevka/releases/download/v5.0.4/ttf-iosevka-aile-5.0.4.zip GitHub]|| Proportionally spaced version of Iosevka. ||<br />
[[File:Iosevka Aile.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka Etoile] || [https://github.com/be5invis/Iosevka/releases/download/v5.0.4/ttf-iosevka-fixed-ss02-5.0.4.zip GitHub]|| Proportionally spaced slab-serif version of Iosevka. ||<br />
[[File:Iosevka Etoile.png|none]]<br />
|-<br />
| [http://www.quivira-font.com/ Quivira] || [http://www.quivira-font.com/files/Quivira.otf Website] || Serif font supporting many symbols, similar to Garamond. || <br />
[[File:Quivira.png|none]]<br />
|-<br />
| [https://www.fonts.com/font/microsoft-corporation/segoe-ui-symbol Segoe UI Symbol] || (commercial) || Microsoft's humanist interface and corporate font. || [[File:Segoe UI Symbol.png|none]]<br />
|-<br />
|[https://www.stixfonts.org/ Stix Two Math]||[https://github.com/stipub/stixfonts/archive/v2.0.2.zip GitHub]|| Serif font, broadly compatible with Times New Roman.||<br />
[[File:Stix Two Math.png|none]]<br />
|-<br />
|[https://dn-works.com/ufas/ Symbola] || [https://dn-works.com/wp-content/uploads/2020/UFAS-Fonts/Symbola.zip UFAS] (free for personal non-commercial use only) || Supporting many scripts and symbols, similar to Computer Modern. || [[File:Screenshot 2021-03-19 Screenshot.png|none]]<br />
|}<br />
<br />
[[File:APLTypeBall.jpg|thumb|right|The APL typeball]]<br />
<br />
== Historical anecdote ==<br />
Using [[IBM]]'s [[APL\360]] required the use of the [[wikipedia:IBM_2741#APL\360|IBM 2741]] or [[wikipedia:IBM 1050|IBM 1050]] printing terminal with an APL [[wikipedia:type ball|type ball]]. The APL2741 font is based directly on this type ball.<br />
<br />
== Rendering APL on websites ==<br />
For APL code to be rendered well on a website, three conditions must be fulfilled:<br />
# The page has to use a proper encoding<br />
# The APL code has to be formatted with an appropriate APL font<br />
# The APL font has to be made available for those users that do not have it installed<br />
All these things can be achieved by inserting the following into the <syntaxhighlight lang=html inline><head></syntaxhighlight> element of the page.<br />
Replace font name and file name with values corresponding to the desired font:<br />
<syntaxhighlight lang=html><br />
<meta charset="UTF-8"><br />
<style><br />
@font-face {<br />
font-family: APL; <br />
src: local("APL385 Unicode"), url(Apl385.ttf)<br />
}<br />
pre, code {<br />
font-family: APL<br />
}<br />
</style><br />
</syntaxhighlight><br />
The <syntaxhighlight lang=shell inline>Apl385.ttf</syntaxhighlight> font file must be placed in the same directory as the HTML file, and all APL code must be wrapped in <syntaxhighlight lang=html inline><pre></syntaxhighlight> or <syntaxhighlight lang=html inline><code></syntaxhighlight> elements.<br />
== Bad rendering ==<br />
The [[wikipedia:Blink browser engine|Blink browser engine]] instructs the [[wikipedia:HarfBuzz|HarfBuzz]] text shaping engine to prefer fidelity in typeface over fidelity in glyph shape. As a consequence, text using a font that lacks the <syntaxhighlight lang=apl inline>≢</syntaxhighlight> glyph ([[Tally]], [[Not Match]]) often ends up looking like <syntaxhighlight lang=apl inline>≡/</syntaxhighlight> (Match reduction), causing great confusion. The issue affects diverse things like Android WebView, Chromium Embedded Framework, all [[wikipedia:Electron (softwareframework)|Electron]] apps, [[wikipedia:Qt software)|Qt software]]), as well as many popular web browsers, like Amazon Silk, Google Chrome, Microsoft Edge, Brave, Opera, Vivaldi, and the Yandex Browser.<br />
<br />
In browsers, it is possible to mitigate the problem by overriding the used font, either by configuring the browser to override all font specifications, or via a user style manager like [[wikipedia:Stylus (browser extension)|Stylus]] or [[wikipedia:Stylish|Stylish]], which gives more fine-grained control. <br />
<br />
Here are examples of appropriate user style rules for some common websites:<br />
<br />
{|class=wikitable<br />
! Domain !! Rule <br />
|-<br />
| chat.stackexchange.com || <syntaxhighlight lang=css inline>div.message pre,div.message code{font-family:"APL385 Unicode"}</syntaxhighlight><br />
|-<br />
| stackexchange.com || <syntaxhighlight lang=css inline>.s-prose code,.comment-copy code{font-family:"APL385 Unicode"}</syntaxhighlight><br />
|-<br />
| discord.com || <syntaxhighlight lang=css inline>code{font-family:"APL385 Unicode"!important}</syntaxhighlight><br />
|-<br />
| github.com || <syntaxhighlight lang=css inline>textarea,.cm-line,.blob-code-inner{font-family:"APL385 Unicode"}</syntaxhighlight><br />
|}<br />
<br />
== Changing font in Dyalog RIDE ==<br />
[[Dyalog Ltd]]'s cross-platform RIDE interface, which is the default GUI interface on all non-Windows platforms, did not expose a font setting until version 4.5. However, it is trivial to change font:<br />
* Open ride-base.css[[#loc|*]]<br />
* Find the line that says <syntaxhighlight lang=css inline>src: url('./fonts/Apl385.woff') format('woff'), url('./fonts/Apl385.ttf') format('truetype');</syntaxhighlight><br />
* Insert <syntaxhighlight lang=css inline>local('font name'),</syntaxhighlight> immediately after <syntaxhighlight lang=css inline>src:</syntaxhighlight>, for example <syntaxhighlight lang=css inline>src: local('SAX2'), url('./fonts/Apl385.woff') format('woff'), url('./fonts/Apl385.ttf') format('truetype');</syntaxhighlight><br />
* Restart RIDE<br />
<br />
<span id=loc>[[#Changing font in Dyalog RIDE|*]]</span> The full path to ride-base.css varies (examples for RIDE 4.4 and Dyalog 18.2):<br />
:* Stand-alone installation:<br />
:** Windows: %LOCALAPPDATA%\Programs\Dyalog\Ride-4.4\resources\app\style\ride-base.css<br />
:** Linux: /opt/ride-4.4/resources/app/style/ride-base.css<br />
:** macOS: /Applications/Ride-4.4.app/resources/app/style/ride-base.css<br />
:* Zero-footprint RIDE (served by the interpreter and normally accessed through a browser):<br />
:** Linux or AIX: /opt/mdyalog/18.2/64/unicode/Contents/Resources/Dyalog/RIDEapp/resources/app/style/ride-base.css<br />
:** macOS: /Applications/Dyalog-18.2.app/Contents/Resources/Dyalog/RIDEapp/resources/app/style/ride-base.css<br />
<br />
==Designing a font==<br />
Making a good APL font is no small task. Since many [[glyph]]s share sub-glyphs due to the history of [[overstrike|overstriking]], multiple dimensions of commonality needs to be aligned. The following table can help:<br />
{|class=wikitable<br />
!Class !! Glyphs<br />
|-<br />
| alphas || <code>⍺⍶@</code><br />
|-<br />
| arrows-down || <code>↓⍗⍖</code><br />
|-<br />
| arrows-left || <code>←⍇⍅</code><br />
|-<br />
| arrows-right || <code>→⍈⍆</code><br />
|-<br />
| arrows-up || <code>↑⍐⍏</code><br />
|-<br />
| asterisks || <code>*⍣⍟⋆</code><br />
|-<br />
| brackets || <code>[]⌈⌊⌷</code><br />
|-<br />
| circles || <code>○⍥⍟⌽⍉⊖⍜⊙⌾∅</code><br />
|-<br />
| colons || <code>:⍠÷⌹</code><br />
|-<br />
| commas || <code>,⍪;⍮</code><br />
|-<br />
| dashes || <code>-+÷⌹⌿⍀⍪⍏⍖⊢⊣</code><br />
|-<br />
| dels || <code>∇⍒⍫⍢</code><br />
|-<br />
| deltas || <code>∆⍙⍋⍍</code><br />
|-<br />
| diamonds || <code>⋄⌺⍚</code><br />
|-<br />
| diereses || <code>¨⍨⍥⍤⍣⍢⍡⍩∵</code><br />
|-<br />
| dots || <code>.:;?!⍰∵‼</code><br />
|-<br />
| epsilons || <code>∊⍷</code><br />
|-<br />
| equals || <code>=≠⌸⍯</code><br />
|-<br />
| iotas || <code>⍳⍸</code><br />
|-<br />
| jots || <code>∘⍤⍛⍝⍎⍕¤⌾⟃⟄</code><br />
|-<br />
| letters || <code>⍺⍶∆⍙∂∊⍷⍳⍸λπ⍴ϼχ⍵⍹∫</code><br />
|-<br />
| omegas || <code>⍵⍹</code><br />
|-<br />
| quads || <code>⎕⌸⌹⌺⌻⌼⍁⍂⍃⍄⍇⍈⍌⍍⍐⍓⍯⍰</code><br />
|-<br />
| quotes || <code>'!⍘⍞"‼</code><br />
|-<br />
| shoes-down || <code>∪⍦</code><br />
|-<br />
| shoes-left || <code>⊂⊆⍧⟃</code><br />
|-<br />
| shoes-right || <code>⊃⊇⟄</code><br />
|-<br />
| shoes-up || <code>∩⋔</code><br />
|-<br />
| slashes || <code>/⌿⍁%⫽</code><br />
|-<br />
| slashes-back || <code>\⍀⍉⍂⑊</code><br />
|-<br />
| stiles || <code><nowiki>|</nowiki>⌽⍒⍋∥⍭⍦⍧$</code><br />
|-<br />
| tacks-down || <code>⌶⊤⍕⍑⍡</code><br />
|-<br />
| tacks-up || <code>⌶⊥⍎⍊</code><br />
|-<br />
| tildes || <code>~⍬⍭⍱⍲</code><br />
|-<br />
| underscores || <code>_⍙⍷⍛⍸⊆⊇⍊⍜⍶⍹⍮⍚⍘ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ</code>*<br />
|-<br />
| wedges-down || <code>∨⍱⍌</code><br />
|-<br />
| wedges-left || <code><≤⍃ᑈ«</code><br />
|-<br />
| wedges-right || <code>>≥⍄⍩ᐵ»</code><br />
|-<br />
| wedges-up || <code>∧⍲⍓</code><br />
|-<br />
| miscellaneous || <code>➥∞√˝⇐</code><br />
|}<br />
:<nowiki>*</nowiki> [[Dyalog APL]] maps the traditional APL underscored alphabet to [[Unicode]]'s circled uppercase letters.<br />
<br />
== References ==<br />
<references/><br />
{{APL development}}[[Category:APL character set]][[Category:Lists]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL_Quest&diff=11306
APL Quest
2024-03-12T08:21:25Z
<p>Adám Brudzewsky: 'tis done!</p>
<hr />
<div>[[File:APL Quest frame.png|thumb|right|Still frame from a follow-up video.]]<br />
'''APL Quest''' is the title used for a series of live chat sessions held by [[Adám Brudzewsky]] with guest appearances by [[Richard Park]]. The sessions were on European Friday afternoons, from 4 February 2022 until 8 March 2024. Each session focused on one problem from Phase 1 of an [[APL Problem Solving Competition]], beginning with problem 1 from the 2013 round, and was followed up by publication of code<ref>Adám Brudzewsky. [https://github.com/abrudz/apl_quest/ apl_quest] code repository. GitHub.</ref> and a video that summarised solutions.<ref>Adám Brudzewsky. [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN APL Quest] playlist. YouTube.</ref><br />
<br />
== Sessions ==<br />
=== Problems from 2013 ===<br />
{|class=wikitable id=2013<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2013|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2013.html?goto=P1_Seems_a_Bit_Odd_To_Me Seems a Bit Odd To Me] || [https://chat.stackexchange.com/transcript/52405?m=60343161#60343161 Feb 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/1.apl 2013/1.apl] || [https://www.youtube.com/watch?v=Mj4wyLKrBho&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2013.html?goto=P2_Making_The_Grade Making The Grade] || [https://chat.stackexchange.com/transcript/52405?m=60402180#60402180 Feb 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/2.apl 2013/2.apl] || [https://www.youtube.com/watch?v=pxo2BtoMxP4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:03]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2013.html?goto=P3_What_Is_In_a_Word What Is In a Word] || [https://chat.stackexchange.com/transcript/message/60462122#60462122 Feb 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/3.apl 2013/3.apl] || [https://www.youtube.com/watch?v=MgkM2qCPWas&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:18]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2013.html?goto=P4_Keeping_Things_In_Balance Keeping Things In Balance] || [https://chat.stackexchange.com/transcript/52405?m=60517971#60517971 Feb 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/4.apl 2013/4.apl] || [https://www.youtube.com/watch?v=El0_RB4TTPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:34:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2013.html?goto=P5_Identity_Crisis Identity Crisis] || [https://chat.stackexchange.com/transcript/52405?m=60573163#60573163 Mar 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/5.apl 2013/5.apl] || [https://www.youtube.com/watch?v=vVaZ3wEdmpQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:25:05]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2013.html?goto=P6_Home_On_The_Range Home On The Range] || [https://chat.stackexchange.com/transcript/52405?m=60624938#60624938 Mar 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/6.apl 2013/6.apl] || [https://www.youtube.com/watch?v=36HlHsEjUIQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:48]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2013.html?goto=P7_Float_Your_Boat Float Your Boat] || [https://chat.stackexchange.com/transcript/52405?m=60678893#60678893 Mar 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/7.apl 2013/7.apl] || [https://www.youtube.com/watch?v=w5LvImFVi2M&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:22:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2013.html?goto=P8_Go_Forth_And_Multiply Go Forth And Multiply] || [https://chat.stackexchange.com/transcript/52405?m=60733991#60733991 Mar 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/8.apl 2013/8.apl] || [https://www.youtube.com/watch?v=O_l-nJYmDrs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:42]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2013.html?goto=P9_It_Is_a_Moving_Experience It Is a Moving Experience] || [https://chat.stackexchange.com/transcript/52405?m=60790499#60790499 Apr 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/9.apl 2013/9.apl] || [https://www.youtube.com/watch?v=txZiCW12lTE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:12]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2013.html?goto=P10_Solution_Salvation Solution Salvation] || [https://chat.stackexchange.com/transcript/52405?m=60845175#60845175 Apr 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/10.apl 2013/10.apl] || [https://www.youtube.com/watch?v=w-rzx2VNqbY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:01]<br />
|}<br />
:<span id=p2013>[[#2013|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_M0SIpfU8eBWSYXE-GD86g a single playlist].<br />
<br />
=== Problems from 2014 ===<br />
{|class=wikitable id=2014<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2014|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2014.html?goto=P1_It_Is_All_Right It Is All Right] || [https://chat.stackexchange.com/transcript/52405?m=60900017#60900017 Apr 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/1.apl 2014/1.apl] || [https://www.youtube.com/watch?v=0SeHAg0q30w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:18:13]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2014.html?goto=P2_How_Tweet_It_Is How Tweet It Is] || [https://chat.stackexchange.com/transcript/52405?m=60949514#60949514 Apr 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/2.apl] || [https://www.youtube.com/watch?v=3X3l76njwfs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:29:50]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2014.html?goto=P3_Tell_a_Fib Tell a Fib] || [https://chat.stackexchange.com/transcript/52405?m=61008731#61008731 Apr 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/3.apl] || [https://www.youtube.com/watch?v=7J4hJmgWlJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:30:45]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2014.html?goto=P4_Space_The_Final_Frontier Space The Final Frontier] || [https://chat.stackexchange.com/transcript/52405?m=61062129#61062129 May 6, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/4.apl 2014/4.apl] || [https://www.youtube.com/watch?v=aqfhItFpO2I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:52:55]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2014.html?goto=P5_Mirror_Mirror Mirror Mirror] || [https://chat.stackexchange.com/transcript/52405?m=61119677#61119677 May 13, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/5.apl 2014/5.apl] || [https://www.youtube.com/watch?v=cPzQr2aJ7e4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:31]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2014.html?goto=P6_Roll_The_Dice Roll The Dice] || [https://chat.stackexchange.com/transcript/52405?m=61177683#61177683 May 20, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/6.apl 2014/6.apl] || [https://www.youtube.com/watch?v=HwEmjnPpMqY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:55]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2014.html?goto=P7_Revolutionary_Thinking Revolutionary Thinking] || [https://chat.stackexchange.com/transcript/52405?m=61231677#61231677 May 27, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/7.apl 2014/7.apl] || [https://www.youtube.com/watch?v=aiEOXOy56iw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2014.html?goto=P8_Go_The_Distance Go The Distance] || [https://chat.stackexchange.com/transcript/52405/2022/6/3 Jun 3, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/8.apl 2014/8.apl] || [https://www.youtube.com/watch?v=OEChBu1p98w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:59]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2014.html?goto=P9_Going_Ballistic Going Ballistic] || [https://chat.stackexchange.com/transcript/52405?m=61327875#61327875 Jun 10, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/9.apl 2014/9.apl]|| [https://www.youtube.com/watch?v=jhrTBWvVahI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:27]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2014.html?goto=P10_Sales_Are_Up Sales Are Up] || [https://chat.stackexchange.com/transcript/52405?m=61385753#61385753 Jun 17, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2014 2014/10.apl] || [https://www.youtube.com/watch?v=JvvaNQ0DO4Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:59]<br />
|}<br />
:<span id=p2014>[[#2014|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj--yAmV2yUe73O5ntiqF4Xp a single playlist].<br />
<br />
=== Problems from 2015 ===<br />
{|class=wikitable id=2015<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2015|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2015.html?goto=P1_Nag_A_Ram Nag A Ram] || [https://chat.stackexchange.com/transcript/52405?m=61439442#61439442 Jun 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2015/1.apl 2015/1.apl] || [https://www.youtube.com/watch?v=nmUQ9cSQajY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:22]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2015.html?goto=P2_Longest_Streak Longest Streak] || [https://chat.stackexchange.com/transcript/52405?m=61492634#61492634 Jul 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/2.apl] || [https://www.youtube.com/watch?v=fXl5_cJFw34&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:49]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2015.html?goto=P3_Farey_Tale Farey Tale] || [https://chat.stackexchange.com/transcript/52405?m=61541307#61541307 Jul 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/3.apl] || [https://www.youtube.com/watch?v=7bLqOYg5DZk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:31:35]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2015.html?goto=P4_PDI_Progressive_Dyadic_Iota PDI - Progressive Dyadic Iota] || [https://chat.stackexchange.com/transcript/52405?m=61590333#61590333 Jul 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/4.apl 2015/4.apl] || [https://www.youtube.com/watch?v=FGzpsUK5WF4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:35:10]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2015.html?goto=P5_Hes_so_mean_he_has_no_standard_deviation He’s so mean, he has no standard deviation] || [https://chat.stackexchange.com/transcript/message/61644417#61644417 Jul 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/5.apl 2015/5.apl] || [https://www.youtube.com/watch?v=9_RPmL2Szkk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:47]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2015.html?goto=P6_Hey_This_is_My_Space Hey! This is My Space] || [https://chat.stackexchange.com/transcript/message/61688071#61688071 Jul 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/6.apl 2015/6.apl] || [https://www.youtube.com/watch?v=Ya832W9iBC4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:00]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2015.html?goto=P7_Just_In_Upper_Case Just in (Upper) Case] || [https://chat.stackexchange.com/transcript/52405?m=61731271#61731271 Aug 5, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/7.apl 2015/7.apl] || [https://www.youtube.com/watch?v=syzyAQc11M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2015.html?goto=P8_Unlucky_13 Unlucky 13] || [https://chat.stackexchange.com/transcript/52405?m=61776938#61776938 Aug 12, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/8.apl 2015/8.apl] || [https://www.youtube.com/watch?v=2VSUnKEu5m8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2015.html?goto=P9_Id_Like_Mine_Scrambled_Please I’d Like Mine Scrambled Please] || [https://chat.stackexchange.com/transcript/52405?m=61822639#61822639 Aug 19, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/9.apl 2015/9.apl] || [https://www.youtube.com/watch?v=jptaYjzi_mE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:31]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2015.html?goto=P10_Blaiseing_a_Trail Blaise’ing a Trail] || [https://chat.stackexchange.com/transcript/52405?m=61871003#61871003 Aug 26, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/10.apl 2015/10.apl] || [https://www.youtube.com/watch?v=j0prKDZtBWQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:46]<br />
|}<br />
:<span id=p2015>[[#2015|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8D5G7jIkBPCsuu_9AbyHxE a single playlist].<br />
<br />
=== Problems from 2016 ===<br />
{|class=wikitable id=2016<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2016|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2016.html?goto=P1_Statistics_Mean Statistics - Mean] || [https://chat.stackexchange.com/transcript/52405?m=61919109#61919109 Sep 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/1.apl 2016/1.apl] || [https://www.youtube.com/watch?v=pZA3NFdh7M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2016.html?goto=P2_Statistics_Median Statistics - Median] || [https://chat.stackexchange.com/transcript/52405?m=61968437#61968437 Sep, 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/2.apl 2016/2.apl] || [https://www.youtube.com/watch?v=oBkCJfi_OEU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:22]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2016.html?goto=P3_Statistics_Mode Statistics - Mode] || [https://chat.stackexchange.com/transcript/52405?m=62016595#62016595 Sep, 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/3.apl 2016/3.apl] || [https://www.youtube.com/watch?v=iJsh_0wD2us&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:26:36]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2016.html?goto=P4_Just_Meshing_Around Just Meshing Around] || [https://chat.stackexchange.com/transcript/52405?m=62063400#62063400 Sep, 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/4.apl 2016/4.apl] || [https://www.youtube.com/watch?v=59eKagcVoO4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:07]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2016.html?goto=P5_Youre_Unique_Just_Like_Everyone_Else You’re Unique, Just Like Everyone Else] || [https://chat.stackexchange.com/transcript/52405?m=62107645#62107645 Sep, 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/5.apl 2016/5.apl] || [https://www.youtube.com/watch?v=zFSFcIskU4U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:36]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2016.html?goto=P6_Shorter_Ones_to_the_Front Shorter Ones to the Front] || [https://chat.stackexchange.com/transcript/52405?m=62151647#62151647 Oct, 7, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/6.apl 2016/6.apl] || [https://www.youtube.com/watch?v=ZmVuGl6-DJk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:19]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2016.html?goto=P7_3s_and_5s 3s and 5s] || [https://chat.stackexchange.com/transcript/52405?m=62198343#62198343 Oct, 14, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/7.apl 2016/7.apl] || [https://www.youtube.com/watch?v=s1qIJ1LRfaQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:28]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2016.html?goto=P8_Separating_Out_the_Negative Separating Out the Negative] || [https://chat.stackexchange.com/transcript/52405?m=62233525#62233525 Oct, 21, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/8.apl 2016/8.apl] || [https://www.youtube.com/watch?v=ZSEJkNrEdOQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:16]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2016.html?goto=P9_Delimited_Text Delimited Text] || [https://chat.stackexchange.com/transcript/52405?m=62273399#62273399 Oct, 28, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/9.apl 2016/9.apl] || [https://www.youtube.com/watch?v=5_ArihWDSlM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:51]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2016.html?goto=P10_Order_Total_Dot_Product Order Total] || [https://chat.stackexchange.com/transcript/52405?m=62313927#62313927 Nov, 4, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/10.apl 2016/10.apl] || [https://www.youtube.com/watch?v=5rfCeT_lPk8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:43]<br />
|}<br />
:<span id=p2016>[[#2016|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9zSwnh4K28nCApruWA1j_m a single playlist].<br />
<br />
=== Problems from 2017 ===<br />
{|class=wikitable id=2017<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2017|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2017.html?goto=P1_What_an_Odd_Bunch What an Odd Bunch] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Nov 11, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/1.apl 2017/1.apl] || [https://www.youtube.com/watch?v=afiMn3ACT1U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2017.html?goto=P2_Good_Evening Good Evening] || [https://chat.stackexchange.com/transcript/52405?m=62397727#62397727 Nov 18, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/2.apl 2017/2.apl] || [https://www.youtube.com/watch?v=fg1Z0V33Er4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:56]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2017.html?goto=P3_Miss_Quoted Miss Quoted] || [https://chat.stackexchange.com/transcript/52405?m=62439770#62439770 Nov 25, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/3.apl 2017/3.apl] || [https://www.youtube.com/watch?v=Yx3xqiNo9NY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:04]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2017.html?goto=P4_Slices_of_Pies Slice(s) of Pie(s)] || [https://chat.stackexchange.com/transcript/52405?m=62483171#62483171 Dec 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/4.apl 2017/4.apl] || [https://www.youtube.com/watch?v=XLrh6HwUbP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2017.html?goto=P5_DNA DNA?] || [https://chat.stackexchange.com/transcript/message/62538000#62538000 Dec 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/5.apl 2017/5.apl] || [https://www.youtube.com/watch?v=s2XtJKB1Sks&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:54]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2017.html?goto=P6_k_mers k-mers] ||[https://chat.stackexchange.com/transcript/message/62581736#62581736 Dec 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/6.apl 2017/6.apl] || [https://www.youtube.com/watch?v=SYcEnkcV5q8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:54]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2017.html?goto=P7_Counting_DNA_Nucleotides Counting DNA Nucleotides] || [https://chat.stackexchange.com/transcript/message/62628046#62628046 Dec 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/7.apl 2017/7.apl] || [https://www.youtube.com/watch?v=0TJkzDIWAno&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:53]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2017.html?goto=P8_Be_the_First_1 Be the First 1] || [https://chat.stackexchange.com/transcript/52405?m=62667691#62667691 Dec 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/8.apl 2017/8.apl] || [https://www.youtube.com/watch?v=he6rpBP4hP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:10]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2017.html?goto=P9_Double_Trouble Double Trouble] || [https://chat.stackexchange.com/transcript/52405?m=62715050#62715050 Jan 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/9.apl 2017/9.apl] || [https://www.youtube.com/watch?v=t2RH0isi3Qg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:35]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2017.html?goto=P10_Squaring_Off Squaring Off] || [https://chat.stackexchange.com/transcript/52405?m=62764522#62764522 Jan 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/10.apl 2017/10.apl] || [https://www.youtube.com/watch?v=AOleoh2JlJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:38]<br />
|-<br />
|}<br />
:<span id=p2017>[[#2017|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8wDbpQmxKOGNKwrsCJSbz7 a single playlist].<br />
<br />
=== Problems from 2018 ===<br />
{|class=wikitable id=2018<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2018|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2018.html?goto=P1_Oh_Say_Can_You_See Oh Say Can You See] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Jan 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/1.apl 2018/1.apl] || [https://www.youtube.com/watch?v=YZBOKebM624&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2018.html?goto=P2_Number_Splitting Number Splitting] || [https://chat.stackexchange.com/transcript/message/62858667#62858667 Jan 27, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/2.apl 2018/2.apl] || [https://www.youtube.com/watch?v=Q4U3y-bhxGA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:16]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2018.html?goto=P3_Rolling_Along Rolling Along] || [https://chat.stackexchange.com/transcript/message/62907248#62907248 Feb 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/3.apl 2018/3.apl] || [https://www.youtube.com/watch?v=D6jWkFo00-E&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:03]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2018.html?goto=P4_Whats_Your_Sign Whats Your Sign] || [https://chat.stackexchange.com/transcript/52405?m=62957002#62957002 Feb 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/4.apl 2018/4.apl] || [https://www.youtube.com/watch?v=g82bRux0TJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:40]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2018.html?goto=P5_Whats_Your_Sign_Revisited Whats Your Sign Revisited] || [https://chat.stackexchange.com/transcript/52405?m=63010133#63010133 Feb 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/5.apl 2018/5.apl] || [https://www.youtube.com/watch?v=BtJ6Hey2PE4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:18]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2018.html?goto=P6_Whats_Your_Angle Whats Your Angle] || [https://chat.stackexchange.com/transcript/52405?m=63056863#63056863 Feb 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/6.apl 2018/6.apl] || [https://www.youtube.com/watch?v=3ivJvycE0Tk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:09]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2018.html?goto=P7_Unconditionally_Shifty Unconditionally Shifty] || [https://chat.stackexchange.com/transcript/52405?m=63108820#63108820 Mar 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/7.apl 2018/7.apl] || [https://www.youtube.com/watch?v=b3r4CY5kf9c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:45]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2018.html?goto=P8_Making_a_Good_Argument Making a Good Argument] || [https://chat.stackexchange.com/transcript/52405?m=63151714#63151714 Mar 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/8.apl 2018/8.apl] || [https://www.youtube.com/watch?v=F72metQNXAU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:41]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2018.html?goto=P9_Earlier_Later_or_the_Same Earlier Later or the Same] || [https://chat.stackexchange.com/transcript/52405?m=63197530#63197530 Mar 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/9.apl 2018/9.apl] || [https://www.youtube.com/watch?v=gPQpCa0ke0U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2018.html?goto=P10_Anagrammatically_Correct Anagrammatically Correct] || [https://chat.stackexchange.com/transcript/52405?m=63239751#63239751 Mar 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/10.apl 2018/10.apl] || [https://www.youtube.com/watch?v=3kRLlmZC62o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:12]<br />
|-<br />
|}<br />
:<span id=p2018>[[#2018|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8NxxMWk_WcDOjDoqz65bKh a single playlist].<br />
=== Problems from 2019 ===<br />
{|class=wikitable id=2019<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2019|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2019.html?goto=P1_Chunky_Monkey Chunky Monkey] || [https://chat.stackexchange.com/transcript/52405?m=63286611#63286611 Mar 31, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/1.apl 2019/1.apl] || [https://www.youtube.com/watch?v=9puw9PBMFP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:32]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2019.html?goto=P2_Making_the_Grade Making the Grade] || [https://chat.stackexchange.com/transcript/52405?m=63332288#63332288 Apr 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/2.apl 2019/2.apl] || [https://www.youtube.com/watch?v=1EaAau9x8MI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:27]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2019.html?goto=P3_Grade_Distribution Grade Distribution] || [https://chat.stackexchange.com/transcript/52405?m=63374600#63374600 Apr 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/3.apl 2019/3.apl] || [https://www.youtube.com/watch?v=uPMqIHcOfgE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2019.html?goto=P4_Knight_Moves Knight Moves] || [https://chat.stackexchange.com/transcript/52405?m=63423145#63423145 Apr 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/4.apl 2019/4.apl] || [https://www.youtube.com/watch?v=K40CsPxYohM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:37]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2019.html?goto=P5_Doubling_Up Doubling Up] || [https://chat.stackexchange.com/transcript/52405?m=63469882#63469882 Apr 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/5.apl 2019/5.apl] || [https://www.youtube.com/watch?v=c8XRnJeJ2AY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:01]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2019.html?goto=P6_Telephone_Names Telephone Names] || [https://chat.stackexchange.com/transcript/52405?m=63515042#63515042 May 5, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/6.apl 2019/6.apl] || [https://www.youtube.com/watch?v=mzyrnyV7Q_c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:23]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2019.html?goto=P7_In_the_Center_of_It_All In the Center of It All] || [https://chat.stackexchange.com/transcript/52405?m=63558554#63558554 May 12, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/7.apl 2019/7.apl] || [https://www.youtube.com/watch?v=Bhov522Jz7o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2019.html?goto=P8_Going_the_Distance Going the Distance] || [https://chat.stackexchange.com/transcript/52405?m=63609358#63609358 May 19, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/8.apl 2019/8.apl] || [https://www.youtube.com/watch?v=GNdp6rAZ2Is&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2019.html?goto=P9_Area_Code_a_la_Gauss Area Code à la Gauss] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 May 26, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/9.apl 2019/9.apl] || [https://www.youtube.com/watch?v=njZs8HV5Ra0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:57]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2019.html?goto=P10_Odd_and_Evens Odd and Evens] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 Jun 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/10.apl 2019/10.apl] || [https://www.youtube.com/watch?v=9hUTqexYZ0I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:33]<br />
|}<br />
:<span id=p2019>[[#2019|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-CZEC7r5v4SMd0RtgpoWPt a single playlist].<br />
<br />
=== Problems from 2020 ===<br />
{|class=wikitable id=2020<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2020|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2020.html?goto=P1_Lets_Split Let's Split] || [https://chat.stackexchange.com/transcript/52405?m=63767556#63767556 Jun 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/1.apl 2020/1.apl] || [https://www.youtube.com/watch?v=2grlocFykmI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:11]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2020.html?goto=P2_Characters Character Building] || [https://chat.stackexchange.com/transcript/52405?m=63803321#63803321 Jun 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/2.apl 2020/2.apl] || [https://www.youtube.com/watch?v=C5X6FlTNzX4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:05]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2020.html?goto=P3_Columns Excel-lent Columns] || [https://chat.stackexchange.com/transcript/52405?m=63835448#63835448 Jun 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/3.apl 2020/3.apl] || [https://www.youtube.com/watch?v=yg96DlrXUc4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:19]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2020.html?goto=P4_Take_a_Leap Take a Leap] || [https://chat.stackexchange.com/transcript/52405?m=63890718#63890718 Jun 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/4.apl 2020/4.apl] || [https://www.youtube.com/watch?v=hqyDUkSooCw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:04]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2020.html?goto=P5_Integer_Range Stepping in the Proper Direction] || [https://chat.stackexchange.com/transcript/message/63935087#63935087 Jul 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/5.apl 2020/5.apl] || [https://www.youtube.com/watch?v=SjCmDfWmhqk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:17]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2020.html?goto=P6_Move_To_Front Move to the Front] || [https://chat.stackexchange.com/transcript/52405?m=63980930#63980930 Jul 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/6.apl 2020/6.apl] || [https://www.youtube.com/watch?v=FfFzzmEo37Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:04]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2020.html?goto=P7_Bits See You in a Bit] || [https://chat.stackexchange.com/transcript/52405?m=64028252#64028252 Jul 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/7.apl 2020/7.apl] || [https://www.youtube.com/watch?v=xXweDCXIVSk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:02]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2020.html?goto=P8_Zigzag Zigzag Numbers] || [https://chat.stackexchange.com/transcript/52405?m=64081060#64081060 Jul 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/8.apl 2020/8.apl] || [https://www.youtube.com/watch?v=Q-8LAhe79zM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2020.html?goto=P9_Rise_and_Fall Rise and Fall] || [https://chat.stackexchange.com/transcript/52405?m=64125164#64125164 Aug 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/9.apl 2020/9.apl] || [https://www.youtube.com/watch?v=qypqissqN-c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:49]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2020.html?goto=P10_Stacking_It_Up Stacking It Up] || [https://chat.stackexchange.com/transcript/52405?m=64172099#64172099 Aug 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/10.apl 2020/10.apl] || [https://www.youtube.com/watch?v=LBelbuN1yRo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:09]<br />
|}<br />
:<span id=p2020>[[#2020|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8J80yMTag0_VDzxdPKjZ28 a single playlist].<br />
<br />
=== Problems from 2021 ===<br />
{|class=wikitable id=2021<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2021|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2021.html?goto=P1_Are_You_a_Bacteria Are You a Bacteria] || [https://chat.stackexchange.com/transcript/52405?m=64216596#64216596 Aug 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/1.apl 2021/1.apl] || [https://www.youtube.com/watch?v=6tkUO7Wc5Tg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2021.html?goto=P2_Index_Of_Modified Index Of Modified] || [https://chat.stackexchange.com/transcript/52405?m=64262014#64262014 Aug 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/2.apl 2021/2.apl] || [https://www.youtube.com/watch?v=r5VQ9wSBVTg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:36]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2021.html?goto=P3_Multiplicity Multiplicity] || [https://chat.stackexchange.com/transcript/52405?m=64315806#64315806 Sep 1, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/3.apl 2021/3.apl] || [https://www.youtube.com/watch?v=h9xqYCxiMJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2021.html?goto=P4_Square_Peg_Round_Hole Square Peg, Round Hole] || [https://chat.stackexchange.com/transcript/52405?m=64360617#64360617 Sep 8, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/4.apl 2021/4.apl] || [https://www.youtube.com/watch?v=h0RS-rEV3BM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:39]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2021.html?goto=P5_Rect_ify Rect-ify] || [https://chat.stackexchange.com/transcript/52405?m=64410899#64410899 Sep 15, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/5.apl 2021/5.apl] || [https://www.youtube.com/watch?v=demUjdV0EPk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:02]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2021.html?goto=P6_Fischer_Random_Chess Fischer Random Chess] || [https://chat.stackexchange.com/transcript/52405?m=64457542#64457542 Sep 22, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/6.apl 2021/6.apl] || [https://www.youtube.com/watch?v=UvlL1OyIJIw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:20]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2021.html?goto=P7_Can_You_Feel_the_Magic Can You Feel the Magic] || [https://chat.stackexchange.com/transcript/52405?m=64501098#64501098 Sep 29, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/7.apl 2021/7.apl] || [https://www.youtube.com/watch?v=j9MMQZXpTmM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:41]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2021.html?goto=P8_Time_to_Make_a_Difference Time to Make a Difference] || [https://chat.stackexchange.com/transcript/52405?m=64533505#64533505 Oct 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/8.apl 2021/8.apl] || [https://www.youtube.com/watch?v=hQFMjRPFioI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2021.html?goto=P9_In_the_Long_Run In the Long Run] || [https://chat.stackexchange.com/transcript/52405?m=64569242#64569242 Oct 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/9.apl 2021/9.apl] || [https://www.youtube.com/watch?v=kpTxXyWIgpc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:19]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2021.html?goto=P10_On_the_Right_Side On the Right Side] || [https://chat.stackexchange.com/transcript/52405?m=64604513#64604513 Oct 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/10.apl 2021/10.apl] || [https://www.youtube.com/watch?v=tClkG4ybunI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:25]<br />
|}<br />
:<span id=p2021>[[#2021|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-AtwCeUfeICfWufM133X4e a single playlist].<br />
<br />
=== Problems from 2022 ===<br />
{|class=wikitable id=2022<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2022|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2022.html?goto=P1_Counting_DNA Counting DNA Nucleotides?] || [https://chat.stackexchange.com/transcript/52405?m=64637385#64637385 Oct 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/1.apl 2022/1.apl] || [https://www.youtube.com/watch?v=xhZWd51rATE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2022.html?goto=P2_Mutations Attack of the Mutations!] || [https://chat.stackexchange.com/transcript/52405?m=64668644#64668644 Nov 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/2.apl 2022/2.apl] || [https://www.youtube.com/watch?v=Gy7i_EzrhFE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:07]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2022.html?goto=P3_XOR Uniquely Qualified] || [https://chat.stackexchange.com/transcript/52405?m=64700500#64700500 Nov 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/3.apl 2022/3.apl] || [https://www.youtube.com/watch?v=ZvjgB1aCEH4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:17]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2022.html?goto=P4_Longest_1_run In the Long One…] || [https://chat.stackexchange.com/transcript/52405?m=64729844#64729844 Nov 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/4.apl 2022/4.apl] || [https://www.youtube.com/watch?v=E5H_kV2UXxc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:08]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2022.html?goto=P5_Stairway Stairway to Heaven] || [https://chat.stackexchange.com/transcript/52405?m=64758788#64758788 Nov 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/5.apl 2022/5.apl] || [https://www.youtube.com/watch?v=JfULYgkDVgs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:09]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2022.html?goto=P6_Pyramid Pyramid Scheme] || [https://chat.stackexchange.com/transcript/52405?m=64793494#64793494 Dec 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/6.apl 2022/6.apl] || [https://www.youtube.com/watch?v=I-JBVOIMlPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:14]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2022.html?goto=P7_Golf_Scores Just Golfing Around] || [https://chat.stackexchange.com/transcript/52405?m=64828652#64828652 Dec 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/7.apl 2022/7.apl] || [https://www.youtube.com/watch?v=8SL6exHPQwk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:52]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2022.html?goto=P8_Split_on_first Let’s Split!] || [https://chat.stackexchange.com/transcript/52405?m=64863116#64863116 Dec 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/8.apl 2022/8.apl] || [https://www.youtube.com/watch?v=YMDClM03zyQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:08]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2022.html?goto=P9_Average An Average Window (or a Windowed Average)] || [https://chat.stackexchange.com/transcript/52405?m=64894638#64894638 Dec 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/9.apl 2022/9.apl] || [https://www.youtube.com/watch?v=RautPkG3A3Y&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2022.html?goto=P10_Separators Separation Anxiety] || [https://chat.stackexchange.com/transcript/52405?m=64917683#64917683 Dec 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/10.apl 2022/10.apl] || [https://www.youtube.com/watch?v=VWXqtokDgNQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:17]<br />
|}<br />
:<span id=p2022>[[#2022|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_tpJMwfH1tBXlpDSjEmkwh a single playlist].<br />
<br />
<br />
=== Problems from 2023 ===<br />
{|class=wikitable id=2023<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2023|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2023.html?goto=P1_Elimination_Sort Elimination Sort] || [https://chat.stackexchange.com/transcript/52405?m=64941297#64941297 Jan 5, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/1.apl 2023/1.apl] || [https://www.youtube.com/watch?v=LpUOaipgn7s&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:56]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2023.html?goto=P2_Put_It_In_Reverse Put It In Reverse] || [https://chat.stackexchange.com/transcript/52405?m=64977516#64977516 Jan 12, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/2.apl 2023/2.apl] || [https://www.youtube.com/watch?v=JnExPhse9iM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:58]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2023.html?goto=P3_Caesar_Salad Caesar Salad] || [https://chat.stackexchange.com/transcript/52405?m=65017769#65017769 Jan 19, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/3.apl 2023/3.apl] || [https://www.youtube.com/watch?v=Rg8OCEMlYGg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:56]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2023.html?goto=P4_Like_a_Version Like a Version] || [https://chat.stackexchange.com/transcript/52405?m=65059946#65059946 Jan 26, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/4.apl 2023/4.apl] || [https://www.youtube.com/watch?v=zOhxW-gRR4A&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:15]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2023.html?goto=P5_Risky_Business Risky Business] || [https://chat.stackexchange.com/transcript/52405?m=65101517#65101517 Feb 2, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/5.apl 2023/5.apl] || [https://www.youtube.com/watch?v=CvgRR1Ai94Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:24]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2023.html?goto=P6_Key_Value_Pairs Key Value Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65151113#65151113 Feb 9, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/6.apl 2023/6.apl] || [https://www.youtube.com/watch?v=svaJ0o9oyco&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:41]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2023.html?goto=P7_Lets_Be_Rational Lets Be Rational] || [https://chat.stackexchange.com/transcript/message/65193789#65193789 Feb 16, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/7.apl 2023/7.apl] || [https://www.youtube.com/watch?v=3J_IuXgDiq0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:03]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2023.html?goto=P8_Critical_Thinking Critical Thinking] || [https://chat.stackexchange.com/transcript/52405?m=65234344#65234344 Feb 23, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/8.apl 2023/8.apl] || [https://www.youtube.com/watch?v=yfLowDKvXUs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:22]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2023.html?goto=P9_Flipping_Pairs Flipping Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65274150#65274150 Mar 1, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/9.apl 2023/9.apl] || [https://www.youtube.com/watch?v=aIu4dJBDYg8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:22:08]<br />
|-<!--<br />
| 10 || [https://problems.tryapl.org/psets/2023.html?goto=P10_Partition_with_a_Twist Partition with a Twist] || [https://chat.stackexchange.com/transcript/52405?m=________#________ Mar 8, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/10.apl 2023/10.apl] || [https://www.youtube.com/watch?v=___________&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:nn:nn]--><br />
|}<br />
:<span id=p2023>[[#2023|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN a single playlist].<br />
<br />
== References ==<br />
<references/><br />
{{APL community}}[[Category:Online sessions]][[Category:Web broadcasts]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL_Quest&diff=11302
APL Quest
2024-03-11T08:23:48Z
<p>Adám Brudzewsky: /* Problems from 2023 */</p>
<hr />
<div>[[File:APL Quest frame.png|thumb|right|Still frame from a follow-up video.]]<br />
'''APL Quest''' is the title used for a series of live chat sessions held by [[Adám Brudzewsky]] with guest appearances by [[Richard Park]]. The sessions run on Fridays at 15:00 UTC, switching to 13:00 UTC from October. Each session focuses on one problem from Phase 1 of a past [[APL Problem Solving Competition]], beginning with problem 1 from the 2013 round, and is followed up by publication of the code<ref>Adám Brudzewsky. [https://github.com/abrudz/apl_quest/ apl_quest] code repository. GitHub.</ref> and a video that summarises the solutions.<ref>Adám Brudzewsky. [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN APL Quest] playlist. YouTube.</ref><br />
<br />
APL Quest events happen in the [[APL Orchard]], and requires a [[Wikipedia:Stack Exchange|Stack Exchange]] account:<br />
* Account holders with 20 [https://stackoverflow.com/help/whats-reputation reputation points] are free to join via [https://apl.chat apl.chat].<br />
* Others must follow the [[APL_Orchard#Access|APL Orchard access instructions]].<br />
<br />
The Stack Exchange chat system allows signing up for reminders to these recurring events.<ref>The [[APL Orchard]]. [https://chat.stackexchange.com/rooms/info/52405/the-apl-orchard?tab=schedule#meeting-2520 APL Quest]. Room schedule. Stack Exchange.</ref><br />
<br />
== Sessions ==<br />
=== Problems from 2013 ===<br />
{|class=wikitable id=2013<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2013|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2013.html?goto=P1_Seems_a_Bit_Odd_To_Me Seems a Bit Odd To Me] || [https://chat.stackexchange.com/transcript/52405?m=60343161#60343161 Feb 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/1.apl 2013/1.apl] || [https://www.youtube.com/watch?v=Mj4wyLKrBho&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2013.html?goto=P2_Making_The_Grade Making The Grade] || [https://chat.stackexchange.com/transcript/52405?m=60402180#60402180 Feb 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/2.apl 2013/2.apl] || [https://www.youtube.com/watch?v=pxo2BtoMxP4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:03]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2013.html?goto=P3_What_Is_In_a_Word What Is In a Word] || [https://chat.stackexchange.com/transcript/message/60462122#60462122 Feb 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/3.apl 2013/3.apl] || [https://www.youtube.com/watch?v=MgkM2qCPWas&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:18]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2013.html?goto=P4_Keeping_Things_In_Balance Keeping Things In Balance] || [https://chat.stackexchange.com/transcript/52405?m=60517971#60517971 Feb 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/4.apl 2013/4.apl] || [https://www.youtube.com/watch?v=El0_RB4TTPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:34:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2013.html?goto=P5_Identity_Crisis Identity Crisis] || [https://chat.stackexchange.com/transcript/52405?m=60573163#60573163 Mar 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/5.apl 2013/5.apl] || [https://www.youtube.com/watch?v=vVaZ3wEdmpQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:25:05]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2013.html?goto=P6_Home_On_The_Range Home On The Range] || [https://chat.stackexchange.com/transcript/52405?m=60624938#60624938 Mar 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/6.apl 2013/6.apl] || [https://www.youtube.com/watch?v=36HlHsEjUIQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:48]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2013.html?goto=P7_Float_Your_Boat Float Your Boat] || [https://chat.stackexchange.com/transcript/52405?m=60678893#60678893 Mar 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/7.apl 2013/7.apl] || [https://www.youtube.com/watch?v=w5LvImFVi2M&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:22:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2013.html?goto=P8_Go_Forth_And_Multiply Go Forth And Multiply] || [https://chat.stackexchange.com/transcript/52405?m=60733991#60733991 Mar 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/8.apl 2013/8.apl] || [https://www.youtube.com/watch?v=O_l-nJYmDrs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:42]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2013.html?goto=P9_It_Is_a_Moving_Experience It Is a Moving Experience] || [https://chat.stackexchange.com/transcript/52405?m=60790499#60790499 Apr 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/9.apl 2013/9.apl] || [https://www.youtube.com/watch?v=txZiCW12lTE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:12]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2013.html?goto=P10_Solution_Salvation Solution Salvation] || [https://chat.stackexchange.com/transcript/52405?m=60845175#60845175 Apr 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/10.apl 2013/10.apl] || [https://www.youtube.com/watch?v=w-rzx2VNqbY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:01]<br />
|}<br />
:<span id=p2013>[[#2013|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_M0SIpfU8eBWSYXE-GD86g a single playlist].<br />
<br />
=== Problems from 2014 ===<br />
{|class=wikitable id=2014<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2014|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2014.html?goto=P1_It_Is_All_Right It Is All Right] || [https://chat.stackexchange.com/transcript/52405?m=60900017#60900017 Apr 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/1.apl 2014/1.apl] || [https://www.youtube.com/watch?v=0SeHAg0q30w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:18:13]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2014.html?goto=P2_How_Tweet_It_Is How Tweet It Is] || [https://chat.stackexchange.com/transcript/52405?m=60949514#60949514 Apr 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/2.apl] || [https://www.youtube.com/watch?v=3X3l76njwfs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:29:50]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2014.html?goto=P3_Tell_a_Fib Tell a Fib] || [https://chat.stackexchange.com/transcript/52405?m=61008731#61008731 Apr 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/3.apl] || [https://www.youtube.com/watch?v=7J4hJmgWlJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:30:45]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2014.html?goto=P4_Space_The_Final_Frontier Space The Final Frontier] || [https://chat.stackexchange.com/transcript/52405?m=61062129#61062129 May 6, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/4.apl 2014/4.apl] || [https://www.youtube.com/watch?v=aqfhItFpO2I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:52:55]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2014.html?goto=P5_Mirror_Mirror Mirror Mirror] || [https://chat.stackexchange.com/transcript/52405?m=61119677#61119677 May 13, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/5.apl 2014/5.apl] || [https://www.youtube.com/watch?v=cPzQr2aJ7e4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:31]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2014.html?goto=P6_Roll_The_Dice Roll The Dice] || [https://chat.stackexchange.com/transcript/52405?m=61177683#61177683 May 20, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/6.apl 2014/6.apl] || [https://www.youtube.com/watch?v=HwEmjnPpMqY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:55]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2014.html?goto=P7_Revolutionary_Thinking Revolutionary Thinking] || [https://chat.stackexchange.com/transcript/52405?m=61231677#61231677 May 27, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/7.apl 2014/7.apl] || [https://www.youtube.com/watch?v=aiEOXOy56iw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2014.html?goto=P8_Go_The_Distance Go The Distance] || [https://chat.stackexchange.com/transcript/52405/2022/6/3 Jun 3, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/8.apl 2014/8.apl] || [https://www.youtube.com/watch?v=OEChBu1p98w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:59]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2014.html?goto=P9_Going_Ballistic Going Ballistic] || [https://chat.stackexchange.com/transcript/52405?m=61327875#61327875 Jun 10, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/9.apl 2014/9.apl]|| [https://www.youtube.com/watch?v=jhrTBWvVahI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:27]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2014.html?goto=P10_Sales_Are_Up Sales Are Up] || [https://chat.stackexchange.com/transcript/52405?m=61385753#61385753 Jun 17, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2014 2014/10.apl] || [https://www.youtube.com/watch?v=JvvaNQ0DO4Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:59]<br />
|}<br />
:<span id=p2014>[[#2014|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj--yAmV2yUe73O5ntiqF4Xp a single playlist].<br />
<br />
=== Problems from 2015 ===<br />
{|class=wikitable id=2015<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2015|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2015.html?goto=P1_Nag_A_Ram Nag A Ram] || [https://chat.stackexchange.com/transcript/52405?m=61439442#61439442 Jun 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2015/1.apl 2015/1.apl] || [https://www.youtube.com/watch?v=nmUQ9cSQajY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:22]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2015.html?goto=P2_Longest_Streak Longest Streak] || [https://chat.stackexchange.com/transcript/52405?m=61492634#61492634 Jul 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/2.apl] || [https://www.youtube.com/watch?v=fXl5_cJFw34&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:49]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2015.html?goto=P3_Farey_Tale Farey Tale] || [https://chat.stackexchange.com/transcript/52405?m=61541307#61541307 Jul 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/3.apl] || [https://www.youtube.com/watch?v=7bLqOYg5DZk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:31:35]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2015.html?goto=P4_PDI_Progressive_Dyadic_Iota PDI - Progressive Dyadic Iota] || [https://chat.stackexchange.com/transcript/52405?m=61590333#61590333 Jul 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/4.apl 2015/4.apl] || [https://www.youtube.com/watch?v=FGzpsUK5WF4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:35:10]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2015.html?goto=P5_Hes_so_mean_he_has_no_standard_deviation He’s so mean, he has no standard deviation] || [https://chat.stackexchange.com/transcript/message/61644417#61644417 Jul 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/5.apl 2015/5.apl] || [https://www.youtube.com/watch?v=9_RPmL2Szkk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:47]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2015.html?goto=P6_Hey_This_is_My_Space Hey! This is My Space] || [https://chat.stackexchange.com/transcript/message/61688071#61688071 Jul 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/6.apl 2015/6.apl] || [https://www.youtube.com/watch?v=Ya832W9iBC4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:00]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2015.html?goto=P7_Just_In_Upper_Case Just in (Upper) Case] || [https://chat.stackexchange.com/transcript/52405?m=61731271#61731271 Aug 5, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/7.apl 2015/7.apl] || [https://www.youtube.com/watch?v=syzyAQc11M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2015.html?goto=P8_Unlucky_13 Unlucky 13] || [https://chat.stackexchange.com/transcript/52405?m=61776938#61776938 Aug 12, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/8.apl 2015/8.apl] || [https://www.youtube.com/watch?v=2VSUnKEu5m8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2015.html?goto=P9_Id_Like_Mine_Scrambled_Please I’d Like Mine Scrambled Please] || [https://chat.stackexchange.com/transcript/52405?m=61822639#61822639 Aug 19, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/9.apl 2015/9.apl] || [https://www.youtube.com/watch?v=jptaYjzi_mE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:31]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2015.html?goto=P10_Blaiseing_a_Trail Blaise’ing a Trail] || [https://chat.stackexchange.com/transcript/52405?m=61871003#61871003 Aug 26, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/10.apl 2015/10.apl] || [https://www.youtube.com/watch?v=j0prKDZtBWQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:46]<br />
|}<br />
:<span id=p2015>[[#2015|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8D5G7jIkBPCsuu_9AbyHxE a single playlist].<br />
<br />
=== Problems from 2016 ===<br />
{|class=wikitable id=2016<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2016|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2016.html?goto=P1_Statistics_Mean Statistics - Mean] || [https://chat.stackexchange.com/transcript/52405?m=61919109#61919109 Sep 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/1.apl 2016/1.apl] || [https://www.youtube.com/watch?v=pZA3NFdh7M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2016.html?goto=P2_Statistics_Median Statistics - Median] || [https://chat.stackexchange.com/transcript/52405?m=61968437#61968437 Sep, 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/2.apl 2016/2.apl] || [https://www.youtube.com/watch?v=oBkCJfi_OEU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:22]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2016.html?goto=P3_Statistics_Mode Statistics - Mode] || [https://chat.stackexchange.com/transcript/52405?m=62016595#62016595 Sep, 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/3.apl 2016/3.apl] || [https://www.youtube.com/watch?v=iJsh_0wD2us&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:26:36]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2016.html?goto=P4_Just_Meshing_Around Just Meshing Around] || [https://chat.stackexchange.com/transcript/52405?m=62063400#62063400 Sep, 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/4.apl 2016/4.apl] || [https://www.youtube.com/watch?v=59eKagcVoO4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:07]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2016.html?goto=P5_Youre_Unique_Just_Like_Everyone_Else You’re Unique, Just Like Everyone Else] || [https://chat.stackexchange.com/transcript/52405?m=62107645#62107645 Sep, 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/5.apl 2016/5.apl] || [https://www.youtube.com/watch?v=zFSFcIskU4U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:36]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2016.html?goto=P6_Shorter_Ones_to_the_Front Shorter Ones to the Front] || [https://chat.stackexchange.com/transcript/52405?m=62151647#62151647 Oct, 7, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/6.apl 2016/6.apl] || [https://www.youtube.com/watch?v=ZmVuGl6-DJk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:19]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2016.html?goto=P7_3s_and_5s 3s and 5s] || [https://chat.stackexchange.com/transcript/52405?m=62198343#62198343 Oct, 14, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/7.apl 2016/7.apl] || [https://www.youtube.com/watch?v=s1qIJ1LRfaQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:28]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2016.html?goto=P8_Separating_Out_the_Negative Separating Out the Negative] || [https://chat.stackexchange.com/transcript/52405?m=62233525#62233525 Oct, 21, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/8.apl 2016/8.apl] || [https://www.youtube.com/watch?v=ZSEJkNrEdOQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:16]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2016.html?goto=P9_Delimited_Text Delimited Text] || [https://chat.stackexchange.com/transcript/52405?m=62273399#62273399 Oct, 28, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/9.apl 2016/9.apl] || [https://www.youtube.com/watch?v=5_ArihWDSlM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:51]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2016.html?goto=P10_Order_Total_Dot_Product Order Total] || [https://chat.stackexchange.com/transcript/52405?m=62313927#62313927 Nov, 4, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/10.apl 2016/10.apl] || [https://www.youtube.com/watch?v=5rfCeT_lPk8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:43]<br />
|}<br />
:<span id=p2016>[[#2016|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9zSwnh4K28nCApruWA1j_m a single playlist].<br />
<br />
=== Problems from 2017 ===<br />
{|class=wikitable id=2017<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2017|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2017.html?goto=P1_What_an_Odd_Bunch What an Odd Bunch] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Nov 11, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/1.apl 2017/1.apl] || [https://www.youtube.com/watch?v=afiMn3ACT1U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2017.html?goto=P2_Good_Evening Good Evening] || [https://chat.stackexchange.com/transcript/52405?m=62397727#62397727 Nov 18, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/2.apl 2017/2.apl] || [https://www.youtube.com/watch?v=fg1Z0V33Er4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:56]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2017.html?goto=P3_Miss_Quoted Miss Quoted] || [https://chat.stackexchange.com/transcript/52405?m=62439770#62439770 Nov 25, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/3.apl 2017/3.apl] || [https://www.youtube.com/watch?v=Yx3xqiNo9NY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:04]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2017.html?goto=P4_Slices_of_Pies Slice(s) of Pie(s)] || [https://chat.stackexchange.com/transcript/52405?m=62483171#62483171 Dec 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/4.apl 2017/4.apl] || [https://www.youtube.com/watch?v=XLrh6HwUbP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2017.html?goto=P5_DNA DNA?] || [https://chat.stackexchange.com/transcript/message/62538000#62538000 Dec 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/5.apl 2017/5.apl] || [https://www.youtube.com/watch?v=s2XtJKB1Sks&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:54]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2017.html?goto=P6_k_mers k-mers] ||[https://chat.stackexchange.com/transcript/message/62581736#62581736 Dec 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/6.apl 2017/6.apl] || [https://www.youtube.com/watch?v=SYcEnkcV5q8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:54]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2017.html?goto=P7_Counting_DNA_Nucleotides Counting DNA Nucleotides] || [https://chat.stackexchange.com/transcript/message/62628046#62628046 Dec 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/7.apl 2017/7.apl] || [https://www.youtube.com/watch?v=0TJkzDIWAno&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:53]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2017.html?goto=P8_Be_the_First_1 Be the First 1] || [https://chat.stackexchange.com/transcript/52405?m=62667691#62667691 Dec 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/8.apl 2017/8.apl] || [https://www.youtube.com/watch?v=he6rpBP4hP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:10]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2017.html?goto=P9_Double_Trouble Double Trouble] || [https://chat.stackexchange.com/transcript/52405?m=62715050#62715050 Jan 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/9.apl 2017/9.apl] || [https://www.youtube.com/watch?v=t2RH0isi3Qg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:35]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2017.html?goto=P10_Squaring_Off Squaring Off] || [https://chat.stackexchange.com/transcript/52405?m=62764522#62764522 Jan 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/10.apl 2017/10.apl] || [https://www.youtube.com/watch?v=AOleoh2JlJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:38]<br />
|-<br />
|}<br />
:<span id=p2017>[[#2017|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8wDbpQmxKOGNKwrsCJSbz7 a single playlist].<br />
<br />
=== Problems from 2018 ===<br />
{|class=wikitable id=2018<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2018|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2018.html?goto=P1_Oh_Say_Can_You_See Oh Say Can You See] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Jan 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/1.apl 2018/1.apl] || [https://www.youtube.com/watch?v=YZBOKebM624&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2018.html?goto=P2_Number_Splitting Number Splitting] || [https://chat.stackexchange.com/transcript/message/62858667#62858667 Jan 27, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/2.apl 2018/2.apl] || [https://www.youtube.com/watch?v=Q4U3y-bhxGA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:16]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2018.html?goto=P3_Rolling_Along Rolling Along] || [https://chat.stackexchange.com/transcript/message/62907248#62907248 Feb 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/3.apl 2018/3.apl] || [https://www.youtube.com/watch?v=D6jWkFo00-E&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:03]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2018.html?goto=P4_Whats_Your_Sign Whats Your Sign] || [https://chat.stackexchange.com/transcript/52405?m=62957002#62957002 Feb 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/4.apl 2018/4.apl] || [https://www.youtube.com/watch?v=g82bRux0TJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:40]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2018.html?goto=P5_Whats_Your_Sign_Revisited Whats Your Sign Revisited] || [https://chat.stackexchange.com/transcript/52405?m=63010133#63010133 Feb 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/5.apl 2018/5.apl] || [https://www.youtube.com/watch?v=BtJ6Hey2PE4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:18]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2018.html?goto=P6_Whats_Your_Angle Whats Your Angle] || [https://chat.stackexchange.com/transcript/52405?m=63056863#63056863 Feb 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/6.apl 2018/6.apl] || [https://www.youtube.com/watch?v=3ivJvycE0Tk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:09]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2018.html?goto=P7_Unconditionally_Shifty Unconditionally Shifty] || [https://chat.stackexchange.com/transcript/52405?m=63108820#63108820 Mar 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/7.apl 2018/7.apl] || [https://www.youtube.com/watch?v=b3r4CY5kf9c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:45]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2018.html?goto=P8_Making_a_Good_Argument Making a Good Argument] || [https://chat.stackexchange.com/transcript/52405?m=63151714#63151714 Mar 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/8.apl 2018/8.apl] || [https://www.youtube.com/watch?v=F72metQNXAU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:41]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2018.html?goto=P9_Earlier_Later_or_the_Same Earlier Later or the Same] || [https://chat.stackexchange.com/transcript/52405?m=63197530#63197530 Mar 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/9.apl 2018/9.apl] || [https://www.youtube.com/watch?v=gPQpCa0ke0U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2018.html?goto=P10_Anagrammatically_Correct Anagrammatically Correct] || [https://chat.stackexchange.com/transcript/52405?m=63239751#63239751 Mar 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/10.apl 2018/10.apl] || [https://www.youtube.com/watch?v=3kRLlmZC62o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:12]<br />
|-<br />
|}<br />
:<span id=p2018>[[#2018|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8NxxMWk_WcDOjDoqz65bKh a single playlist].<br />
=== Problems from 2019 ===<br />
{|class=wikitable id=2019<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2019|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2019.html?goto=P1_Chunky_Monkey Chunky Monkey] || [https://chat.stackexchange.com/transcript/52405?m=63286611#63286611 Mar 31, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/1.apl 2019/1.apl] || [https://www.youtube.com/watch?v=9puw9PBMFP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:32]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2019.html?goto=P2_Making_the_Grade Making the Grade] || [https://chat.stackexchange.com/transcript/52405?m=63332288#63332288 Apr 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/2.apl 2019/2.apl] || [https://www.youtube.com/watch?v=1EaAau9x8MI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:27]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2019.html?goto=P3_Grade_Distribution Grade Distribution] || [https://chat.stackexchange.com/transcript/52405?m=63374600#63374600 Apr 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/3.apl 2019/3.apl] || [https://www.youtube.com/watch?v=uPMqIHcOfgE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2019.html?goto=P4_Knight_Moves Knight Moves] || [https://chat.stackexchange.com/transcript/52405?m=63423145#63423145 Apr 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/4.apl 2019/4.apl] || [https://www.youtube.com/watch?v=K40CsPxYohM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:37]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2019.html?goto=P5_Doubling_Up Doubling Up] || [https://chat.stackexchange.com/transcript/52405?m=63469882#63469882 Apr 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/5.apl 2019/5.apl] || [https://www.youtube.com/watch?v=c8XRnJeJ2AY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:01]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2019.html?goto=P6_Telephone_Names Telephone Names] || [https://chat.stackexchange.com/transcript/52405?m=63515042#63515042 May 5, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/6.apl 2019/6.apl] || [https://www.youtube.com/watch?v=mzyrnyV7Q_c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:23]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2019.html?goto=P7_In_the_Center_of_It_All In the Center of It All] || [https://chat.stackexchange.com/transcript/52405?m=63558554#63558554 May 12, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/7.apl 2019/7.apl] || [https://www.youtube.com/watch?v=Bhov522Jz7o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2019.html?goto=P8_Going_the_Distance Going the Distance] || [https://chat.stackexchange.com/transcript/52405?m=63609358#63609358 May 19, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/8.apl 2019/8.apl] || [https://www.youtube.com/watch?v=GNdp6rAZ2Is&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2019.html?goto=P9_Area_Code_a_la_Gauss Area Code à la Gauss] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 May 26, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/9.apl 2019/9.apl] || [https://www.youtube.com/watch?v=njZs8HV5Ra0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:57]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2019.html?goto=P10_Odd_and_Evens Odd and Evens] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 Jun 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/10.apl 2019/10.apl] || [https://www.youtube.com/watch?v=9hUTqexYZ0I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:33]<br />
|}<br />
:<span id=p2019>[[#2019|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-CZEC7r5v4SMd0RtgpoWPt a single playlist].<br />
<br />
=== Problems from 2020 ===<br />
{|class=wikitable id=2020<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2020|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2020.html?goto=P1_Lets_Split Let's Split] || [https://chat.stackexchange.com/transcript/52405?m=63767556#63767556 Jun 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/1.apl 2020/1.apl] || [https://www.youtube.com/watch?v=2grlocFykmI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:11]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2020.html?goto=P2_Characters Character Building] || [https://chat.stackexchange.com/transcript/52405?m=63803321#63803321 Jun 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/2.apl 2020/2.apl] || [https://www.youtube.com/watch?v=C5X6FlTNzX4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:05]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2020.html?goto=P3_Columns Excel-lent Columns] || [https://chat.stackexchange.com/transcript/52405?m=63835448#63835448 Jun 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/3.apl 2020/3.apl] || [https://www.youtube.com/watch?v=yg96DlrXUc4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:19]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2020.html?goto=P4_Take_a_Leap Take a Leap] || [https://chat.stackexchange.com/transcript/52405?m=63890718#63890718 Jun 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/4.apl 2020/4.apl] || [https://www.youtube.com/watch?v=hqyDUkSooCw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:04]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2020.html?goto=P5_Integer_Range Stepping in the Proper Direction] || [https://chat.stackexchange.com/transcript/message/63935087#63935087 Jul 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/5.apl 2020/5.apl] || [https://www.youtube.com/watch?v=SjCmDfWmhqk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:17]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2020.html?goto=P6_Move_To_Front Move to the Front] || [https://chat.stackexchange.com/transcript/52405?m=63980930#63980930 Jul 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/6.apl 2020/6.apl] || [https://www.youtube.com/watch?v=FfFzzmEo37Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:04]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2020.html?goto=P7_Bits See You in a Bit] || [https://chat.stackexchange.com/transcript/52405?m=64028252#64028252 Jul 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/7.apl 2020/7.apl] || [https://www.youtube.com/watch?v=xXweDCXIVSk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:02]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2020.html?goto=P8_Zigzag Zigzag Numbers] || [https://chat.stackexchange.com/transcript/52405?m=64081060#64081060 Jul 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/8.apl 2020/8.apl] || [https://www.youtube.com/watch?v=Q-8LAhe79zM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2020.html?goto=P9_Rise_and_Fall Rise and Fall] || [https://chat.stackexchange.com/transcript/52405?m=64125164#64125164 Aug 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/9.apl 2020/9.apl] || [https://www.youtube.com/watch?v=qypqissqN-c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:49]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2020.html?goto=P10_Stacking_It_Up Stacking It Up] || [https://chat.stackexchange.com/transcript/52405?m=64172099#64172099 Aug 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/10.apl 2020/10.apl] || [https://www.youtube.com/watch?v=LBelbuN1yRo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:09]<br />
|}<br />
:<span id=p2020>[[#2020|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8J80yMTag0_VDzxdPKjZ28 a single playlist].<br />
<br />
=== Problems from 2021 ===<br />
{|class=wikitable id=2021<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2021|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2021.html?goto=P1_Are_You_a_Bacteria Are You a Bacteria] || [https://chat.stackexchange.com/transcript/52405?m=64216596#64216596 Aug 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/1.apl 2021/1.apl] || [https://www.youtube.com/watch?v=6tkUO7Wc5Tg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2021.html?goto=P2_Index_Of_Modified Index Of Modified] || [https://chat.stackexchange.com/transcript/52405?m=64262014#64262014 Aug 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/2.apl 2021/2.apl] || [https://www.youtube.com/watch?v=r5VQ9wSBVTg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:36]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2021.html?goto=P3_Multiplicity Multiplicity] || [https://chat.stackexchange.com/transcript/52405?m=64315806#64315806 Sep 1, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/3.apl 2021/3.apl] || [https://www.youtube.com/watch?v=h9xqYCxiMJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2021.html?goto=P4_Square_Peg_Round_Hole Square Peg, Round Hole] || [https://chat.stackexchange.com/transcript/52405?m=64360617#64360617 Sep 8, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/4.apl 2021/4.apl] || [https://www.youtube.com/watch?v=h0RS-rEV3BM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:39]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2021.html?goto=P5_Rect_ify Rect-ify] || [https://chat.stackexchange.com/transcript/52405?m=64410899#64410899 Sep 15, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/5.apl 2021/5.apl] || [https://www.youtube.com/watch?v=demUjdV0EPk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:02]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2021.html?goto=P6_Fischer_Random_Chess Fischer Random Chess] || [https://chat.stackexchange.com/transcript/52405?m=64457542#64457542 Sep 22, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/6.apl 2021/6.apl] || [https://www.youtube.com/watch?v=UvlL1OyIJIw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:20]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2021.html?goto=P7_Can_You_Feel_the_Magic Can You Feel the Magic] || [https://chat.stackexchange.com/transcript/52405?m=64501098#64501098 Sep 29, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/7.apl 2021/7.apl] || [https://www.youtube.com/watch?v=j9MMQZXpTmM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:41]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2021.html?goto=P8_Time_to_Make_a_Difference Time to Make a Difference] || [https://chat.stackexchange.com/transcript/52405?m=64533505#64533505 Oct 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/8.apl 2021/8.apl] || [https://www.youtube.com/watch?v=hQFMjRPFioI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2021.html?goto=P9_In_the_Long_Run In the Long Run] || [https://chat.stackexchange.com/transcript/52405?m=64569242#64569242 Oct 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/9.apl 2021/9.apl] || [https://www.youtube.com/watch?v=kpTxXyWIgpc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:19]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2021.html?goto=P10_On_the_Right_Side On the Right Side] || [https://chat.stackexchange.com/transcript/52405?m=64604513#64604513 Oct 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/10.apl 2021/10.apl] || [https://www.youtube.com/watch?v=tClkG4ybunI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:25]<br />
|}<br />
:<span id=p2021>[[#2021|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-AtwCeUfeICfWufM133X4e a single playlist].<br />
<br />
=== Problems from 2022 ===<br />
{|class=wikitable id=2022<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2022|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2022.html?goto=P1_Counting_DNA Counting DNA Nucleotides?] || [https://chat.stackexchange.com/transcript/52405?m=64637385#64637385 Oct 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/1.apl 2022/1.apl] || [https://www.youtube.com/watch?v=xhZWd51rATE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2022.html?goto=P2_Mutations Attack of the Mutations!] || [https://chat.stackexchange.com/transcript/52405?m=64668644#64668644 Nov 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/2.apl 2022/2.apl] || [https://www.youtube.com/watch?v=Gy7i_EzrhFE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:07]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2022.html?goto=P3_XOR Uniquely Qualified] || [https://chat.stackexchange.com/transcript/52405?m=64700500#64700500 Nov 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/3.apl 2022/3.apl] || [https://www.youtube.com/watch?v=ZvjgB1aCEH4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:17]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2022.html?goto=P4_Longest_1_run In the Long One…] || [https://chat.stackexchange.com/transcript/52405?m=64729844#64729844 Nov 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/4.apl 2022/4.apl] || [https://www.youtube.com/watch?v=E5H_kV2UXxc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:08]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2022.html?goto=P5_Stairway Stairway to Heaven] || [https://chat.stackexchange.com/transcript/52405?m=64758788#64758788 Nov 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/5.apl 2022/5.apl] || [https://www.youtube.com/watch?v=JfULYgkDVgs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:09]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2022.html?goto=P6_Pyramid Pyramid Scheme] || [https://chat.stackexchange.com/transcript/52405?m=64793494#64793494 Dec 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/6.apl 2022/6.apl] || [https://www.youtube.com/watch?v=I-JBVOIMlPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:14]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2022.html?goto=P7_Golf_Scores Just Golfing Around] || [https://chat.stackexchange.com/transcript/52405?m=64828652#64828652 Dec 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/7.apl 2022/7.apl] || [https://www.youtube.com/watch?v=8SL6exHPQwk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:52]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2022.html?goto=P8_Split_on_first Let’s Split!] || [https://chat.stackexchange.com/transcript/52405?m=64863116#64863116 Dec 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/8.apl 2022/8.apl] || [https://www.youtube.com/watch?v=YMDClM03zyQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:08]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2022.html?goto=P9_Average An Average Window (or a Windowed Average)] || [https://chat.stackexchange.com/transcript/52405?m=64894638#64894638 Dec 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/9.apl 2022/9.apl] || [https://www.youtube.com/watch?v=RautPkG3A3Y&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2022.html?goto=P10_Separators Separation Anxiety] || [https://chat.stackexchange.com/transcript/52405?m=64917683#64917683 Dec 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/10.apl 2022/10.apl] || [https://www.youtube.com/watch?v=VWXqtokDgNQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:17]<br />
|}<br />
:<span id=p2022>[[#2022|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_tpJMwfH1tBXlpDSjEmkwh a single playlist].<br />
<br />
<br />
=== Problems from 2023 ===<br />
{|class=wikitable id=2023<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2023|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2023.html?goto=P1_Elimination_Sort Elimination Sort] || [https://chat.stackexchange.com/transcript/52405?m=64941297#64941297 Jan 5, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/1.apl 2023/1.apl] || [https://www.youtube.com/watch?v=LpUOaipgn7s&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:56]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2023.html?goto=P2_Put_It_In_Reverse Put It In Reverse] || [https://chat.stackexchange.com/transcript/52405?m=64977516#64977516 Jan 12, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/2.apl 2023/2.apl] || [https://www.youtube.com/watch?v=JnExPhse9iM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:58]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2023.html?goto=P3_Caesar_Salad Caesar Salad] || [https://chat.stackexchange.com/transcript/52405?m=65017769#65017769 Jan 19, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/3.apl 2023/3.apl] || [https://www.youtube.com/watch?v=Rg8OCEMlYGg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:56]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2023.html?goto=P4_Like_a_Version Like a Version] || [https://chat.stackexchange.com/transcript/52405?m=65059946#65059946 Jan 26, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/4.apl 2023/4.apl] || [https://www.youtube.com/watch?v=zOhxW-gRR4A&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:15]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2023.html?goto=P5_Risky_Business Risky Business] || [https://chat.stackexchange.com/transcript/52405?m=65101517#65101517 Feb 2, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/5.apl 2023/5.apl] || [https://www.youtube.com/watch?v=CvgRR1Ai94Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:24]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2023.html?goto=P6_Key_Value_Pairs Key Value Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65151113#65151113 Feb 9, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/6.apl 2023/6.apl] || [https://www.youtube.com/watch?v=svaJ0o9oyco&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:41]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2023.html?goto=P7_Lets_Be_Rational Lets Be Rational] || [https://chat.stackexchange.com/transcript/message/65193789#65193789 Feb 16, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/7.apl 2023/7.apl] || [https://www.youtube.com/watch?v=3J_IuXgDiq0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:03]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2023.html?goto=P8_Critical_Thinking Critical Thinking] || [https://chat.stackexchange.com/transcript/52405?m=65234344#65234344 Feb 23, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/8.apl 2023/8.apl] || [https://www.youtube.com/watch?v=yfLowDKvXUs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:22]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2023.html?goto=P9_Flipping_Pairs Flipping Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65274150#65274150 Mar 1, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/9.apl 2023/9.apl] || [https://www.youtube.com/watch?v=aIu4dJBDYg8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:22:08]<br />
|-<!--<br />
| 10 || [https://problems.tryapl.org/psets/2023.html?goto=P10_Partition_with_a_Twist Partition with a Twist] || [https://chat.stackexchange.com/transcript/52405?m=________#________ Mar 8, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/10.apl 2023/10.apl] || [https://www.youtube.com/watch?v=___________&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:nn:nn]--><br />
|}<br />
:<span id=p2023>[[#2023|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN a single playlist].<br />
<br />
== References ==<br />
<references/><br />
{{APL community}}[[Category:Online sessions]][[Category:Web broadcasts]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Major_cell_search&diff=11301
Major cell search
2024-03-11T06:58:39Z
<p>Adám Brudzewsky: Roger didn't add support to set functions</p>
<hr />
<div>The dyadic functions [[Index Of]] (<syntaxhighlight lang=apl inline>⍳</syntaxhighlight>), [[Interval Index]] (<syntaxhighlight lang=apl inline>⍸</syntaxhighlight>), and possibly [[Member Of]] (<syntaxhighlight lang=apl inline>∊</syntaxhighlight>) can be extended to search argument [[cell]]s rather than elements, in accordance with the [[leading axis model]]. In this model, the "principal argument" (the one that is searched through) is considered as a list of its [[major cell]]s, and the "non-principal argument" is then split into cells of this rank, which are processed separately: the result for each one depends on which major cells of the principal argument it [[match]]es. Because Member Of is defined (since [[APL\360]]) to ignore the shape of its right argument and treat it as an unordered collection of elements, it cannot be consistently extended in this way. However, some non-APL languages and the [[A+]] dialect, which breaks [[backwards compatibility]], use this extension.<br />
<br />
== History ==<br />
<br />
Major cell searching is supported for all relevant primitives in [[A+]] and [[J]]. Some support was added to [[Dyalog APL]] under the direction of J implementer [[Roger Hui]] in 2014. The more recent array languages [[BQN]] and [[Uiua]] also define search functions to work on major cells.<br />
<br />
[[Index Of]] searching major cells was added to [[Dyalog APL 14.0]] in 2014, and [[Interval Index]] also featured the extension when it was included in [[Dyalog APL 16.0]]. Several other APL dialects have extended Index Of in ways that are incompatible with major cell searching: in [[SHARP APL]] it has [[function rank]] <syntaxhighlight lang=apl inline>1 0</syntaxhighlight> (while major cell searching would imply a function rank that depends on the rank of the left argument), and in [[GNU APL]] and [[NARS2000]] elements are searched to give a multi-dimensional index. NARS2000 defines dyadic <syntaxhighlight lang=apl inline>⍸</syntaxhighlight>, called Array Lookup, to provide Index Of on cells.<br />
<br />
Support for major cell searching is compared across languages in the table below.<br />
<br />
{|class=wikitable<br />
! Language !! [[Index Of]] !! [[Member Of]] !! [[Interval Index]] !! Other<br />
|-<br />
| [[Dyalog APL]] || {{Yes|2014}} || {{No|Incompatible}} || {{Yes}} ||<br />
|-<br />
| [[NARS2000]] || {{Yes|With <syntaxhighlight lang=apl inline>⍸</syntaxhighlight>}} || {{No|Incompatible}} ||style="text-align:center;"| N/A ||<br />
|-<br />
| [[A+]] || {{Yes}} || {{Yes}} || {{Yes}} ||<br />
|-<br />
| [[J]] || {{Yes}} || {{Yes}} || {{Yes}} || Index-of-last<br />
|-<br />
| [[BQN]] || {{Yes}} || {{Yes}} || {{Yes}} || [[Progressive Index of]]<br />
|-<br />
| [[Uiua]] || {{Yes}} || {{Yes}} ||style="text-align:center;"| N/A ||<br />
|}<br />
<br />
== External links ==<br />
<br />
* [https://mlochbaum.github.io/BQN/doc/search.html#higher-ranks BQN documentation]<br />
{{APL features}}<br />
[[Category:Function characteristics]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Major_cell_search&diff=11300
Major cell search
2024-03-11T06:57:46Z
<p>Adám Brudzewsky: nav box</p>
<hr />
<div>The dyadic functions [[Index Of]] (<syntaxhighlight lang=apl inline>⍳</syntaxhighlight>), [[Interval Index]] (<syntaxhighlight lang=apl inline>⍸</syntaxhighlight>), and possibly [[Member Of]] (<syntaxhighlight lang=apl inline>∊</syntaxhighlight>) can be extended to search argument [[cell]]s rather than elements, in accordance with the [[leading axis model]]. In this model, the "principal argument" (the one that is searched through) is considered as a list of its [[major cell]]s, and the "non-principal argument" is then split into cells of this rank, which are processed separately: the result for each one depends on which major cells of the principal argument it [[match]]es. Because Member Of is defined (since [[APL\360]]) to ignore the shape of its right argument and treat it as an unordered collection of elements, it cannot be consistently extended in this way. However, some non-APL languages and the [[A+]] dialect, which breaks [[backwards compatibility]], use this extension.<br />
<br />
== History ==<br />
<br />
Major cell searching is supported for all relevant primitives in [[A+]] and [[J]]. Support where compatible was added to [[Dyalog APL]] under the direction of J implementer [[Roger Hui]] in 2014. The more recent array languages [[BQN]] and [[Uiua]] also define search functions to work on major cells.<br />
<br />
[[Index Of]] searching major cells was added to [[Dyalog APL 14.0]] in 2014, and [[Interval Index]] also featured the extension when it was included in [[Dyalog APL 16.0]]. Several other APL dialects have extended Index Of in ways that are incompatible with major cell searching: in [[SHARP APL]] it has [[function rank]] <syntaxhighlight lang=apl inline>1 0</syntaxhighlight> (while major cell searching would imply a function rank that depends on the rank of the left argument), and in [[GNU APL]] and [[NARS2000]] elements are searched to give a multi-dimensional index. NARS2000 defines dyadic <syntaxhighlight lang=apl inline>⍸</syntaxhighlight>, called Array Lookup, to provide Index Of on cells.<br />
<br />
Support for major cell searching is compared across languages in the table below.<br />
<br />
{|class=wikitable<br />
! Language !! [[Index Of]] !! [[Member Of]] !! [[Interval Index]] !! Other<br />
|-<br />
| [[Dyalog APL]] || {{Yes|2014}} || {{No|Incompatible}} || {{Yes}} ||<br />
|-<br />
| [[NARS2000]] || {{Yes|With <syntaxhighlight lang=apl inline>⍸</syntaxhighlight>}} || {{No|Incompatible}} ||style="text-align:center;"| N/A ||<br />
|-<br />
| [[A+]] || {{Yes}} || {{Yes}} || {{Yes}} ||<br />
|-<br />
| [[J]] || {{Yes}} || {{Yes}} || {{Yes}} || Index-of-last<br />
|-<br />
| [[BQN]] || {{Yes}} || {{Yes}} || {{Yes}} || [[Progressive Index of]]<br />
|-<br />
| [[Uiua]] || {{Yes}} || {{Yes}} ||style="text-align:center;"| N/A ||<br />
|}<br />
<br />
== External links ==<br />
<br />
* [https://mlochbaum.github.io/BQN/doc/search.html#higher-ranks BQN documentation]<br />
{{APL features}}<br />
[[Category:Function characteristics]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Template:APL_features&diff=11299
Template:APL features
2024-03-11T06:57:06Z
<p>Adám Brudzewsky: </p>
<hr />
<div><noinclude>__NOTITLE__</noinclude><br />
{| class="wikitable <includeonly>{{{1|mw-collapsible mw-collapsed}}}</includeonly>" style="width:100%"<br />
! colspan="2" | '''<big>APL features</big>''' [[{{fullurl:Template:APL_features|action=edit}} edit]]<br />
|-<br />
! [[Built-ins]]<br />
| [[Primitives]] ([[Primitive function|function]]s, [[Primitive operator|operator]]s) ∙ [[Quad name]]<br />
|-<br />
! [[Array model]]<br />
| [[Shape]] ∙ [[Rank]] ∙ [[Depth]] ∙ [[Bound]] ∙ [[Index]] ([[Indexing]]) ∙ [[Axis]] ∙ [[Ravel]] ∙ [[Ravel order]] ∙ [[Element]] ∙ [[Scalar]] ∙ [[Vector]] ∙ [[Matrix]] ∙ [[Simple scalar]] ∙ [[Simple array]] ∙ [[Nested array]] ∙ [[Cell]] ∙ [[Major cell]] ∙ [[Subarray]] ∙ [[Empty array]] ∙ [[Prototype]]<br />
|-<br />
! Data types<br />
| [[Number]] ([[Boolean]], [[Complex number]]) ∙ [[Character]] ([[String]]) ∙ [[Box]] ∙ [[Namespace]] ∙ [[Function array]]<br />
|-<br />
! Concepts and paradigms<br />
| [[Conformability]] ([[Scalar extension]], [[Leading axis agreement]]) ∙ [[Scalar function]] ([[Pervasion]]) ∙ [[Identity element]] ∙ [[Complex floor]] ∙ [[Array ordering]] ([[Total array ordering|Total]]) ∙ [[Tacit programming]] ([[Function composition]], [[Close composition]]) ∙ [[Glyph]] ∙ [[Leading axis theory]] ∙ [[Major cell search]]<br />
|-<br />
! [[Error]]s<br />
| [[LIMIT ERROR]] ∙ [[RANK ERROR]] ∙ [[SYNTAX ERROR]] ∙ [[DOMAIN ERROR]] ∙ [[LENGTH ERROR]] ∙ [[INDEX ERROR]] ∙ [[VALUE ERROR]] ∙ [[EVOLUTION ERROR]]<br />
|}</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Template:APL_features&diff=11298
Template:APL features
2024-03-11T06:52:42Z
<p>Adám Brudzewsky: </p>
<hr />
<div><noinclude>__NOTITLE__</noinclude><br />
{| class="wikitable <includeonly>{{{1|mw-collapsible mw-collapsed}}}</includeonly>" style="width:100%"<br />
! colspan="2" | '''<big>APL features</big>''' [[{{fullurl:Template:APL_features|action=edit}} edit]]<br />
|-<br />
! [[Built-ins]]<br />
| [[Primitives]] ([[Primitive function|function]]s, [[Primitive operator|operator]]s) ∙ [[Quad name]]<br />
|-<br />
! [[Array model]]<br />
| [[Shape]] ∙ [[Rank]] ∙ [[Depth]] ∙ [[Bound]] ∙ [[Index]] ([[Indexing]]) ∙ [[Axis]] ∙ [[Ravel]] ∙ [[Ravel order]] ∙ [[Element]] ∙ [[Scalar]] ∙ [[Vector]] ∙ [[Matrix]] ∙ [[Simple scalar]] ∙ [[Simple array]] ∙ [[Nested array]] ∙ [[Cell]] ∙ [[Major cell]] ∙ [[Subarray]] ∙ [[Empty array]] ∙ [[Prototype]]<br />
|-<br />
! Data types<br />
| [[Number]] ([[Boolean]], [[Complex number]]) ∙ [[Character]] ([[String]]) ∙ [[Box]] ∙ [[Namespace]] ∙ [[Function array]]<br />
|-<br />
! Concepts and paradigms<br />
| [[Conformability]] ([[Scalar extension]], [[Leading axis agreement]]) ∙ [[Scalar function]] ([[Pervasion]]) ∙ [[Identity element]] ∙ [[Complex floor]] ∙ [[Array ordering]] ([[Total array ordering|Total]]) ∙ [[Tacit programming]] ([[Function composition]], [[Close composition]]) ∙ [[Glyph]]<br />
|-<br />
! [[Error]]s<br />
| [[LIMIT ERROR]] ∙ [[RANK ERROR]] ∙ [[SYNTAX ERROR]] ∙ [[DOMAIN ERROR]] ∙ [[LENGTH ERROR]] ∙ [[INDEX ERROR]] ∙ [[VALUE ERROR]] ∙ [[EVOLUTION ERROR]]<br />
|}</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Comparison_of_APL_dialects&diff=11297
Comparison of APL dialects
2024-03-11T06:48:10Z
<p>Adám Brudzewsky: Reorder columns by first appearance of feature</p>
<hr />
<div>All APL dialects share core features, and at least the [[primitive]]s are [[Backwards compatibility|backwards compatible]] with those of [[APL.SV]]. However, there are important dialectal differences, the most significant of which are described in this article.<br />
<br />
== Flat versus Nested ==<br />
<br />
One of the most significant differences between APLs is the choice of [[array model]], namely [[Nested array theory|nested]] or [[Flat array theory|flat]]. Originally, all APLs were entirely flat, that is, the only [[scalar]] values supported were [[simple]] and had to be either [[number]]s and [[character]]s, and an array had to be homogeneous, that is, consisting entirely of a single [[type]]. [[SHARP APL]] introduced the [[box]] as a third type, such that a box could hold any other array (including a box array), and this allowed for arrays contain other arrays. [[NARS]] introduced the nested array model, where any arrays can be an actual [[element]] of another array. Most currently maintained dialects ([[Dyalog APL]], [[NARS2000]], [[APL2]], [[GNU APL]], and others) use the nested array model.<br />
<br />
=== Disclose ===<br />
<br />
[[Disclose]] is defined, on [[scalar]]s, to be the inverse of [[Enclose]], giving the sole [[element]] of that scalar. This behavior is extended to arbitrary arrays in one of two ways: [[Mix]], which combines all elements, and [[First]], which returns only the first (in [[ravel order]]).<br />
<br />
In the [[SHARP APL]] family, Disclose is written <syntaxhighlight lang=apl inline>></syntaxhighlight>, and given a [[function rank]] of 0, which causes it to behave as [[Mix]]. [[First]] is not a primitive.<br />
<br />
In nested APL dialects, Disclose is written <syntaxhighlight lang=apl inline>⊃</syntaxhighlight>, and it [[Disclose#History|was extended]] to First by [[NARS]] and to Mix by [[APL2]]. The other possible meaning is given the glyph <syntaxhighlight lang=apl inline>↑</syntaxhighlight> and named "Mix" or "First" (not "Disclose") as appropriate. Dialects might choose either assignment of glyphs, and [[Dyalog APL]] and [[APL*PLUS]] allow either to be chosen based on [[Migration Level]].<br />
<br />
{|class=wikitable<br />
! Glyph !! Meaning !! Dialects<br />
|-<br />
| <syntaxhighlight lang=apl inline>></syntaxhighlight> || [[Mix]] || [[SHARP APL]], [[A]], [[A+]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || [[Mix]] || [[APL2]], [[ISO/IEC 13751:2001]], [[APL2C]], [[APLX]], [[NARS2000]], [[GNU APL]], [[Kap]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || [[First]] || [[ngn/apl]], [[Co-dfns]], [[dzaima/APL]], [[April]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || Configurable || [[Dyalog APL]], [[APL*PLUS]], [[APL+Win]], [[APL64]]<br />
|}<br />
<br />
== Function definition ==<br />
{{Main|Function styles}}<br />
<br />
Dialects offer a variety of ways to create [[function]]s and [[operator]]s. The three major branches are [[defined function]]s, which use a header declaring the function and argument names, [[anonymous function]]s such as [[dfn]]s, which also consist of a list of statements but have no header and use fixed argument names, and [[tacit programming|tacit function]]s, which are created by manipulating existing functions with no reference to [[argument]]s.<br />
<br />
Defined functions were the dominant form for most of APL's history, with only some niche forms based on [[direct definition (notation)|direct definition notation]] appearing in the 1980s: the [[direct definition (operator)|direct definition operator]] in [[NARS]] and a library to translate this notation to defined functions in [[SHARP APL]]. [[Function assignment]], a necessary feature for tacit programming, began to appear in the 1980s, such as in [[Dyalog APL]] version 4.0 in 1986. However, [[train]]s, which make larger-scale tacit programming feasible, were not introduced to APL until around 2010. Dyalog's [[dfn]]s were introduced in 1996 to slow initial adoption; nearly all new dialects of the 2010s and later support a similar syntax. Because of the widespread use of dfns, several of these dialects no longer support a traditional function definition notation.<br />
<br />
== Numeric types ==<br />
{{Main|Number}}<br />
<br />
Traditionally, APL supports only one numeric type that is visible to the user, such as a floating-point number, or complex number whose components are floating-point. Other numeric types may be used by the implementation, but only for optimization: for example, [[APL\360]] uses packed 1-bit [[Boolean]] and 4-bit integer arrays that are automatically converted to float if an operation yields a value that doesn't fit in the type. [[ISO/IEC 13751:2001]] specifies that different representations of a number must be indistinguishable to a conforming program (which can call primitives but not implementation-specific system functions).<br />
<br />
Most often the numeric type is a 64-bit float, for instance [[wikipedia:IBM_hexadecimal_floating_point|HFP]] in early [[IBM]] dialects and [[wikipedia:IEEE 754|IEEE 754]] in new dialects since the 1980s. [[Dyalog APL]] supports 128-bit [[decimal float]]s by setting <syntaxhighlight lang=apl inline>⎕FR</syntaxhighlight>. Modern dialects tend to support [[complex number]]s, with exceptions including [[dzaima/APL]], [[APLX]], and [[APL+Win]]. Dialects with complex numbers also extend [[Circular]] (<syntaxhighlight lang=apl inline>○</syntaxhighlight>) to left arguments designed for complex numbers.<br />
<br />
Some newer dialects provide additional types that are distinguishable from floats, often by greater precision. Extended-precision integers are one possibility: for example, [[dzaima/APL]] provides these if requested with a trailing <code>L</code> in a numeric literal or <syntaxhighlight lang=apl inline>⎕BIG</syntaxhighlight>, while [[Kap]] uses exact rational numbers by default. [[NARS2000]] supports numerous numeric types, and [[April]] provides access to the [[wikipedia:Common Lisp|Common Lisp]] numeric tower, which also includes many types. [[GNU APL]] doesn't support arbitrary precision, but uses 64-bit integers by default, much like [[J]] or [[K]].<br />
<br />
== Conformability ==<br />
<br />
All APLs implement [[scalar extension]] in [[scalar dyadic]] functions, and [[Each]] if present. However, a few dialects differ in their support for [[singleton extension]]. Most support it fully, so that a singleton of any rank is extended. [[APL2]] supports it only for scalars and one-element vectors (and [[ISO/IEC_13751:2001]] specifies only this behavior), and [[dzaima/APL]] and [[Kap]] support scalar extension only.<br />
<br />
Furthermore, dialects that implement the [[Rank operator]] differ in their conformability rules for frames. [[Dyalog APL]] and [[SHARP APL]] implement scalar agreement only, [[NARS2000]] implements singleton agreement, and [[A+]] implements leading axis agreement (in addition to extra options allowing the programmer to specify outer-product-like treatment of some axes).<br />
<br />
== Index origin ==<br />
<br />
A few dialects fix the [[index origin]] to 0 rather than allowing it to be configured: [[A+]], [[APL#]], [[ngn/apl]], [[Co-dfns]], and [[Kap]].<br />
<br />
== Depth ==<br />
<br />
[[Dyalog APL]] defines [[Depth]] (<syntaxhighlight lang=apl inline>≡</syntaxhighlight>) to return negative numbers when the depth is uneven. Most other dialects instead define it to return the maximum depth. The original NARS paper assigned the glyph to a function called [[Simple (NARS)|Simple]], which simply answered if the argument was simple or not, without reporting the actual depth. It was thus equivalent to today's <syntaxhighlight lang=apl inline>1=≡,Y</syntaxhighlight>.<br />
<br />
== Language features ==<br />
<br />
The following table shows support for various APL features: nesting either with [[box]]es or the [[nested array model]], [[defined function]]s or similar syntax, [[control structure]]s, [[dfn]]-style anonymous functions, [[tacit]] programming, particularly with [[train]]s, [[complex number]]s, arbitrary-precision integers, [[Unicode]] support, and [[namespace]]s or a similar encapsulation feature. The precise syntax and capabilities of these features might differ between dialects that support them.<br />
<br />
Dialects included in the first row include [[APL\360]], [[APL\1130]], [[APL*PLUS]] before II, [[APL/700]], [[APL.SV]], [[APL 5100]], [[MCM/70]], [[VS APL]], [[APL\3000]], and [[Aplette]]. Dates for [[APL+Win]] include those for APL*PLUS. [[Extended Dyalog APL]] and [[Dyalog APL Vision]] have the same feature set as [[Dyalog APL]].<br />
<br />
{|class="wikitable sortable"<br />
! Dialect !! [[Tradfn]]s !! Nesting !! [[Complex]] !! [[Namespace]] !! [[Control structure|Control]] !! [[Dfn]]s !! [[Unicode]] !! [[Tacit]] !! Big int<br />
|-<br />
| [[APL\360]], [[APL.SV]], … || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[APL+Win]], … || {{Yes}} || {{Yes|Nested (1989)}} || {{No}} || {{Yes|2006}} || {{Yes|1994}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[SHARP APL]] || {{Yes}} || {{Yes|Boxes (1981)}} || {{Yes|1981}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[NARS]] || {{Yes}} || {{Yes|Nested}} || {{No}} || {{No}} || {{No}} || {{Maybe|[[direct definition (operator)|direct def]]}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[Dyalog APL]], … || {{Yes}} || {{Yes|Nested}} || {{Yes|2011}} || {{Yes|1994}} || {{Yes|1996}} || {{Yes|1996}} || {{Yes|2008}} || {{Yes|2014}} || {{No}}<br />
|-<br />
| [[APL2]] || {{Yes}} || {{Yes|Nested}} || {{Yes}} || {{Yes|1987}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[A+]] || {{Yes}} || {{Yes|Boxes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Maybe|Some}} || {{No}}<br />
|-<br />
| [[SAX]] || {{Yes}} || {{Yes|Boxes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Maybe|Some}} || {{No}}<br />
|-<br />
| [[APL2C]] || {{Yes}} || {{Yes|Nested}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[APLX]] || {{Yes}} || {{Yes|Nested}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[NARS2000]] || {{Yes}} || {{Yes|Nested}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Maybe|UCS-2}} || {{Yes|2009}} || {{Yes}}<br />
|-<br />
| [[VisualAPL]] || {{Yes}} || {{Yes|Nested}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}}<br />
|-<br />
| [[APL#]] || {{No}} || {{Yes|Nested}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}}<br />
|-<br />
| [[ngn/apl]] || {{No}} || {{Yes|Nested}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}}<br />
|-<br />
| [[GNU APL]] || {{Yes}} || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{Maybe|If-else}} || {{Maybe|Limited}} || {{Yes}} || {{No}} || {{No}}<br />
|-<br />
| [[April]] || {{No}} || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[dzaima/APL]] || {{No}} || {{Yes|Nested}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[APL\iv]] || {{No}} || {{Maybe|Lists}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}}<br />
|-<br />
| [[Kap]] || {{Yes}} || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[APL64]] || {{Yes}} || {{Yes|Nested}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}}<br />
|}<br />
<br />
== Development and platform ==<br />
<br />
Shown are the release year, year of last release for inactive languages, withdrawal or discontinuation year for products that are no longer available, developer, implementation language, and host system. Systems capable of being compiled for multiple native hosts are indicated as "portable".<br />
<br />
{|class="wikitable sortable"<br />
! Dialect !! Released !! Inactive !! Dropped !! Developer !! Language !! Host<br />
|-<br />
| [[APL\1130]] || 1968 || || {{No|?}} || [[IBM]] || 1130 assembler || [[wikipedia:IBM 1130|IBM 1130]]<br />
|-<br />
| [[APL\360]] || 1968 || {{Maybe|1972}} || {{No|2012}} || [[IBM]] || [[wikipedia:IBM_Basic_Assembly_Language_and_successors|BAL]] || S/360–z/Architecture, IBM 5100+<br />
|-<br />
| [[APL*PLUS]] || 1970 || {{Maybe|1995}} || {{No|2012}} || [[STSC]] || [[wikipedia:IBM_Basic_Assembly_Language_and_successors|BAL]], [[wikipedia:C (programming language)|C]] || S/370, TRS-80, portable<br />
|-<br />
| [[APL/700]] || 1971? || || {{No|?}} || [[wikipedia:Burroughs Corporation|Burroughs]] || [[wikipedia:ALGOL 60|ALGOL 60]] || Burroughs [[wikipedia:Burroughs_large_systems#B6700_and_B7700|B 6700/B 7700]]<br />
|-<br />
| [[APL.SV]] || 1973 || || {{No|?}} || [[IBM]] || [[wikipedia:IBM_Basic_Assembly_Language_and_successors|BAL]] ||<br />
|-<br />
| [[APL 5100]] || 1976 || || {{No|?}} || [[IBM]] || [[wikipedia:IBM_Basic_Assembly_Language_and_successors|BAL]] || [https://en.wikipedia.org/wiki/IBM_5100 IBM 5100]<br />
|-<br />
| [[MCM/70]] || 1974 || || {{No|1983}} || MCM || || MCM/70<br />
|-<br />
| [[VS APL]] || 1976 || || {{No|?}} || [[IBM]] || [[wikipedia:IBM_Basic_Assembly_Language_and_successors|BAL]] || OS/VS, DOS/VS<br />
|-<br />
| [[SHARP APL]] || 1976 || {{Maybe|1989}} || {{No|1993?}} || [[IPSA]] || || S/370, later portable<br />
|-<br />
| [[APL\3000]] || 1976 || || {{No|1980s}} || [[wikipedia:Hewlett-Packard|Hewlett-Packard]] || || [[wikipedia:HP 3000|HP 3000]] Series II / III<br />
|-<br />
| [[NARS]] || 1981 || || {{No|1989?}} || [[STSC]] || 370 assembler, APL || [[wikipedia:System/370|System/370]]<br />
|-<br />
| [[Dyalog APL]] || 1983 || || || [[Dyalog Ltd.]] || [[wikipedia:C (programming language)|C]], [[wikipedia:C++|C++]], APL || Portable<br />
|-<br />
| [[A+]] || 1988 || {{Maybe|2014}} || || [[Arthur Whitney]] || [[wikipedia:C++|C++]] || Portable<br />
|-<br />
| [[APL2]] || 1984 || || || [[IBM]] || || IBM mainframes, portable<br />
|-<br />
| [[SAX]] || 1993 || {{Maybe|2000}} || {{No|2017?}} || [[Soliton]] || [[wikipedia:C (programming language)|C]] || Portable<br />
|-<br />
| [[APL+Win]] || 1995 || {{Maybe|2019}} || || [[APL2000]] || || Portable<br />
|-<br />
| [[APL2C]] || 2001 || {{Maybe|2002}} || || Tilman Otto || [[wikipedia:C (programming language)|C]] || Windows 9x/NT/2000<br />
|-<br />
| [[APLX]] || 2002 || {{Maybe|2016}} || {{No|2016}} || [[MicroAPL Ltd.]] || [[wikipedia:C_(programming_language)|C]], [[wikipedia:C++|C++]] || Portable<br />
|-<br />
| [[NARS2000]] || 2006 || {{Maybe|2019}} || || [[Bob Smith]] || [[wikipedia:C (programming language)|C]], APL || Portable<br />
|-<br />
| [[VisualAPL]] || 2009 || || {{No|2011}} || [[APL2000]] || [[wikipedia:C_Sharp_(programming_language)|C#]] || [[.NET]] ([[wikipedia:Common Language Infrastructure|CLI]])<br />
|-<br />
| [[APL#]] || 2010 || || {{No|2012}} || [[Dyalog Ltd.]] || [[wikipedia:C_Sharp_(programming_language)|C#]] || [[.NET]] ([[wikipedia:Common Language Infrastructure|CLI]])<br />
|-<br />
| [[ngn/apl]] || 2011 || {{Maybe|2018}} || || Nick Nickolov || [[wikipedia:Javascript|Javascript]] || In-browser, [[wikipedia:Node.js|Node.js]]<br />
|-<br />
| [[GNU APL]] || 2013 || || || Jürgen Sauermann || [[wikipedia:C++|C++]] || Portable<br />
|-<br />
| [[Aplette]] || 2014 || {{Maybe|2020}} || || Greg F. Johnson || [[wikipedia:C (programming language)|C]] || Portable<br />
|-<br />
| [[Co-dfns]] || 2014 || || || [[Aaron Hsu]] || [[Dyalog APL]] || [[wikipedia:C (programming language)|C]], [[wikipedia:ArrayFire|ArrayFire]] (GPU) targets<br />
|-<br />
| [[April]] || 2018 || || || Andrew Sengul || [[wikipedia:Common Lisp|Common Lisp]] || Common Lisp runtime<br />
|-<br />
| [[dzaima/APL]] || 2018 || {{Maybe|2020}} || || [[dzaima]] || [[wikipedia:Java (programming language)|Java]], [[wikipedia:Processing (programming language)|Processing]] || JVM, Android<br />
|-<br />
| [[APL\iv]] || 2018 || {{Maybe|2019}} || || [https://github.com/ktye ktye] || [[wikipedia:Go (programming language)|Go]] || Portable<br />
|-<br />
| [[Extended Dyalog APL]] || 2018 || {{Maybe|2021}} || || [[Adám Brudzewsky]] || [[Dyalog APL]] || [[Dyalog APL]]<br />
|-<br />
| [[Kap]] || 2020 || || || Elias Mårtenson || [[wikipedia:Kotlin (programming language)|Kotlin]] || Portable<br />
|-<br />
| [[APL64]] || 2022 || || || [[APL2000]] || [[wikipedia:C_Sharp_(programming_language)|C#]] || Portable<br />
|-<br />
| [[Dyalog APL Vision]] || 2022 || || || [[Adám Brudzewsky]] || [[Dyalog APL]] || [[Dyalog APL]]<br />
|}<br />
<br />
== See also ==<br />
* [[Unicode#Comparison of implementations]]<br />
* [[Take#Extension support]]<br />
* [[Replicate#Extension support]]<br />
* [[Mix#Language support]]<br />
* [[Laminate#Extension support]]<br />
* [[Not#Extensions]]<br />
* [[Interval Index#History]]<br />
* [[Leading axis theory#Adoption in APL]]<br />
* [[Array notation#Comparison of array notations]]<br />
<br />
== External links ==<br />
* [https://omnibar.rubenverg.com Omnibar] lists all glyphs with their meanings and allows custom comparisons between dialects:[[File:Omnibar|center]]<br />
{{APL dialects}}[[Category:Lists]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=File:APL2C.gif&diff=11280
File:APL2C.gif
2024-03-10T17:26:19Z
<p>Adám Brudzewsky: </p>
<hr />
<div>{{Non-free logo|APL2C}}</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Direct_definition_(operator)&diff=11222
Direct definition (operator)
2024-03-08T01:07:52Z
<p>Adám Brudzewsky: docs</p>
<hr />
<div>:''The [[Del]] glyph <code>∇</code> is more commonly used for [[dfn]] recursion or to indicate a [[defined function]].''<br />
<br />
{{Built-in|Direct definition|∇}}, in [[NARS]], is a [[primitive]] [[dyadic operator]] that defines an [[anonymous function]] based on source [[string]]s. Its left operand is the source for the function's [[dyadic]] case and the right is the source for the [[monadic]] case. One of these operands may be replaced with a [[Jot]] (using this operator as an operand as with [[Outer Product]]) to indicate an undefined case and create a strictly monadic or dyadic function.<br />
<br />
The format of a source string is similar to that used in [[Direct definition (Iverson)|Iverson's direct definition]], with several small differences. Multiple expressions can be used if separated by <syntaxhighlight lang=apl inline>⋄</syntaxhighlight>. <syntaxhighlight lang=apl inline>⍺</syntaxhighlight> and <syntaxhighlight lang=apl inline>⍵</syntaxhighlight> indicate the left and right [[argument]]s, and <syntaxhighlight lang=apl inline>_</syntaxhighlight> is added to indicate [[recursion]]. Conditions are still indicated with colons <syntaxhighlight lang=apl inline>:</syntaxhighlight>, but the mechanism is extended: rather than a boolean condition placed between false and true cases, it's placed first, and returns a scalar or vector of natural numbers. Each number indicates one of the following groups of statements (separated by further <syntaxhighlight lang=apl inline>:</syntaxhighlight>s and numbered starting at 0), and these groups will then be evaluated, with the result of the last evaluated expression returned from the function as a whole.<br />
<br />
== External links ==<br />
* [https://www.sudleyplace.com/APL/Nested%20Arrays%20System.pdf#page=58 Documentation]<br />
<br />
{{APL built-ins}}[[Category:Primitive operators]][[Category:Defining functions]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Template:APL_built-ins&diff=11221
Template:APL built-ins
2024-03-08T00:28:07Z
<p>Adám Brudzewsky: </p>
<hr />
<div><noinclude>__NOTITLE__</noinclude><br />
{| class="wikitable <includeonly>{{{1|mw-collapsible mw-collapsed}}}</includeonly>" style="width:100%"<br />
! colspan=4 | '''<big>APL built-ins</big>''' [[{{fullurl:Template:APL_built-ins|action=edit}} edit]]<br />
|-<br />
! rowspan="9" style="width:6em;" | [[Primitive function]]s<br />
|-<br />
! rowspan="3" style="width:6em;" | [[Scalar function|Scalar]]<br />
|-<br />
! style="width:6em;" | Monadic<br />
| [[Conjugate]] ∙ [[Negate]] ∙ [[Signum]] ∙ [[Reciprocal]] ∙ [[Magnitude]] ∙ [[Exponential]] ∙ [[Natural Logarithm]] ∙ [[Floor]] ∙ [[Ceiling]] ∙ [[Factorial]] ∙ [[Not]] ∙ [[Pi Times]] ∙ [[Roll]] ∙ [[Type]] ∙ [[Imaginary]] ∙ [[Square Root]]<br />
|-<br />
! Dyadic<br />
| [[Add]] ∙ [[Subtract]] ∙ [[Times]] ∙ [[Divide]] ∙ [[Residue]] ∙ [[Power (function)|Power]] ∙ [[Logarithm]] ∙ [[Minimum]] ∙ [[Maximum]] ∙ [[Binomial]] ∙ [[Comparison function]]s ∙ [[Boolean#Boolean_functions|Boolean functions]] ([[And]], [[Or]], [[Nand]], [[Nor]]) ∙ [[GCD]] ∙ [[LCM]] ∙ [[Circular]] ∙ [[Complex (function)|Complex]] ∙ [[Root]]<br />
|-<br />
! rowspan="5" | [[Mixed function|Non-Scalar]]<br />
|-<br />
! [[Structural function|Structural]]<br />
| [[Shape]] ∙ [[Reshape]] ∙ [[Tally]] ∙ [[Depth]] ∙ [[Ravel]] ∙ [[Enlist]] ∙ [[Table]] ∙ [[Catenate]] ∙ [[Reverse]] ∙ [[Rotate]] ∙ [[Transpose]] ∙ [[Raze]] ∙ [[Mix]] ∙ [[Split]] ∙ [[Enclose]] ∙ [[Nest]] ∙ [[Cut (K)]] ∙ [[Pair]] ∙ [[Link]] ∙ [[Partitioned Enclose]] ∙ [[Partition]]<br />
|-<br />
! Selection<br />
| [[First]] ∙ [[Pick]] ∙ [[Take]] ∙ [[Drop]] ∙ [[Unique]] ∙ [[Identity]] ∙ [[Stop]] ∙ [[Select]] ∙ [[Replicate]] ∙ [[Expand]] ∙ [[Set function]]s ([[Intersection]] ∙ [[Union]] ∙ [[Without]]) ∙ [[Bracket indexing]] ∙ [[Index (function)|Index]] ∙ [[Cartesian Product]] ∙ [[Sort]]<br />
|-<br />
! Selector<br />
| [[Index generator]] ∙ [[Grade]] ∙ [[Index Of]] ∙ [[Interval Index]] ∙ [[Indices]] ∙ [[Deal]] ∙ [[Prefix and suffix vectors]]<br />
|-<br />
! Computational<br />
| [[Match]] ∙ [[Not Match]] ∙ [[Membership]] ∙ [[Find]] ∙ [[Nub Sieve]] ∙ [[Encode]] ∙ [[Decode]] ∙ [[Matrix Inverse]] ∙ [[Matrix Divide]] ∙ [[Format]] ∙ [[Execute]] ∙ [[Materialise]] ∙ [[Range]]<br />
|-<br />
! rowspan="2" | [[Primitive operator]]s !! Monadic<br />
| colspan="2" | [[Each]] ∙ [[Commute]] ∙ [[Constant]] ∙ [[Replicate]] ∙ [[Expand]] ∙ [[Reduce]] ∙ [[Windowed Reduce]] ∙ [[Scan]] ∙ [[Outer Product]] ∙ [[Key]] ∙ [[I-Beam]] ∙ [[Spawn]] ∙ [[Function axis]]<br />
|-<br />
! Dyadic<br />
| colspan="2" | [[Bind]] ∙ [[Function composition|Composition]]s ([[Compose]], [[Reverse Compose]], [[Beside]], [[Withe]], [[Atop (operator)|Atop]], [[Over]]) ∙ [[Inner Product]] ∙ [[Determinant]] ∙ [[Power (operator)|Power]] ∙ [[At]] ∙ [[Under]] ∙ [[Rank (operator)|Rank]] ∙ [[Depth (operator)|Depth]] ∙ [[Variant]] ∙ [[Stencil]] ∙ [[Cut]] ∙ [[Direct definition (NARS)]]<br />
|-<br />
! [[Quad name]]s<br />
| colspan="3" | [[Index origin]] ∙ [[Comparison tolerance]] ∙ [[Migration level]] ∙ [[Atomic vector]]<br />
|}</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Blogs&diff=11214
Blogs
2024-03-06T18:51:55Z
<p>Adám Brudzewsky: Stefan Kruger's blog</p>
<hr />
<div>There are a few blogs with APL as a main subject:<br />
{| class=wikitable<br />
! Publisher !! Title<br />
|-<br />
| [[Dyalog Ltd.]] || [https://www.dyalog.com/blog/ Dyalog Blog] and [http://www.dyalog.com/dyalogue-newsletters.htm DYALOGue Newsletter]<br />
|-<br />
| [[Kx Systems]] || [https://kx.com/blog/ Kx Blog]<br />
|-<br />
| Optima Systems || [https://optima-systems.co.uk/category/apl/ Blog]<br />
|-<br />
| [[Aaron Hsu]] || [https://www.sacrideo.us/tag/apl/ Fastidious Elegance]<br />
|-<br />
| Paul Mansour || [https://www.toolofthought.com Tool of Thought — APL for the Practical Man]<br />
|-<br />
| Elias Mårtenson || [https://blog.dhsdevelopments.com/ DHS Developments Blog]<br />
|-<br />
| Rodrigo Girão Serrão || [https://mathspp.com/blog/tag:apl Mathspp Blog] (English); [https://mathspp.com/pt/blog/tag:apl Blogue Mathspp] (Portuguese)<br />
|-<br />
| Kamila Szewczyk || [https://palaiologos.rocks/tags/apl/ Palaiologos]<br />
|-<br />
| Moonchild || [https://outerproduct.net/ ∘.computer junk]<br />
|-<br />
| [[wikipedia:fast.ai|fast.ai]] || [https://fastai.github.io/apl-study/ APL Study Group]<br />
|-<br />
| Isaac & Felix Flath || [https://isaac-flath.github.io/APL-Exploration/ APL Exploration]<br />
|-<br />
| Justin Dowdy || [https://github.com/justin2004/weblog#readme Justin's Weblog]<br />
|-<br />
| Raimon Grau || [https://puntoblogspot.blogspot.com/search/label/apl%2Fj%2Fk puntoblogspot]<br />
|-<br />
| [[User:Razetime|Raghu Ranganathan]] || [https://razetime.github.io/blog/ Blog]<br />
|-<br />
| Brandon Wilson || [https://blog.wilsonb.com/ Rigorous Nonsense]<br />
|-<br />
| Madeline Vergani || [https://blog.rubenverg.com/?tag=apl Approximate Abstractions]<br />
|-<br />
| Romilly Cocking || [https://blog.rareschool.com/search/label/%23APL RAREblog]<br />
|-<br />
| Dr Jonathan Carroll || [https://jcarroll.com.au/tags/apl/ Irregularly Scheduled Programming]<br />
|-<br />
| Stefan Kruger || [https://xpqz.github.io/ Computational Array and Magic]<br />
|}<br />
<br />
== News aggregators and journals == <br />
* [https://apl.news Jot Dot Times] (apl.news) is a hand-curated news aggregator for APL blog posts and other news.<br />
* [https://discu.eu/weekly/apl/ APL weekly newsletter] collects each week's articles, projects and tutorials about APL, J, K, BQN, etc. from various news sources.<br />
* [https://apl-germany.de/apl-journal/ APL-Journal] by [[APL Germany]]<br />
* [https://vector.org.uk/ Vector] journal of the [[British APL Association]]<br />
<br />
== See also ==<br />
* [[Podcasts]]<br />
* [[Video channels]]<br />
<br />
{{APL community}}[[Category:Online resources]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Template:APL_built-ins&diff=11203
Template:APL built-ins
2024-03-06T15:26:33Z
<p>Adám Brudzewsky: </p>
<hr />
<div><noinclude>__NOTITLE__</noinclude><br />
{| class="wikitable <includeonly>{{{1|mw-collapsible mw-collapsed}}}</includeonly>" style="width:100%"<br />
! colspan=4 | '''<big>APL built-ins</big>''' [[{{fullurl:Template:APL_built-ins|action=edit}} edit]]<br />
|-<br />
! rowspan="9" style="width:6em;" | [[Primitive function]]s<br />
|-<br />
! rowspan="3" style="width:6em;" | [[Scalar function|Scalar]]<br />
|-<br />
! style="width:6em;" | Monadic<br />
| [[Conjugate]] ∙ [[Negate]] ∙ [[Signum]] ∙ [[Reciprocal]] ∙ [[Magnitude]] ∙ [[Exponential]] ∙ [[Natural Logarithm]] ∙ [[Floor]] ∙ [[Ceiling]] ∙ [[Factorial]] ∙ [[Not]] ∙ [[Pi Times]] ∙ [[Roll]] ∙ [[Type]] ∙ [[Imaginary]] ∙ [[Square Root]]<br />
|-<br />
! Dyadic<br />
| [[Add]] ∙ [[Subtract]] ∙ [[Times]] ∙ [[Divide]] ∙ [[Residue]] ∙ [[Power (function)|Power]] ∙ [[Logarithm]] ∙ [[Minimum]] ∙ [[Maximum]] ∙ [[Binomial]] ∙ [[Comparison function]]s ∙ [[Boolean#Boolean_functions|Boolean functions]] ([[And]], [[Or]], [[Nand]], [[Nor]]) ∙ [[GCD]] ∙ [[LCM]] ∙ [[Circular]] ∙ [[Complex (function)|Complex]] ∙ [[Root]]<br />
|-<br />
! rowspan="5" | [[Mixed function|Non-Scalar]]<br />
|-<br />
! [[Structural function|Structural]]<br />
| [[Shape]] ∙ [[Reshape]] ∙ [[Tally]] ∙ [[Depth]] ∙ [[Ravel]] ∙ [[Enlist]] ∙ [[Table]] ∙ [[Catenate]] ∙ [[Reverse]] ∙ [[Rotate]] ∙ [[Transpose]] ∙ [[Raze]] ∙ [[Mix]] ∙ [[Split]] ∙ [[Enclose]] ∙ [[Nest]] ∙ [[Cut (K)]] ∙ [[Pair]] ∙ [[Link]] ∙ [[Partitioned Enclose]] ∙ [[Partition]]<br />
|-<br />
! Selection<br />
| [[First]] ∙ [[Pick]] ∙ [[Take]] ∙ [[Drop]] ∙ [[Unique]] ∙ [[Identity]] ∙ [[Stop]] ∙ [[Select]] ∙ [[Replicate]] ∙ [[Expand]] ∙ [[Set function]]s ([[Intersection]] ∙ [[Union]] ∙ [[Without]]) ∙ [[Bracket indexing]] ∙ [[Index (function)|Index]] ∙ [[Cartesian Product]] ∙ [[Sort]]<br />
|-<br />
! Selector<br />
| [[Index generator]] ∙ [[Grade]] ∙ [[Index Of]] ∙ [[Interval Index]] ∙ [[Indices]] ∙ [[Deal]] ∙ [[Prefix and suffix vectors]]<br />
|-<br />
! Computational<br />
| [[Match]] ∙ [[Not Match]] ∙ [[Membership]] ∙ [[Find]] ∙ [[Nub Sieve]] ∙ [[Encode]] ∙ [[Decode]] ∙ [[Matrix Inverse]] ∙ [[Matrix Divide]] ∙ [[Format]] ∙ [[Execute]] ∙ [[Materialise]] ∙ [[Range]]<br />
|-<br />
! rowspan="2" | [[Primitive operator]]s !! Monadic<br />
| colspan="2" | [[Each]] ∙ [[Commute]] ∙ [[Constant]] ∙ [[Replicate]] ∙ [[Expand]] ∙ [[Reduce]] ∙ [[Windowed Reduce]] ∙ [[Scan]] ∙ [[Outer Product]] ∙ [[Key]] ∙ [[I-Beam]] ∙ [[Spawn]] ∙ [[Function axis]]<br />
|-<br />
! Dyadic<br />
| colspan="2" | [[Bind]] ∙ [[Function composition|Composition]]s ([[Compose]], [[Reverse Compose]], [[Beside]], [[Withe]], [[Atop (operator)|Atop]], [[Over]]) ∙ [[Inner Product]] ∙ [[Determinant]] ∙ [[Power (operator)|Power]] ∙ [[At]] ∙ [[Under]] ∙ [[Rank (operator)|Rank]] ∙ [[Depth (operator)|Depth]] ∙ [[Variant]] ∙ [[Stencil]] ∙ [[Cut]]<br />
|-<br />
! [[Quad name]]s<br />
| colspan="3" | [[Index origin]] ∙ [[Comparison tolerance]] ∙ [[Migration level]] ∙ [[Atomic vector]]<br />
|}</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL_Seeds&diff=11188
APL Seeds
2024-03-06T12:48:29Z
<p>Adám Brudzewsky: </p>
<hr />
<div>[[File:APL seeds logo.png|thumb|The APL Seeds logo.]]<br />
:''This article is about the conference. For the chat lesson series, see [[APL Orchard#APL Seeds]].''<br />
'''APL Seeds''' is an online [[Conferences|conference]] held by [[Dyalog Ltd.]], aimed at new and prospective users of APL. It consists of half a day with brief overviews of the language, introductions to available resources, and demonstrations of cases where APL has been successfully applied. The sessions are recorded and later released on [[wikipedia:YouTube|YouTube]] and [https://dyalog.tv dyalog.tv].<br />
<br />
APL Seeds serves as a complement to the [[Dyalog user meeting]] which is mainly aimed at and attended by existing APL users, especially professionals.<br />
<br />
=== APL Seeds '21 ===<br />
<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm APL Seeds '21] was held online on 31st March 2021. <br />
<br />
==== Dyalog presentations ====<br />
* '''D01: Welcome to APL Seeds '21''', [[Gitte Christensen]], Managing Director (CEO), and [[Richard Park]] ([https://www.dyalog.com/uploads/conference/aplseeds21/presentations/D01_WelcomeToAPLSeeds_GC.pdf GC slides], [https://www.dyalog.com/uploads/conference/aplseeds21/presentations/D01_WelcomeToAPLSeeds_RP.pdf RP slides], [https://dyalog.tv/APLSeeds21/?v=eQcMj_n_VTo video (23 mins)])<br />
* '''D02: Will You Play APL With Me?''', Rodrigo Gerrão Serrão (Jupyter Notebook: [https://tryapl.org/?notebook=https://github.com/Dyalog/dyalog-jupyter-notebooks/blob/master/Justifying%20Text.ipynb TryAPL], [https://github.com/Dyalog/dyalog-jupyter-notebooks/blob/master/Justifying%20Text.ipynb download]; [https://dyalog.tv/APLSeeds21/?v=U6ofXSYTST8 video (45 mins)]) <br />
<br />
==== User Presentations ====<br />
* '''U01: How an APL Prototype Helped Designing a Service''', Martin Janiczek, [[wikipedia:GlobalWebIndex|GWI]] (Czech Republic) ([https://www.dyalog.com/uploads/conference/aplseeds21/presentations/U01_HowAnAPLPrototypeHelpedDesigningAService.pdf slides], [https://dyalog.tv/APLSeeds21/?v=qDl3obmOd58 video])<br />
* '''U02: Algorithms as a Tool of Thought''', Conor Hoekstra, [[wikipedia:Nvidia|Nvidia]] (Canada) ([https://www.dyalog.com/uploads/conference/aplseeds21/presentations/U02_AlgorithmsAsAToolOfThought.pdf slides], [https://github.com/codereport/Talks/tree/master/2021-03-APLSeeds/AlgorithmsAsAToolOfThought code], [https://dyalog.tv/APLSeeds21/?v=GZuZgCDql6g video (45 mins)])<br />
* '''U03: Simulation and Gaming with APL''', Tomas Gustafsson, Stormwind Ab Oy (Finland) ([https://www.dyalog.com/uploads/conference/aplseeds21/presentations/U03_SimulationAndGamingWithAPL.zip materials], [https://dyalog.tv/APLSeeds21/?v=iC9floP7POU video (66 mins)])<br />
<br />
=== APL Seeds '22 ===<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds22.htm APL Seeds '22] was held online on 29th March 2022.<br />
<br />
==== Dyalog presentations ====<br />
* '''D01: Welcome to APL Seeds '22''', [[Gitte Christensen]], Managing Director (CEO), and [[Richard Park]] ([https://www.dyalog.com/uploads/conference/aplseeds22/presentations/D01_WelcomeToAPLSeeds22.pdf slides], [https://dyalog.tv/APLSeeds22/?v=U6rbd-83f-c video (31 mins)])<br />
* '''D02: APL – Easy to Learn, Worth Mastering''', Richard Park ([https://www.dyalog.com/uploads/conference/aplseeds22/presentations/D02_APLEasyToLearnWorthMastering.pdf slides], [https://dyalog.tv/APLSeeds22/?v=o-0xk96_BNw video (27 mins)]) <br />
<br />
==== User Presentations ====<br />
* '''U01: What's a k-mer?''', Stefan Kruger, [[wikipedia:IBM|IBM]] (U.K) ([https://www.dyalog.com/uploads/conference/aplseeds22/presentations/U01_WhatIsAKmer.pdf slides], [https://dyalog.tv/APLSeeds22/?v=h-kUZfdPbdU video (37 mins)])<br />
* '''U02: April: An APL Compiling To Common Lisp''', Andrew Sengul, Bloxl (USA) ([https://dyalog.tv/APLSeeds22/?v=Wxaqu8E83gE video (39 mins)])<br />
* '''U03: The Array Cast (live podcast recording)''', host: Conor Hoekstra, Nvidia (Canada) ([https://www.arraycast.com/episodes/episode24-apl-seeds-2022 podcast (63 mins)])<br />
<br />
=== APL Seeds '23 ===<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds23.htm APL Seeds '23] was held online on 22nd March 2023.<br />
<br />
==== Dyalog presentations ====<br />
* '''D01: The Heart of the Algorithm''', Rich Park ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/D01_HeartOfTheAlgorithm.pdf slides], [https://dyalog.tv/APLSeeds23/?v=O73HYH0p8eo video (27 mins)])<br />
* '''D02: But How Will I Remember All Those Squiggles?! — APL Mnemonics''', [[Adám Brudzewsky]] ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/D02_APLMnemonics.pdf slides], [https://dyalog.tv/APLSeeds23/?v=qZtb4XOLdkI video (28 mins)])<br />
* '''D03: Getting Work Done with APL''', Josh David ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/D03_GettingWorkDoneWithAPL.pdf slides], [https://dyalog.tv/APLSeeds23/?v=4dMzBdjaN8I video (45 mins)])<br />
<br />
==== User Presentations ====<br />
* '''U01: Why Would a Non-Programmer Learn APL?''', Richard Savenije ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/U01_NonProgrammerAPL.pdf slides], [https://dyalog.tv/APLSeeds23/?v=6AWSPC6qQB4 video (29 mins)])<br />
* '''U02: Doing Boring Stuff in APL''', Stefan Kruger, IBM (U.K.) ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/U02_DoingBoringStuffInAPL.pdf slides], [https://dyalog.tv/APLSeeds23/?v=-9NMzR4LFXk video (54 mins)]<br />
<br />
=== APL Seeds '24 ===<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds24.htm APL Seeds '24] will be held online on 27th March 2024.<br />
<br />
==== Presentations and discussion Panels ====<br />
* '''P01: What is APL and What Can APL Do For You''', [[Adám Brudzewsky]]<br />
* '''P02: Getting Started and Learning APL''', Asher Harvey-Smith, Finn Flug, Isaac Wooden, Justin Dowdy, Max Sun, and Stefan Kruger<br />
* '''P03: APL in Research – Prototyping Software''', Santiago Núñez-Corrales<br />
* '''P04: APL in Academia – Writing Software for Science''', Jesús Galan Lopez, Santiago Núñez-Corrales, and Stephen Mansour<br />
* '''P05: APL in Industry - Using APL to Get Things Done''', Alexander Block, Finn Flug, Josh David, Mark Wolfson, and Max Sun<br />
* '''P06: Closing session''', Adám Brudzewsky<br />
<br />
== External Links ==<br />
* [[Dyalog Ltd.]]: [https://www.dyalog.com/user-meetings/index.htm User Meetings] webpage<br />
<br />
{{APL community}}[[Category:Conferences]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Template:APL_built-ins&diff=11187
Template:APL built-ins
2024-03-05T08:23:58Z
<p>Adám Brudzewsky: Cartesian Product</p>
<hr />
<div><noinclude>__NOTITLE__</noinclude><br />
{| class="wikitable <includeonly>{{{1|mw-collapsible mw-collapsed}}}</includeonly>" style="width:100%"<br />
! colspan=4 | '''<big>APL built-ins</big>''' [[{{fullurl:Template:APL_built-ins|action=edit}} edit]]<br />
|-<br />
! rowspan="9" style="width:6em;" | [[Primitive function]]s<br />
|-<br />
! rowspan="3" style="width:6em;" | [[Scalar function|Scalar]]<br />
|-<br />
! style="width:6em;" | Monadic<br />
| [[Conjugate]] ∙ [[Negate]] ∙ [[Signum]] ∙ [[Reciprocal]] ∙ [[Magnitude]] ∙ [[Exponential]] ∙ [[Natural Logarithm]] ∙ [[Floor]] ∙ [[Ceiling]] ∙ [[Factorial]] ∙ [[Not]] ∙ [[Pi Times]] ∙ [[Roll]] ∙ [[Type]] ∙ [[Imaginary]] ∙ [[Square Root]]<br />
|-<br />
! Dyadic<br />
| [[Add]] ∙ [[Subtract]] ∙ [[Times]] ∙ [[Divide]] ∙ [[Residue]] ∙ [[Power (function)|Power]] ∙ [[Logarithm]] ∙ [[Minimum]] ∙ [[Maximum]] ∙ [[Binomial]] ∙ [[Comparison function]]s ∙ [[Boolean#Boolean_functions|Boolean functions]] ([[And]], [[Or]], [[Nand]], [[Nor]]) ∙ [[GCD]] ∙ [[LCM]] ∙ [[Circular]] ∙ [[Complex (function)|Complex]] ∙ [[Root]]<br />
|-<br />
! rowspan="5" | [[Mixed function|Non-Scalar]]<br />
|-<br />
! [[Structural function|Structural]]<br />
| [[Shape]] ∙ [[Reshape]] ∙ [[Tally]] ∙ [[Depth]] ∙ [[Ravel]] ∙ [[Enlist]] ∙ [[Table]] ∙ [[Catenate]] ∙ [[Reverse]] ∙ [[Rotate]] ∙ [[Transpose]] ∙ [[Raze]] ∙ [[Mix]] ∙ [[Split]] ∙ [[Enclose]] ∙ [[Nest]] ∙ [[Cut (K)]] ∙ [[Pair]] ∙ [[Link]] ∙ [[Partitioned Enclose]] ∙ [[Partition]]<br />
|-<br />
! Selection<br />
| [[First]] ∙ [[Pick]] ∙ [[Take]] ∙ [[Drop]] ∙ [[Unique]] ∙ [[Identity]] ∙ [[Stop]] ∙ [[Select]] ∙ [[Replicate]] ∙ [[Expand]] ∙ [[Set function]]s ([[Intersection]] ∙ [[Union]] ∙ [[Without]]) ∙ [[Bracket indexing]] ∙ [[Index (function)|Index]] ∙ [[Cartesian Product]]<br />
|-<br />
! Selector<br />
| [[Index generator]] ∙ [[Grade]] ∙ [[Index Of]] ∙ [[Interval Index]] ∙ [[Indices]] ∙ [[Deal]] ∙ [[Prefix and suffix vectors]]<br />
|-<br />
! Computational<br />
| [[Match]] ∙ [[Not Match]] ∙ [[Membership]] ∙ [[Find]] ∙ [[Nub Sieve]] ∙ [[Encode]] ∙ [[Decode]] ∙ [[Matrix Inverse]] ∙ [[Matrix Divide]] ∙ [[Format]] ∙ [[Execute]] ∙ [[Materialise]] ∙ [[Range]]<br />
|-<br />
! rowspan="2" | [[Primitive operator]]s !! Monadic<br />
| colspan="2" | [[Each]] ∙ [[Commute]] ∙ [[Constant]] ∙ [[Replicate]] ∙ [[Expand]] ∙ [[Reduce]] ∙ [[Windowed Reduce]] ∙ [[Scan]] ∙ [[Outer Product]] ∙ [[Key]] ∙ [[I-Beam]] ∙ [[Spawn]] ∙ [[Function axis]]<br />
|-<br />
! Dyadic<br />
| colspan="2" | [[Bind]] ∙ [[Function composition|Composition]]s ([[Compose]], [[Reverse Compose]], [[Beside]], [[Withe]], [[Atop (operator)|Atop]], [[Over]]) ∙ [[Inner Product]] ∙ [[Determinant]] ∙ [[Power (operator)|Power]] ∙ [[At]] ∙ [[Under]] ∙ [[Rank (operator)|Rank]] ∙ [[Depth (operator)|Depth]] ∙ [[Variant]] ∙ [[Stencil]] ∙ [[Cut]]<br />
|-<br />
! [[Quad name]]s<br />
| colspan="3" | [[Index origin]] ∙ [[Comparison tolerance]] ∙ [[Migration level]] ∙ [[Atomic vector]]<br />
|}</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Stop&diff=11186
Stop
2024-03-05T08:17:04Z
<p>Adám Brudzewsky: ⊢⍨</p>
<hr />
<div>{{Built-in|Stop|⊣}} (in [[SHARP APL]] and [[APLX]]), '''Hide''' (in [[GNU APL]] and [[Kap]]), or '''Null''' (in [[A+]]) is a [[primitive]] [[monadic function]] that ignores its argument and returns a non-printing value. It shares the left tack glyph with [[Left Identity]]. The nature of the returned value can vary: for example an empty [[matrix]] is used in [[SAX]] and APLX, while GNU APL uses the [[scalar]] 0 but returns it as a [[shy result]] (or "committed"). In SHARP APL's initial implementation of <syntaxhighlight lang=apl inline>⊣</syntaxhighlight>, Stop returned "no result", so that attempting to use its result would be an error.<ref>[https://www.jsoftware.com/papers/satn45.htm "Language Extensions of May 1983"]. SATN-45, 1983-05-02.</ref><br />
<br />
In other dialects, monadic <syntaxhighlight lang=apl inline>⊣</syntaxhighlight> is the [[identity function]], exactly like <syntaxhighlight lang=apl inline>⊢</syntaxhighlight>. This redundancy means that it can be redefined without losing any primitive functionality. However, pairing both dyadic functions with the identity may be useful in constructing [[ambivalent]] functions, particularly in [[tacit]] programming. In [[April]], monadic <syntaxhighlight lang=apl inline>⊣</syntaxhighlight> ("Empty") returns its argument is returned as a shy result, giving it the properties of both Stop and the identity.<br />
<br />
In dialects where <syntaxhighlight lang=apl inline>⊣</syntaxhighlight> does not return the argument when used monadically, the effect can be achieved with <syntaxhighlight lang=apl inline>⊢⍨</syntaxhighlight> using the [[commute]] operator.<br />
<br />
== Documentation ==<br />
<br />
* [https://microapl.com/apl_help/ch_020_020_753.htm APLX]<br />
* [https://kapdemo.dhsdevelopments.com/reference.html#_hideleft Kap]<br />
<br />
== References ==<br />
<references/><br />
{{APL built-ins}}[[Category:Primitive functions]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL_Seeds&diff=11156
APL Seeds
2024-03-04T12:21:02Z
<p>Adám Brudzewsky: </p>
<hr />
<div>[[File:APL seeds logo.png|thumb|The APL Seeds logo.]]<br />
:''This article is about the conference. For the chat lesson series, see [[APL Orchard#APL Seeds]].''<br />
'''APL Seeds''' is an online [[Conferences|conference]] held by [[Dyalog Ltd.]], aimed at new and prospective users of APL. It consists of half a day with brief overviews of the language, introductions to available resources, and demonstrations of cases where APL has been successfully applied. The sessions are recorded and later released on [[wikipedia:YouTube|] and [https://dyalog.tv dyalog.tv].<br />
<br />
APL Seeds serves as a complement to the [[Dyalog user meeting]] which is mainly aimed at and attended by existing APL users, especially professionals.<br />
<br />
=== APL Seeds '21 ===<br />
<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm APL Seeds '21] was held online on 31st March 2021. <br />
<br />
==== Dyalog presentations ====<br />
* '''D01: Welcome to APL Seeds '21''', [[Gitte Christensen]], Managing Director (CEO), and [[Richard Park]] ([https://www.dyalog.com/uploads/conference/aplseeds21/presentations/D01_WelcomeToAPLSeeds_GC.pdf GC slides], [https://www.dyalog.com/uploads/conference/aplseeds21/presentations/D01_WelcomeToAPLSeeds_RP.pdf RP slides], [https://dyalog.tv/APLSeeds21/?v=eQcMj_n_VTo video (23 mins)])<br />
* '''D02: Will You Play APL With Me?''', Rodrigo Gerrão Serrão (Jupyter Notebook: [https://tryapl.org/?notebook=https://github.com/Dyalog/dyalog-jupyter-notebooks/blob/master/Justifying%20Text.ipynb TryAPL], [https://github.com/Dyalog/dyalog-jupyter-notebooks/blob/master/Justifying%20Text.ipynb download]; [https://dyalog.tv/APLSeeds21/?v=U6ofXSYTST8 video (45 mins)]) <br />
<br />
==== User Presentations ====<br />
* '''U01: How an APL Prototype Helped Designing a Service''', Martin Janiczek, [[wikipedia:GlobalWebIndex|GWI]] (Czech Republic) ([https://www.dyalog.com/uploads/conference/aplseeds21/presentations/U01_HowAnAPLPrototypeHelpedDesigningAService.pdf slides], [https://dyalog.tv/APLSeeds21/?v=qDl3obmOd58 video])<br />
* '''U02: Algorithms as a Tool of Thought''', Conor Hoekstra, [[wikipedia:Nvidia|Nvidia]] (Canada) ([https://www.dyalog.com/uploads/conference/aplseeds21/presentations/U02_AlgorithmsAsAToolOfThought.pdf slides], [https://github.com/codereport/Talks/tree/master/2021-03-APLSeeds/AlgorithmsAsAToolOfThought code], [https://dyalog.tv/APLSeeds21/?v=GZuZgCDql6g video (45 mins)])<br />
* '''U03: Simulation and Gaming with APL''', Tomas Gustafsson, Stormwind Ab Oy (Finland) ([https://www.dyalog.com/uploads/conference/aplseeds21/presentations/U03_SimulationAndGamingWithAPL.zip materials], [https://dyalog.tv/APLSeeds21/?v=iC9floP7POU video (66 mins)])<br />
<br />
=== APL Seeds '22 ===<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds22.htm APL Seeds '22] was held online on 29th March 2022.<br />
<br />
==== Dyalog presentations ====<br />
* '''D01: Welcome to APL Seeds '22''', [[Gitte Christensen]], Managing Director (CEO), and [[Richard Park]] ([https://www.dyalog.com/uploads/conference/aplseeds22/presentations/D01_WelcomeToAPLSeeds22.pdf slides], [https://dyalog.tv/APLSeeds22/?v=U6rbd-83f-c video (31 mins)])<br />
* '''D02: APL – Easy to Learn, Worth Mastering''', Richard Park ([https://www.dyalog.com/uploads/conference/aplseeds22/presentations/D02_APLEasyToLearnWorthMastering.pdf slides], [https://dyalog.tv/APLSeeds22/?v=o-0xk96_BNw video (27 mins)]) <br />
<br />
==== User Presentations ====<br />
* '''U01: What's a k-mer?''', Stefan Kruger, [[wikipedia:IBM|IBM]] (U.K) ([https://www.dyalog.com/uploads/conference/aplseeds22/presentations/U01_WhatIsAKmer.pdf slides], [https://dyalog.tv/APLSeeds22/?v=h-kUZfdPbdU video (37 mins)])<br />
* '''U02: April: An APL Compiling To Common Lisp''', Andrew Sengul, Bloxl (USA) ([https://dyalog.tv/APLSeeds22/?v=Wxaqu8E83gE video (39 mins)])<br />
* '''U03: The Array Cast (live podcast recording)''', host: Conor Hoekstra, Nvidia (Canada) ([https://www.arraycast.com/episodes/episode24-apl-seeds-2022 podcast (63 mins)])<br />
<br />
=== APL Seeds '23 ===<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds23.htm APL Seeds '23] was held online on 22nd March 2023.<br />
<br />
==== Dyalog presentations ====<br />
* '''D01: The Heart of the Algorithm''', Rich Park ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/D01_HeartOfTheAlgorithm.pdf slides], [https://dyalog.tv/APLSeeds23/?v=O73HYH0p8eo video (27 mins)])<br />
* '''D02: But How Will I Remember All Those Squiggles?! — APL Mnemonics''', [[Adám Brudzewsky]] ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/D02_APLMnemonics.pdf slides], [https://dyalog.tv/APLSeeds23/?v=qZtb4XOLdkI video (28 mins)])<br />
* '''D03: Getting Work Done with APL''', Josh David ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/D03_GettingWorkDoneWithAPL.pdf slides], [https://dyalog.tv/APLSeeds23/?v=4dMzBdjaN8I video (45 mins)])<br />
<br />
==== User Presentations ====<br />
* '''U01: Why Would a Non-Programmer Learn APL?''', Richard Savenije ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/U01_NonProgrammerAPL.pdf slides], [https://dyalog.tv/APLSeeds23/?v=6AWSPC6qQB4 video (29 mins)])<br />
* '''U02: Doing Boring Stuff in APL''', Stefan Kruger, IBM (U.K.) ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/U02_DoingBoringStuffInAPL.pdf slides], [https://dyalog.tv/APLSeeds23/?v=-9NMzR4LFXk video (54 mins)]<br />
<br />
=== APL Seeds '24 ===<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds24.htm APL Seeds '24] will be held online on 27th March 2024.<br />
<br />
==== Presentations and discussion Panels ====<br />
* '''P01: What is APL and What Can APL Do For You''', [[Adám Brudzewsky]]<br />
* '''P02: Getting Started and Learning APL''', Asher Harvey-Smith, Finn Flug, Isaac Wooden, Justin Dowdy, Max Sun, and Stefan Kruger<br />
* '''P03: APL in Research – Prototyping Software''', Santiago Núñez-Corrales<br />
* '''P04: APL in Academia – Writing Software for Science''', Jesús Galan Lopez, Santiago Núñez-Corrales, and Stephen Mansour<br />
* '''P05: APL in Industry - Using APL to Get Things Done''', Alexander Block, Finn Flug, Josh David, Mark Wolfson, and Max Sun<br />
* '''P06: Closing session''', Adám Brudzewsky<br />
<br />
== External Links ==<br />
* [[Dyalog Ltd.]]: [https://www.dyalog.com/user-meetings/index.htm User Meetings] webpage<br />
<br />
{{APL community}}[[Category:Conferences]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Template:APL_built-ins&diff=11134
Template:APL built-ins
2024-03-02T20:31:07Z
<p>Adám Brudzewsky: </p>
<hr />
<div><noinclude>__NOTITLE__</noinclude><br />
{| class="wikitable <includeonly>{{{1|mw-collapsible mw-collapsed}}}</includeonly>" style="width:100%"<br />
! colspan=4 | '''<big>APL built-ins</big>''' [[{{fullurl:Template:APL_built-ins|action=edit}} edit]]<br />
|-<br />
! rowspan="9" style="width:6em;" | [[Primitive function]]s<br />
|-<br />
! rowspan="3" style="width:6em;" | [[Scalar function|Scalar]]<br />
|-<br />
! style="width:6em;" | Monadic<br />
| [[Conjugate]] ∙ [[Negate]] ∙ [[Signum]] ∙ [[Reciprocal]] ∙ [[Magnitude]] ∙ [[Exponential]] ∙ [[Natural Logarithm]] ∙ [[Floor]] ∙ [[Ceiling]] ∙ [[Factorial]] ∙ [[Not]] ∙ [[Pi Times]] ∙ [[Roll]] ∙ [[Type]] ∙ [[Imaginary]] ∙ [[Square Root]]<br />
|-<br />
! Dyadic<br />
| [[Add]] ∙ [[Subtract]] ∙ [[Times]] ∙ [[Divide]] ∙ [[Residue]] ∙ [[Power (function)|Power]] ∙ [[Logarithm]] ∙ [[Minimum]] ∙ [[Maximum]] ∙ [[Binomial]] ∙ [[Comparison function]]s ∙ [[Boolean#Boolean_functions|Boolean functions]] ([[And]], [[Or]], [[Nand]], [[Nor]]) ∙ [[GCD]] ∙ [[LCM]] ∙ [[Circular]] ∙ [[Complex (function)|Complex]] ∙ [[Root]]<br />
|-<br />
! rowspan="5" | [[Mixed function|Non-Scalar]]<br />
|-<br />
! [[Structural function|Structural]]<br />
| [[Shape]] ∙ [[Reshape]] ∙ [[Tally]] ∙ [[Depth]] ∙ [[Ravel]] ∙ [[Enlist]] ∙ [[Table]] ∙ [[Catenate]] ∙ [[Reverse]] ∙ [[Rotate]] ∙ [[Transpose]] ∙ [[Raze]] ∙ [[Mix]] ∙ [[Split]] ∙ [[Enclose]] ∙ [[Nest]] ∙ [[Cut (K)]] ∙ [[Pair]] ∙ [[Link]] ∙ [[Partitioned Enclose]] ∙ [[Partition]]<br />
|-<br />
! Selection<br />
| [[First]] ∙ [[Pick]] ∙ [[Take]] ∙ [[Drop]] ∙ [[Unique]] ∙ [[Identity]] ∙ [[Select]] ∙ [[Replicate]] ∙ [[Expand]] ∙ [[Set function]]s ([[Intersection]] ∙ [[Union]] ∙ [[Without]]) ∙ [[Bracket indexing]] ∙ [[Index (function)|Index]]<br />
|-<br />
! Selector<br />
| [[Index generator]] ∙ [[Grade]] ∙ [[Index Of]] ∙ [[Interval Index]] ∙ [[Indices]] ∙ [[Deal]] ∙ [[Prefix and suffix vectors]]<br />
|-<br />
! Computational<br />
| [[Match]] ∙ [[Not Match]] ∙ [[Membership]] ∙ [[Find]] ∙ [[Nub Sieve]] ∙ [[Encode]] ∙ [[Decode]] ∙ [[Matrix Inverse]] ∙ [[Matrix Divide]] ∙ [[Format]] ∙ [[Execute]] ∙ [[Materialise]] ∙ [[Range]]<br />
|-<br />
! rowspan="2" | [[Primitive operator]]s !! Monadic<br />
| colspan="2" | [[Each]] ∙ [[Commute]] ∙ [[Constant]] ∙ [[Replicate]] ∙ [[Expand]] ∙ [[Reduce]] ∙ [[Windowed Reduce]] ∙ [[Scan]] ∙ [[Outer Product]] ∙ [[Key]] ∙ [[I-Beam]] ∙ [[Spawn]] ∙ [[Function axis]]<br />
|-<br />
! Dyadic<br />
| colspan="2" | [[Bind]] ∙ [[Function composition|Composition]]s ([[Compose]], [[Reverse Compose]], [[Beside]], [[Withe]], [[Atop (operator)|Atop]], [[Over]]) ∙ [[Inner Product]] ∙ [[Power (operator)|Power]] ∙ [[At]] ∙ [[Under]] ∙ [[Rank (operator)|Rank]] ∙ [[Depth (operator)|Depth]] ∙ [[Variant]] ∙ [[Stencil]] ∙ [[Cut]]<br />
|-<br />
! [[Quad name]]s<br />
| colspan="3" | [[Index origin]] ∙ [[Comparison tolerance]] ∙ [[Migration level]] ∙ [[Atomic vector]]<br />
|}</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Dyalog_APL_versions&diff=11117
Dyalog APL versions
2024-03-01T14:02:49Z
<p>Adám Brudzewsky: 19.0</p>
<hr />
<div>[[Dyalog APL]] is released in numbered versions, with approximately one version per year. Each release version is classified as a major (.0) or minor (point) release, depending on whether the major version number is incremented. Major versions are more likely to introduce new features and may spend longer in development.<br />
<br />
For information about versions prior to 10.0, see [[Dyalog APL#Versions]].<br />
<br />
== 10.0 ==<br />
<br />
Version 10.0 was released March 2003. It incorporated aspects of [[.NET]] support that had been part of Dyalog.NET, as well as other miscellaneous improvements to the language, interface, and performance.<br />
<br />
The new constant value <syntaxhighlight lang=apl inline>⎕NULL</syntaxhighlight> was added for better integration with .NET. Another new [[system function]], <syntaxhighlight lang=apl inline>⎕NLOCK</syntaxhighlight>, was added for file locking support. Two features were added to <syntaxhighlight lang=apl inline>:For</syntaxhighlight> loops: the <syntaxhighlight lang=apl inline>:InEach</syntaxhighlight> [[keyword]] for iterating simultaneously along several arrays, and automatic handling of [[.NET]] COM collections.<br />
<br />
This release added keyword completion (AutoCompletion) and syntax colouring in the [[session]]. New performance features were added: [[Idiom recognition|recognised idioms]] were combinations of tokens supported by special code, and binding a search function ([[Index of]] or [[Membership]]) to its principal argument invoked the new retained hash table mechanism, saving the work of creating a hash table for that argument every time the search function was called after the first. The APLScript mechanism, allowing source files to be converted to workspaces for distribution, was also added. The resulting executables could be distributed with a copy of Dyalog APL in library form.<br />
<br />
== 10.1 ==<br />
<br />
Version 10.1 was released July 2004. It allowed [[tradfn]] arguments and results to be composed of multiple variables (much like [[stranding]]) and featured improved thread handling, including a token pool mechanism for synchronisation. In preparation for the upcoming 64-bit release in version 11.0, it added support for 64-bit [[component file]]s, which increased the 4GB limit on component file sizes imposed by 32-bit files.<br />
<br />
[[System function]]s <syntaxhighlight lang=apl inline>⎕TPUT</syntaxhighlight> and <syntaxhighlight lang=apl inline>⎕TGET</syntaxhighlight> were added to manage threads, along with the system variable <syntaxhighlight lang=apl inline>⎕TPOOL</syntaxhighlight> and function <syntaxhighlight lang=apl inline>⎕TREQ</syntaxhighlight> to report on existing threads and requests. The current thread name can be found with the new system function <syntaxhighlight lang=apl inline>⎕TNAME</syntaxhighlight>.<br />
<br />
File handling system functions such as <syntaxhighlight lang=apl inline>⎕FCREATE</syntaxhighlight> were extended to allow 0 as an input tie number, to indicate that the smallest available tie number should be used (0 is not a valid option). The release also featured further improvements to the [[session]] such as filename completion for workspace commands.<br />
<br />
== 11.0 ==<br />
<br />
[https://help.dyalog.com/12.1/html/interoperability.htm Release notes] ([https://docs.dyalog.com/12.0/Dyalog%20APL%20Release%20Notes.v11.0.pdf pdf])<br />
<br />
Version 11.0 was released October 2006, and was released for both 32- and 64-bit systems—Dyalog's first 64-bit release aside from a much earlier [[wikipedia:DEC Alpha|DEC Alpha]] release. It introduced [[object-oriented programming]] extensions designed to work like [[.NET]] and based technologically on the existing [[namespace]]s. The primary new features were classes, instances (objects), and interfaces, supporting inheritance, access control, and constructors and destructors. Instances could be placed in arrays, and [[empty]] arrays could store the class of an instance in the [[prototype]]. When instantiated (for instance by taking the [[First]] element of an empty array), a prototype object would be created using the class's [[niladic]] constructor, if present. Classes could interact with namespaces by importing their functions as methods. Dyalog's Windows GUI framework, already based on .NET classes, was integrated with the new Dyalog classes.<br />
<br />
New [[Quad name]]s were added to support object-oriented programming: the [[system function]]s <syntaxhighlight lang=apl inline>⎕NEW</syntaxhighlight>, <syntaxhighlight lang=apl inline>⎕CLASS</syntaxhighlight>, <syntaxhighlight lang=apl inline>⎕INSTANCES</syntaxhighlight>, and <syntaxhighlight lang=apl inline>⎕DF</syntaxhighlight>, and [[system variable]]s <syntaxhighlight lang=apl inline>⎕BASE</syntaxhighlight> and <syntaxhighlight lang=apl inline>⎕THIS</syntaxhighlight>. Additionally, system functions <syntaxhighlight lang=apl inline>⎕FIX</syntaxhighlight> and <syntaxhighlight lang=apl inline>⎕SRC</syntaxhighlight> were added to support namespace scripts.<br />
<br />
Dyalog 11.0 also included primitive extensions:<br />
* [[Squad Indexing|Index]] (<syntaxhighlight lang=apl inline>⌷</syntaxhighlight>), possibly with [[Function axis|axis]], was added. A monadic case, called [[Materialise]], was also introduced in order to get a class's default property.<br />
* The [[Power (operator)|Power]] (<syntaxhighlight lang=apl inline>⍣</syntaxhighlight>) operator was added, with support for [[inverse]]s.<br />
* [[And]] (<syntaxhighlight lang=apl inline>∧</syntaxhighlight>) and [[Or]] (<syntaxhighlight lang=apl inline>∨</syntaxhighlight>) were extended to non-[[Boolean]]s as the [[LCM]] and [[GCD]] functions, respectively.<br />
<br />
== 12.0 ==<br />
<br />
[https://help.dyalog.com/13.1/index_CSH.htm#RelNotes12.0/Key%20Features.htm Release notes], [https://docs.dyalog.com/12.0 documentation centre]<br />
<br />
Version 12.0 was released in August 2008. It introduced full [[Unicode]] support to Dyalog APL, so that all [[character]] data in the new Unicode edition consisted of Unicode code points. However, a Classic edition without Unicode (retaining Dyalog's old APL character set) was also released. As of version 18.0, every later Dyalog release has included both Classic and Unicode interpreters. Unicode characters were supported by three new [[internal type]]s: 1-byte, 2-byte, or 4-byte code points could be used depending on the maximum code point in the string. In each case a single element is a single code point, so the 1-byte and 2-byte encodings are compressed versions of [[wikipedia:UTF-32|UTF-32]], and are unrelated to variable-width encodings like [[wikipedia:UTF-8|UTF-8]] and [[wikipedia:UTF-16|UTF-16]]. This change affected the way character data was sorted, because Dyalog's character set did not have the same ordering as Unicode. The change to Unicode allowed a more standard way of implementing keyboard input to be used.<br />
<br />
In support of Unicode, the new [[system function]]s <syntaxhighlight lang=apl inline>⎕AVU</syntaxhighlight> (a Unicode version of <syntaxhighlight lang=apl inline>⎕AV</syntaxhighlight>) and <syntaxhighlight lang=apl inline>⎕UCS</syntaxhighlight> ([[Unicode Convert]]) were added. Two other system functions <syntaxhighlight lang=apl inline>⎕FCOPY</syntaxhighlight> (Copy File) and <syntaxhighlight lang=apl inline>⎕FPROPS</syntaxhighlight> (File Properties) were also added.<br />
<br />
The new version integrated Causeway tools including SharpPlot with the interpreter. Dyalog had purchased these tools in April 2007. It also marked the official adoption of SALT (Simple APL Library Toolkit) as a way to distribute code; SALT had been included in version 11.0 as an experimental feature. [[Component file]]s were enhanced both with Unicode support and file journalling to improve recovery.<br />
<br />
== 12.1 ==<br />
<br />
[https://help.dyalog.com/13.1/index_CSH.htm#RelNotes12.1/Key%20Features.htm Release notes], [https://docs.dyalog.com/12.1 documentation centre]<br />
<br />
Version 12.1 was released in November 2009. Although it was a minor release, developed alongside the much more ambitious version 13.0, it still included new language features in addition to improvements to the language environment and [[.NET]] integration.<br />
<br />
The primitive function [[Table]] (<syntaxhighlight lang=apl inline>⍪</syntaxhighlight>) from [[ISO/IEC 13751:2001]], was added, as well as the [[I-beam]] operator (<syntaxhighlight lang=apl inline>⌶</syntaxhighlight>). I-beams for syntax colouring, parallel execution control, memory manager statistics, and exporting the workspace to .NET were provided; many more have been added since. Additionally, the [[system function]]s <syntaxhighlight lang=apl inline>⎕XML</syntaxhighlight>, for converting data to and from [[wikipedia:XML|XML]], and <syntaxhighlight lang=apl inline>⎕FCHK</syntaxhighlight>, to check and repair [[component file]]s, were added. The way the [[Outer Product]] operator computes the [[prototype]] of an [[empty]] result was changed: rather than using the right argument's prototype, in 12.1 it calls the operand once on the argument prototypes to determine the result prototype.<br />
<br />
== 13.0 ==<br />
<br />
[https://help.dyalog.com/13.1/index_CSH.htm#RelNotes13.0/Key%20Features.htm Release notes], [https://docs.dyalog.com/13.0 documentation centre]<br />
<br />
Version 13.0 was released in April 2011. It featured extensive changes to the language including support for [[Complex number|complex]] and [[decimal float]] [[numeric type]]s, [[identity function]] primitives, support for [[regular expression]]s, extensions to existing primitives, and new [[Idiom recognition|idioms]].<br />
<br />
Support for [[complex number]]s including [[numeric literal]] notation such as <syntaxhighlight lang=apl inline>3J4</syntaxhighlight>, arithmetic and [[Circle function|circle]] functions, and [[tolerant comparison]]s [[Equal]] and [[Not Equal]] (but not [[array ordering]]: [[total array ordering]] including ordering of complex numbers was added in [[#17.0|17.0]]). While almost all changes were [[Backwards compatibility|backwards compatible]], backwards compatibility in the [[Power]] function was broken: fractional powers of negative numbers, such as <syntaxhighlight lang=apl inline>¯8 * ÷3</syntaxhighlight>, could return different results.<br />
<br />
Support was added for 128-bit [[decimal floating point]] numbers (from [[wikipedia:IEEE 754|IEEE 754]]-2008), using the [[wikipedia:densely packed decimal|densely packed decimal]] (DPD) format internally. The [[system variable]] <syntaxhighlight lang=apl inline>⎕FR</syntaxhighlight> (Floating point Representation) was added, with the options 645 for 64-bit binary (5) floats and 1287 for 128-bit decimal (7) floats. Because of the increased precision of decfs, an additional system variable <syntaxhighlight lang=apl inline>⎕DCT</syntaxhighlight> was added to control [[comparison tolerance]] with decfs enabled, with the default value <syntaxhighlight lang=apl inline>1E¯28</syntaxhighlight>. When <syntaxhighlight lang=apl inline>⎕FR</syntaxhighlight> is 645, <syntaxhighlight lang=apl inline>⎕CT</syntaxhighlight> controls the comparison tolerance, but when it is 1287, <syntaxhighlight lang=apl inline>⎕DCT</syntaxhighlight> controls comparison tolerance. Support for interfacing with [[.NET]] decimal floats was also added. Because no complex decimal float type was added, version 13.1 broke Dyalog APL's strict numeric type hierarchy, introducing potential [[Array model#Numeric type coercion|changes in precision]] when placing values together in an array.<br />
<br />
Identity functions <syntaxhighlight lang=apl inline>⊣</syntaxhighlight> ([[Same]], [[Left]]) and <syntaxhighlight lang=apl inline>⊢</syntaxhighlight> ([[Same]], [[Right]]) were introduced. Monadic <syntaxhighlight lang=apl inline>+</syntaxhighlight>, formerly called [[Identity]], was changed to [[Conjugate]] (a change which did not break backwards compatibility, because prior to the introduction of [[complex number]]s the two functions were indistinguishable). Dyadic functions [[Take]] (<syntaxhighlight lang=apl inline>↑</syntaxhighlight>), [[Drop]] (<syntaxhighlight lang=apl inline>↓</syntaxhighlight>), and [[Squad Indexing|Index]] (<syntaxhighlight lang=apl inline>⌷</syntaxhighlight>) were extended to allow short left arguments, matching [[SHARP APL]]'s interpretation of the [[leading axis theory]].<br />
<br />
A [[primitive operator]] (<syntaxhighlight lang=apl inline>⍠</syntaxhighlight>) was introduced as an alternative spelling of the existing [[system operator]] [[Variant]] (<syntaxhighlight lang=apl inline>⎕OPT</syntaxhighlight>), with a functionality similar to one sketched by [[Ken Iverson]] (<syntaxhighlight lang=apl inline>:</syntaxhighlight>)<ref>[[Ken Iverson|Kenneth E. Iverson]], [https://www.jsoftware.com/papers/APLDictionary.htm A Dictionary of APL], VI. Conjunctions, [https://www.jsoftware.com/papers/APLDictionary1.htm#colon Custom]. APL Quote Quad, Volume 18, Number 1, 1987-09.</ref> and implemented in [[J]] (<syntaxhighlight lang=j inline>!.</syntaxhighlight>).<br />
<br />
The [[Index Generator]] function was changed so that <syntaxhighlight lang=apl inline>⍳⍬</syntaxhighlight> would return <syntaxhighlight lang=apl inline>⊂⍬</syntaxhighlight> rather than <syntaxhighlight lang=apl inline>⎕IO</syntaxhighlight>. The former behaviour was considered a bug because <syntaxhighlight lang=apl inline>⎕IO</syntaxhighlight> is not a valid [[index]] into an array with [[empty]] [[shape]] (that is, a [[scalar]]).<br />
<br />
[[System operator]]s <syntaxhighlight lang=apl inline>⎕S</syntaxhighlight> and <syntaxhighlight lang=apl inline>⎕R</syntaxhighlight> were added to perform [[regex]] search and replace, respectively. The [[system function]] <syntaxhighlight lang=apl inline>⎕RSI</syntaxhighlight> (Reference Space Indicator) was implemented to return references to the namespaces from which functions were called: <syntaxhighlight lang=apl inline>⎕RSI</syntaxhighlight> is identical to <syntaxhighlight lang=apl inline>⎕NSI</syntaxhighlight> but returns [[namespace reference]]s instead of [[string]] names. System function <syntaxhighlight lang=apl inline>⎕PROFILE</syntaxhighlight> was added for line-level profiling of APL applications.<br />
<br />
Dyalog's Input Method Editor (IME), used to control keyboard layouts, was redesigned.<br />
<br />
[[Idiom recognition]] was improved: the append idiom <syntaxhighlight lang=apl inline>,←</syntaxhighlight> was extended and a new append idiom <syntaxhighlight lang=apl inline>⍪←</syntaxhighlight> was added, as well as a new join idiom <syntaxhighlight lang=apl inline>⍪/</syntaxhighlight>. Tack-[[reduce]] idioms <syntaxhighlight lang=apl inline>⊣⌿</syntaxhighlight>, <syntaxhighlight lang=apl inline>⊣/</syntaxhighlight>, <syntaxhighlight lang=apl inline>⊢⌿</syntaxhighlight>, and <syntaxhighlight lang=apl inline>⊢/</syntaxhighlight> to obtain the first or last [[major cell]] of an array, or the first or last column of a matrix, were added. Euler's idiom <syntaxhighlight lang=apl inline>*○</syntaxhighlight>, producing a unit complex number, was also added.<br />
<br />
[[Dyadic Grade]] with a [[Bind|bound]] left argument was improved by allowing a [[retained hash]] of that left argument, in order to avoid reprocessing it during every invocation of Grade.<br />
<br />
A new [[error message]], [[INTERNAL ERROR]] (99) was added. Several [[I-beam]]s related to Unix forks were added.<br />
<br />
== 13.1 ==<br />
<br />
[https://help.dyalog.com/13.1/index_CSH.htm#RelNotes13.1/Key%20Features.htm Release notes], [https://docs.dyalog.com/13.1 documentation centre]<br />
<br />
Version 13.1 was released in April 2012.<br />
<br />
Error messages were extended with the potential for additional information beyond the type of error. The [[system variable]] <syntaxhighlight lang=apl inline>⎕DMX</syntaxhighlight> (Diagnostic Message eXtended) was added to access this information programmatically, as well as a help URL and the source code location corresponding to the error. The [[system function]] <syntaxhighlight lang=apl inline>⎕FHIST</syntaxhighlight>, to access information about a file's history (such as time of creation), was also added.<br />
<br />
New random number generators were added: the [[wikipedia:Mersenne twister|Mersenne twister]] algorithm, and querying the operating system. The algorithm could be selected with [[I-beam]] <syntaxhighlight lang=apl inline>16807⌶</syntaxhighlight>. Support was added for [[Enlist]] in [[selective assignment]].<br />
<br />
New [[Idiom recognition|idioms]] <syntaxhighlight lang=apl inline>0=⊃⍴</syntaxhighlight> and <syntaxhighlight lang=apl inline>0≠⊃⍴</syntaxhighlight> (valid for <syntaxhighlight lang=apl inline>⎕ML<2</syntaxhighlight>) were added. Idiom support was backported to [[#13.0|13.0]] as well.<br />
<br />
[[Replicate]] was extended to allow extension of any right argument with length 1 along the replication axis, and not just a [[singleton]] right argument, matching [[APL2]]'s [[conformability]] rules for Replicate.<br />
<br />
== 13.2 ==<br />
<br />
[https://help.dyalog.com/13.2/index_CSH.htm#RelNotes13.2/Key%20Features.htm Release notes], [https://docs.dyalog.com/13.2 documentation centre]<br />
<br />
Version 13.2 was released in January 2013. It included GUI improvements, a new Array [[Editor]], and minor improvements in the language and implementation.<br />
<br />
[[Selective assignment]] was was extended to allow [[bracket indexing]] and the [[Each]] operator, in order to match [[APL2]] behaviour.<br />
<br />
Performance of [[reduction]]s, [[scan]]s, and [[stranding]] was improved. In particular, stranding and the scans <syntaxhighlight lang=apl inline>≤\</syntaxhighlight>, <syntaxhighlight lang=apl inline>>\</syntaxhighlight>, <syntaxhighlight lang=apl inline>≥\</syntaxhighlight>, <syntaxhighlight lang=apl inline>⍱\</syntaxhighlight>, and <syntaxhighlight lang=apl inline>⍲\</syntaxhighlight> were all improved asymptotically, from <math>O(n^2)</math> to <math>O(n)</math> time in the length of the argument or number of stranded arrays.<br />
<br />
== 14.0 ==<br />
<br />
Release [https://www.dyalog.com/dyalog/dyalog-versions/140.htm announcement], [https://help.dyalog.com/14.0/index_CSH.htm#RelNotes14.0/Key%20Features.htm notes] ([https://docs.dyalog.com/14.0/Dyalog%20APL%20Release%20Notes.pdf pdf])<br />
<br />
Version 14.0 was released in June 2014. It featured extensive changes to the Dyalog APL language as well as its implementation.<br />
<br />
Under the direction of [[Roger Hui]], who had been hired by [[Dyalog Ltd.]] in 2011, several features adapted from [[J]] were added. Version 14.0 began the adoption in Dyalog APL of array programming's [[leading axis model]], with built-ins [[Tally]] (<syntaxhighlight lang=apl inline>≢</syntaxhighlight>), [[Key]] (<syntaxhighlight lang=apl inline>⌸</syntaxhighlight>), and the [[Rank operator]] (<syntaxhighlight lang=apl inline>⍤</syntaxhighlight>). [[Function train]]s, another J feature, were also introduced. Of these, Rank differs from J's definition because it does not allow complete [[leading axis agreement]]—instead, two arguments must have identical [[frame]]s or one frame must be empty—and Key has an added monadic case, and differs in that the operand is passed a left argument indicating the unique element used.<br />
<br />
Further changes were made in conjunction with the introduction of [[Rank operator|Rank]] and [[leading axis theory]]. [[Index Of]] was [[High-rank set functions|extended]] (as in [[J]]) to allow a left argument of [[rank]] greater than 1, searching [[major cell]]s of the left argument. [[Mix]] was extended to increase the rank of each element in its argument to a common rank, rather than giving a [[RANK ERROR]] if they had unequal ranks. This change brought the behavior of Mix into alignment with the result array combination used by the [[Rank operator]] and [[Key]]. An unrelated change was to extend Mix with [[Function axis|axis]] to allow the axis to be a [[vector]] indicating the final positions of each axis of the argument elements (rather than only a [[singleton]] indicating the position of the first axis). This change was made to apply only with a [[migration level]] setting of at least 2; it was extended to all migration levels in [[#18.0|version 18.0]].<br />
<br />
This version allowed [[monadic operator]]s to be manipulated more easily: beginning in 14.0, they can be [[Assignment|named]], grouped with parentheses, and displayed in the [[session]]. It also introduced a new way to form a monadic operator called [[right operand currying]]: a [[dyadic operator]] along with an [[operand]] to its right produces a [[derived operator]]. These changes did not extend to naming, parenthesizing, or displaying dyadic operators, nor to binding a left operant to a dyadic operator.<br />
<br />
Performance improvements to existing features were focused on [[Boolean]] arrays but also included work on [[indexing]] and [[scan]]s. A new [[I-beam]], <syntaxhighlight lang=apl inline>8⌶</syntaxhighlight>, was introduced to allow fast lookups on [[inverted table]]s, paralleling the extension to [[Index Of]] to allow lookups on non-inverted tables.<br />
<br />
The default [[migration level]] was changed from 0 to 1, with the effect that monadic <syntaxhighlight lang=apl inline>∊</syntaxhighlight> indicates [[Enlist]] rather than [[Type]] by default. The default [[random link]] was changed to use the [[wikipedia:Mersenne Twister|Mersenne Twister]] algorithm rather than a [[wikipedia:linear congruential generator|linear congruential generator]]. Additionally, the assignment <syntaxhighlight lang=apl inline>⎕RL←0</syntaxhighlight> was introduced to initialize random number generation with a seed taken from the operating system (which therefore differs between different APL instances).<br />
<br />
[[Component file]]s were enhanced with usability improvements in the component file [[system function]]s and the ability to create zipped (compressed) component files.<br />
<br />
== 14.1 ==<br />
<br />
Release [https://www.dyalog.com/dyalog/dyalog-versions/141.htm announcement], [https://help.dyalog.com/14.1/index_CSH.htm#RelNotes14.1/Key%20Features.htm notes] ([https://docs.dyalog.com/14.1/Dyalog%20APL%20Release%20Notes.pdf pdf])<br />
<br />
Version 14.1 was released in June 2015. It added support for Apple Mac OS (now [[wikipedia:macOS|macOS]]) using the new [[RIDE]] [[session]] environment, which was also released for Windows and Linux.<br />
<br />
Work continued on interfacing with [[.NET]], in particular databinding and a <syntaxhighlight lang=apl inline>:Disposable</syntaxhighlight> [[keyword]] to help manage object garbage collection.<br />
<br />
14.1 added support for [[control structure]]s and global variables to the bytecode compiler, and other performance improvements including improved evaluation of [[Idiom recognition|idioms]] and other special combinations.<br />
<br />
Support for parsing [[wikipedia:JSON|JSON]] files was added; it would later be turned into the [[system function]] <syntaxhighlight lang=apl inline>⎕JSON</syntaxhighlight> in [[#16.0|version 16.0]].<br />
<br />
== 15.0 ==<br />
<br />
Release [https://www.dyalog.com/dyalog/dyalog-versions/150.htm announcement], [https://help.dyalog.com/15.0/index_CSH.htm#RelNotes15.0/Key%20Features.htm notes] ([https://docs.dyalog.com/15.0/Dyalog%20Version%2015.0%20Release%20Notes.pdf pdf])<br />
<br />
Version 15.0 was released in June 2016. It added platform-independent [[portable file functions]] (<syntaxhighlight lang=apl inline>⎕NEXISTS</syntaxhighlight>, <syntaxhighlight lang=apl inline>⎕NINFO</syntaxhighlight>, <syntaxhighlight lang=apl inline>⎕NGET</syntaxhighlight>, <syntaxhighlight lang=apl inline>⎕NPUT</syntaxhighlight>, <syntaxhighlight lang=apl inline>⎕NDELETE</syntaxhighlight>, <syntaxhighlight lang=apl inline>⎕MKDIR</syntaxhighlight>, and <syntaxhighlight lang=apl inline>⎕NPARTS</syntaxhighlight>) and improved support for using APL source code from text files. It also added [[I-beam]]s for [[case conversion]] and creating [[hashed array]]s which behave identically to normal arrays but have faster performance when searched with [[set function]]s including [[Index-Of]] (<syntaxhighlight lang=apl inline>⍳</syntaxhighlight>) and [[Membership]] (<syntaxhighlight lang=apl inline>∊</syntaxhighlight>).<br />
<br />
Dyalog was made free for personal and non-commercial use starting in version 15.0.<br />
<br />
Work on the cross-platform [[session]] environment [[RIDE]] continued, with version 3.0 released simultaneously with Dyalog 15.0.<br />
<br />
== 16.0 ==<br />
<br />
Release [https://www.dyalog.com/dyalog/dyalog-versions/160.htm announcement], [https://help.dyalog.com/16.0/index_CSH.htm#RelNotes16.0/Key%20Features.htm notes] ([https://docs.dyalog.com/16.0/Dyalog%20Version%2016.0%20Release%20Notes.pdf pdf])<br />
<br />
Version 16.0 was released in June 2017. It added several new primitives as well as tools for working with [[wikipedia:JSON|JSON]] and [[wikipedia:Comma-separated values|CSV]] files.<br />
<br />
The following new primitive functions and operators were added:<br />
* [[Where]] (<syntaxhighlight lang=apl inline>⍸</syntaxhighlight>)<br />
* [[Interval Index]] (<syntaxhighlight lang=apl inline>⍸</syntaxhighlight>)<br />
* [[Nest]] (<syntaxhighlight lang=apl inline>⊆</syntaxhighlight>)<br />
* [[Partition]] (<syntaxhighlight lang=apl inline>⊆</syntaxhighlight>), another way to write a function which was previously only accessible with [[migration level]] 3<br />
* [[At]] (<syntaxhighlight lang=apl inline>@</syntaxhighlight>)<br />
* [[Stencil]] (<syntaxhighlight lang=apl inline>⌺</syntaxhighlight>)<br />
<br />
Additionally, [[system function]]s <syntaxhighlight lang=apl inline>⎕JSON</syntaxhighlight> and <syntaxhighlight lang=apl inline>⎕CSV</syntaxhighlight> were added to import and export data in common formats. Some JSON support was already present; 16.0 promoted it to a system function.<br />
<br />
Work was continued on the [[RIDE]] [[session]] environment, which was made the default IDE on Linux in addition to macOS. Additionally, the [[HTMLRenderer]] and [[MiServer]] user interface tools were introduced.<br />
<br />
Significant [https://www.dyalog.com/dyalog/dyalog-versions/160/performance.htm performance improvements] were made in [[structural function|structural]] and selective functions such as [[Transpose]], [[Catenate]], [[Take]], [[Rotate]], and [[Reverse]], and other primitives including [[Enlist]], [[Encode]], and [[Decode]]. Work on Dyalog's bytecode compiler was significantly reduced relative to 15.0, a trend which continued with almost no development on the compiler done in 17.0 and later.<br />
<br />
== 17.0 ==<br />
<br />
Release [https://www.dyalog.com/dyalog/dyalog-versions/170.htm announcement], [https://help.dyalog.com/17.0/index_CSH.htm#RelNotes17.0/Key%20Features.htm notes]<br />
<br />
Version 17.0 was released in July 2018. It features significant work on tools for using APL and interfacing with other languages, as well as performance, and a relatively small number of new language features.<br />
<br />
[[Total array ordering]] (TAO) was added in version 17.0, making it the first APL implementation to order entire arrays rather than cells of a single array. This allows [[Grade Up]] (<syntaxhighlight lang=apl inline>⍋</syntaxhighlight>), [[Grade down]] (<syntaxhighlight lang=apl inline>⍒</syntaxhighlight>), and [[Interval Index]] (<syntaxhighlight lang=apl inline>⍸</syntaxhighlight>) to work on [[nested array]]s. Additionally, [[Unique]] (<syntaxhighlight lang=apl inline>∪</syntaxhighlight>) was extended to allow an argument of any rank by removing duplicate [[major cell]]s.<br />
<br />
17.0 featured improvements to the HTML-based [[session]] environment [[RIDE]], and a preliminary version of [[Dyalog APL Link|Link]], which was fully released in [[#17.1|17.1]]. It also improved the positioning of the session's [[error caret]]: prior to 17.0 the caret usually pointed to a position further left than the source of an error, while in 17.0 and later it almost always points to the actual primitive or named function or operator which emitted the error, or the beginning of the derived function which did.<br />
<br />
Support for packaging APL code as a [[wikipedia:Shared library|shared library]] (for instance a .so or .dll file) for use by other languages was added.<br />
<br />
[[Portable file function]] support was improved, with changes including new functions <syntaxhighlight lang=apl inline>⎕NCOPY</syntaxhighlight> and <syntaxhighlight lang=apl inline>⎕NMOVE</syntaxhighlight> to copy and move files.<br />
<br />
Version 17.0 implemented substantial [https://www.dyalog.com/dyalog/dyalog-versions/170/performance.htm performance improvements] in many areas. The most important improvements were better use of vector instructions including support for [[wikipedia:NEON (instruction set)|ARM NEON]] and [[wikipedia:AVX2|AVX2]] and vectorised [[comparison function]]s, simplification of trivial cases for functions, improved [[Boolean]] algorithms, and improvements to [[Replicate]], [[Expand]], and [[Where]].<br />
<br />
== 17.1 ==<br />
<br />
Release [https://www.dyalog.com/dyalog/dyalog-versions/171.htm announcement], [https://help.dyalog.com/17.1/index.htm#RelNotes17.1/Highlights.htm notes]<br />
<br />
Version 17.1 was released in October 2019, shortly after the [[Dyalog '19]] user meeting. It contains few new features and almost no performance changes. The primary changes to the language were to add the [[Dyalog APL Link|Link]] system using <syntaxhighlight lang=apl inline>]LINK</syntaxhighlight>, allow running Dyalog through [[wikipedia:Docker (software)|docker]] containers, and improve cross-platform support for [[HTMLRenderer]]. Additionally, Dyalog's licensing was changed to allow non-commercial users to download and run it for free, without applying for a non-commercial license from Dyalog.<br />
<br />
The [[Interval Index]] (<syntaxhighlight lang=apl inline>⍸</syntaxhighlight>) primitive was extended to allow duplicate values in the left argument (a feature already present in [[J]], which does not verify that the left argument is sorted).<br />
<br />
== 18.0 ==<br />
[https://www.dyalog.com/dyalog/dyalog-versions/180.htm Release announcement], [https://help.dyalog.com/18.0/#RelNotes18.0/Key%20Features.htm notes]<br />
<br />
Version 18.0 was released in June 2020. It was developed in parallel with version 17.1, which had very few new features, and includes several new primitives and extensions to existing primitives.<br />
<br />
The following new primitive functions and operators are added:<br />
* [[Unique Mask]] (<syntaxhighlight lang=apl inline>≠</syntaxhighlight>)<br />
* [[Atop]] operator (<syntaxhighlight lang=apl inline>⍤</syntaxhighlight>), sharing a symbol with [[Rank operator|Rank]]<br />
* [[Over]] operator (<syntaxhighlight lang=apl inline>⍥</syntaxhighlight>)<br />
* [[Constant]] operator (<syntaxhighlight lang=apl inline>⍨</syntaxhighlight>), sharing a symbol with [[Commute]]<br />
<br />
Integers greater than 1 are now allowed in the right argument of [[Where]] (<syntaxhighlight lang=apl inline>⍸</syntaxhighlight>), matching the definition of the corresponding [[primitive function]] in other APLs. A related extension allows integers greater than 1 in the left argument of [[Partitioned Enclose]] (<syntaxhighlight lang=apl inline>⊂</syntaxhighlight>), which produce empty partitions in the output. The extension to Partitioned Enclose makes it the first APL partitioning function which can produce empty partitions.<br />
<br />
Version 18.0 allows enabling multi-line input in the [[session]] using the [[line editor]], and allows [[control structure]]s to be used in the session. Multi-line input is begun when a [[dfn]], [[namespace]], [[class]], or control structure is begun but not finished on the same line. It also allows syntax colouring and editing multi-line blocks in the session.<br />
<br />
New and extended [[system function]]s for case folding and mapping (<syntaxhighlight lang=apl inline>⎕C</syntaxhighlight>) and date-time conversion are added.<br />
<br />
Initial support for [[wikipedia:.NET Core|.NET Core]], Microsoft's cross-platform successor to the original [[.NET]] framework, has been added.<br />
<br />
== 18.1 ==<br />
Version 18.1 (briefly called 19.0) was initially delayed<ref>[[Morten Kromberg]]. [https://www.dyalog.com/blog/2021/06/news-and-recommendations-regarding-dyalog-versions-17-1-18-0-and-18-1/ News and Recommendations Regarding Dyalog Versions 17.1, 18.0 and 18.1]. [[Dyalog Ltd.|Dyalog]] blog. 2021-06-22.</ref> and subsequently discarded<ref name="v18.2">[[Morten Kromberg]]. [https://www.dyalog.com/blog/2021/10/announcing-the-beta-programme-for-dyalog-apl-version-18-2/ Announcing the Beta Programme for Dyalog APL Version 18.2]. [[Dyalog Ltd.|Dyalog]] blog. 2021-10-07.</ref> due to bugs found in the optimisations made in version 18.0. Its features were transferred to version 18.2.<br />
<br />
== 18.2 ==<br />
[https://www.dyalog.com/dyalog/dyalog-versions/182.htm Release announcement], [https://docs.dyalog.com/18.2/Dyalog%20Version%2018.2%20Release%20Notes.pdf notes (pdf)]<br />
<br />
Version 18.2 was released in March 2022. It's based on version 17.1, merged with selected changes from 18.1.<ref name="v18.2"/> New features include the ability to run as a shell script, system function <syntaxhighlight lang=apl inline>⎕ATX</syntaxhighlight> to get workspace metadata, and improvements to Windows Explorer integration, Docker support, and RIDE.<br />
== 19.0 ==<br />
[https://www.dyalog.com/dyalog/dyalog-versions/190.htm Release announcement], [https://docs.dyalog.com/19.0/Dyalog%20Version%2019.0%20Release%20Notes.pdf notes (pdf)]<br />
<br />
Version 19.0 was released in March 2024. It introduces native support for 64-bit ARM (macOS and Raspberry Pi). New features include a new system function, <syntaxhighlight lang=apl inline>⎕TALLOC</syntaxhighlight> which allows independent components to safely use tokens for thread synchronisation without knowledge of each other and an experimental Health Monitor protocol that can be used to monitor the status of large collections of APL processes. It is the first version to ship with [[Tatin]] as part of the installation package.<br />
<br />
== References ==<br />
<references/><br />
{{APL dialects}}[[Category:Dyalog APL]][[Category:Lists]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL_Seeds&diff=11116
APL Seeds
2024-03-01T09:50:42Z
<p>Adám Brudzewsky: </p>
<hr />
<div>[[File:APL seeds logo.png|thumb|The APL Seeds logo.]]<br />
:''This article is about the conference. For the chat lesson series, see [[APL Orchard#APL Seeds]].''<br />
'''APL Seeds''' is an online [[Conferences|conference]] held by [[Dyalog Ltd.]], aimed at new and prospective users of APL. It consists of half a day with brief overviews of the language, introductions to available resources, and demonstrations of cases where APL has been successfully applied. The sessions are recorded and later released on [wikipedia:YouTube|] and [https://dyalog.tv dyalog.tv].<br />
<br />
APL Seeds serves as a complement to the [[Dyalog user meeting]] which is mainly aimed at and attended by existing APL users, especially professionals.<br />
<br />
=== APL Seeds '21 ===<br />
<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm APL Seeds '21] was held online on 31st March 2021. <br />
<br />
==== Dyalog presentations ====<br />
* '''D01: Welcome to APL Seeds '21''', [[Gitte Christensen]], Managing Director (CEO), and [[Richard Park]] ([https://www.dyalog.com/uploads/conference/aplseeds21/presentations/D01_WelcomeToAPLSeeds_GC.pdf GC slides], [https://www.dyalog.com/uploads/conference/aplseeds21/presentations/D01_WelcomeToAPLSeeds_RP.pdf RP slides], [https://dyalog.tv/APLSeeds21/?v=eQcMj_n_VTo video (23 mins)])<br />
* '''D02: Will You Play APL With Me?''', Rodrigo Gerrão Serrão (Jupyter Notebook: [https://tryapl.org/?notebook=https://github.com/Dyalog/dyalog-jupyter-notebooks/blob/master/Justifying%20Text.ipynb TryAPL], [https://github.com/Dyalog/dyalog-jupyter-notebooks/blob/master/Justifying%20Text.ipynb download]; [https://dyalog.tv/APLSeeds21/?v=U6ofXSYTST8 video (45 mins)]) <br />
<br />
==== User Presentations ====<br />
* '''U01: How an APL Prototype Helped Designing a Service''', Martin Janiczek, [[wikipedia:GlobalWebIndex|GWI]] (Czech Republic) ([https://www.dyalog.com/uploads/conference/aplseeds21/presentations/U01_HowAnAPLPrototypeHelpedDesigningAService.pdf slides], [https://dyalog.tv/APLSeeds21/?v=qDl3obmOd58 video])<br />
* '''U02: Algorithms as a Tool of Thought''', Conor Hoekstra, [[wikipedia:Nvidia|Nvidia]] (Canada) ([https://www.dyalog.com/uploads/conference/aplseeds21/presentations/U02_AlgorithmsAsAToolOfThought.pdf slides], [https://github.com/codereport/Talks/tree/master/2021-03-APLSeeds/AlgorithmsAsAToolOfThought code], [https://dyalog.tv/APLSeeds21/?v=GZuZgCDql6g video (45 mins)])<br />
* '''U03: Simulation and Gaming with APL''', Tomas Gustafsson, Stormwind Ab Oy (Finland) ([https://www.dyalog.com/uploads/conference/aplseeds21/presentations/U03_SimulationAndGamingWithAPL.zip materials], [https://dyalog.tv/APLSeeds21/?v=iC9floP7POU video (66 mins)])<br />
<br />
=== APL Seeds '22 ===<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds22.htm APL Seeds '22] was held online on 29th March 2022.<br />
<br />
==== Dyalog presentations ====<br />
* '''D01: Welcome to APL Seeds '22''', [[Gitte Christensen]], Managing Director (CEO), and [[Richard Park]] ([https://www.dyalog.com/uploads/conference/aplseeds22/presentations/D01_WelcomeToAPLSeeds22.pdf slides], [https://dyalog.tv/APLSeeds22/?v=U6rbd-83f-c video (31 mins)])<br />
* '''D02: APL – Easy to Learn, Worth Mastering''', Richard Park ([https://www.dyalog.com/uploads/conference/aplseeds22/presentations/D02_APLEasyToLearnWorthMastering.pdf slides], [https://dyalog.tv/APLSeeds22/?v=o-0xk96_BNw video (27 mins)]) <br />
<br />
==== User Presentations ====<br />
* '''U01: What's a k-mer?''', Stefan Kruger, [[wikipedia:IBM|IBM]] (U.K) ([https://www.dyalog.com/uploads/conference/aplseeds22/presentations/U01_WhatIsAKmer.pdf slides], [https://dyalog.tv/APLSeeds22/?v=h-kUZfdPbdU video (37 mins)])<br />
* '''U02: April: An APL Compiling To Common Lisp''', Andrew Sengul, Bloxl (USA) ([https://dyalog.tv/APLSeeds22/?v=Wxaqu8E83gE video (39 mins)])<br />
* '''U03: The Array Cast (live podcast recording)''', host: Conor Hoekstra, Nvidia (Canada) ([https://www.arraycast.com/episodes/episode24-apl-seeds-2022 podcast (63 mins)])<br />
<br />
=== APL Seeds '23 ===<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds23.htm APL Seeds '23] was held online on 22nd March 2023.<br />
<br />
==== Dyalog presentations ====<br />
* '''D01: The Heart of the Algorithm''', Rich Park ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/D01_HeartOfTheAlgorithm.pdf slides], [https://dyalog.tv/APLSeeds23/?v=O73HYH0p8eo video (27 mins)])<br />
* '''D02: But How Will I Remember All Those Squiggles?! — APL Mnemonics''', [[Adám Brudzewsky]] ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/D02_APLMnemonics.pdf slides], [https://dyalog.tv/APLSeeds23/?v=qZtb4XOLdkI video (28 mins)])<br />
* '''D03: Getting Work Done with APL''', Josh David ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/D03_GettingWorkDoneWithAPL.pdf slides], [https://dyalog.tv/APLSeeds23/?v=4dMzBdjaN8I video (45 mins)])<br />
<br />
==== User Presentations ====<br />
* '''U01: Why Would a Non-Programmer Learn APL?''', Richard Savenije ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/U01_NonProgrammerAPL.pdf slides], [https://dyalog.tv/APLSeeds23/?v=6AWSPC6qQB4 video (29 mins)])<br />
* '''U02: Doing Boring Stuff in APL''', Stefan Kruger, IBM (U.K.) ([https://www.dyalog.com/uploads/conference/aplseeds23/presentations/U02_DoingBoringStuffInAPL.pdf slides], [https://dyalog.tv/APLSeeds23/?v=-9NMzR4LFXk video (54 mins)]<br />
<br />
=== APL Seeds '24 ===<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds24.htm APL Seeds '24] will be held online on 27th March 2024.<br />
<br />
==== Discussion Panels ====<br />
* '''Getting Started and Learning APL''', Asher Harvey-Smith, Finn Flug, Isaac Wooden, Justin Dowdy, Max Sun, and Stefan Kruger<br />
* '''Presentation: APL for Scientific Software Prototyping''', Santiago Núñez-Corrales<br />
* '''APL in Academia – Writing Software for Science''', Jesús Galan Lopez, Santiago Núñez-Corrales, and Stephen Mansour<br />
* '''APL in Industry - Using APL to Get Things Done''', Alexander Block, Finn Flug, Josh David, Mark Wolfson, and Max Sun<br />
* '''Performant, Portable, Pluggable APL''', Aaron Hsu, Asher Harvey-Smith, Jesús Galan Lopez, Justin Dowdy, and Stefan Kruger<br />
<br />
<br />
== External Links ==<br />
* [[Dyalog Ltd.]]: [https://www.dyalog.com/user-meetings/index.htm User Meetings] webpage<br />
<br />
{{APL community}}[[Category:Conferences]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL_Quest&diff=11115
APL Quest
2024-02-29T10:54:11Z
<p>Adám Brudzewsky: /* Problems from 2023 */</p>
<hr />
<div>[[File:APL Quest frame.png|thumb|right|Still frame from a follow-up video.]]<br />
'''APL Quest''' is the title used for a series of live chat sessions held by [[Adám Brudzewsky]] with guest appearances by [[Richard Park]]. The sessions run on Fridays at 15:00 UTC, switching to 13:00 UTC from October. Each session focuses on one problem from Phase 1 of a past [[APL Problem Solving Competition]], beginning with problem 1 from the 2013 round, and is followed up by publication of the code<ref>Adám Brudzewsky. [https://github.com/abrudz/apl_quest/ apl_quest] code repository. GitHub.</ref> and a video that summarises the solutions.<ref>Adám Brudzewsky. [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN APL Quest] playlist. YouTube.</ref><br />
<br />
APL Quest events happen in the [[APL Orchard]], and requires a [[Wikipedia:Stack Exchange|Stack Exchange]] account:<br />
* Account holders with 20 [https://stackoverflow.com/help/whats-reputation reputation points] are free to join via [https://apl.chat apl.chat].<br />
* Others must follow the [[APL_Orchard#Access|APL Orchard access instructions]].<br />
<br />
The Stack Exchange chat system allows signing up for reminders to these recurring events.<ref>The [[APL Orchard]]. [https://chat.stackexchange.com/rooms/info/52405/the-apl-orchard?tab=schedule#meeting-2520 APL Quest]. Room schedule. Stack Exchange.</ref><br />
<br />
== Sessions ==<br />
=== Problems from 2013 ===<br />
{|class=wikitable id=2013<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2013|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2013.html?goto=P1_Seems_a_Bit_Odd_To_Me Seems a Bit Odd To Me] || [https://chat.stackexchange.com/transcript/52405?m=60343161#60343161 Feb 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/1.apl 2013/1.apl] || [https://www.youtube.com/watch?v=Mj4wyLKrBho&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2013.html?goto=P2_Making_The_Grade Making The Grade] || [https://chat.stackexchange.com/transcript/52405?m=60402180#60402180 Feb 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/2.apl 2013/2.apl] || [https://www.youtube.com/watch?v=pxo2BtoMxP4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:03]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2013.html?goto=P3_What_Is_In_a_Word What Is In a Word] || [https://chat.stackexchange.com/transcript/message/60462122#60462122 Feb 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/3.apl 2013/3.apl] || [https://www.youtube.com/watch?v=MgkM2qCPWas&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:18]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2013.html?goto=P4_Keeping_Things_In_Balance Keeping Things In Balance] || [https://chat.stackexchange.com/transcript/52405?m=60517971#60517971 Feb 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/4.apl 2013/4.apl] || [https://www.youtube.com/watch?v=El0_RB4TTPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:34:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2013.html?goto=P5_Identity_Crisis Identity Crisis] || [https://chat.stackexchange.com/transcript/52405?m=60573163#60573163 Mar 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/5.apl 2013/5.apl] || [https://www.youtube.com/watch?v=vVaZ3wEdmpQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:25:05]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2013.html?goto=P6_Home_On_The_Range Home On The Range] || [https://chat.stackexchange.com/transcript/52405?m=60624938#60624938 Mar 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/6.apl 2013/6.apl] || [https://www.youtube.com/watch?v=36HlHsEjUIQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:48]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2013.html?goto=P7_Float_Your_Boat Float Your Boat] || [https://chat.stackexchange.com/transcript/52405?m=60678893#60678893 Mar 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/7.apl 2013/7.apl] || [https://www.youtube.com/watch?v=w5LvImFVi2M&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:22:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2013.html?goto=P8_Go_Forth_And_Multiply Go Forth And Multiply] || [https://chat.stackexchange.com/transcript/52405?m=60733991#60733991 Mar 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/8.apl 2013/8.apl] || [https://www.youtube.com/watch?v=O_l-nJYmDrs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:42]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2013.html?goto=P9_It_Is_a_Moving_Experience It Is a Moving Experience] || [https://chat.stackexchange.com/transcript/52405?m=60790499#60790499 Apr 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/9.apl 2013/9.apl] || [https://www.youtube.com/watch?v=txZiCW12lTE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:12]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2013.html?goto=P10_Solution_Salvation Solution Salvation] || [https://chat.stackexchange.com/transcript/52405?m=60845175#60845175 Apr 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/10.apl 2013/10.apl] || [https://www.youtube.com/watch?v=w-rzx2VNqbY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:01]<br />
|}<br />
:<span id=p2013>[[#2013|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_M0SIpfU8eBWSYXE-GD86g a single playlist].<br />
<br />
=== Problems from 2014 ===<br />
{|class=wikitable id=2014<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2014|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2014.html?goto=P1_It_Is_All_Right It Is All Right] || [https://chat.stackexchange.com/transcript/52405?m=60900017#60900017 Apr 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/1.apl 2014/1.apl] || [https://www.youtube.com/watch?v=0SeHAg0q30w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:18:13]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2014.html?goto=P2_How_Tweet_It_Is How Tweet It Is] || [https://chat.stackexchange.com/transcript/52405?m=60949514#60949514 Apr 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/2.apl] || [https://www.youtube.com/watch?v=3X3l76njwfs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:29:50]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2014.html?goto=P3_Tell_a_Fib Tell a Fib] || [https://chat.stackexchange.com/transcript/52405?m=61008731#61008731 Apr 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/3.apl] || [https://www.youtube.com/watch?v=7J4hJmgWlJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:30:45]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2014.html?goto=P4_Space_The_Final_Frontier Space The Final Frontier] || [https://chat.stackexchange.com/transcript/52405?m=61062129#61062129 May 6, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/4.apl 2014/4.apl] || [https://www.youtube.com/watch?v=aqfhItFpO2I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:52:55]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2014.html?goto=P5_Mirror_Mirror Mirror Mirror] || [https://chat.stackexchange.com/transcript/52405?m=61119677#61119677 May 13, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/5.apl 2014/5.apl] || [https://www.youtube.com/watch?v=cPzQr2aJ7e4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:31]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2014.html?goto=P6_Roll_The_Dice Roll The Dice] || [https://chat.stackexchange.com/transcript/52405?m=61177683#61177683 May 20, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/6.apl 2014/6.apl] || [https://www.youtube.com/watch?v=HwEmjnPpMqY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:55]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2014.html?goto=P7_Revolutionary_Thinking Revolutionary Thinking] || [https://chat.stackexchange.com/transcript/52405?m=61231677#61231677 May 27, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/7.apl 2014/7.apl] || [https://www.youtube.com/watch?v=aiEOXOy56iw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2014.html?goto=P8_Go_The_Distance Go The Distance] || [https://chat.stackexchange.com/transcript/52405/2022/6/3 Jun 3, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/8.apl 2014/8.apl] || [https://www.youtube.com/watch?v=OEChBu1p98w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:59]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2014.html?goto=P9_Going_Ballistic Going Ballistic] || [https://chat.stackexchange.com/transcript/52405?m=61327875#61327875 Jun 10, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/9.apl 2014/9.apl]|| [https://www.youtube.com/watch?v=jhrTBWvVahI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:27]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2014.html?goto=P10_Sales_Are_Up Sales Are Up] || [https://chat.stackexchange.com/transcript/52405?m=61385753#61385753 Jun 17, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2014 2014/10.apl] || [https://www.youtube.com/watch?v=JvvaNQ0DO4Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:59]<br />
|}<br />
:<span id=p2014>[[#2014|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj--yAmV2yUe73O5ntiqF4Xp a single playlist].<br />
<br />
=== Problems from 2015 ===<br />
{|class=wikitable id=2015<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2015|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2015.html?goto=P1_Nag_A_Ram Nag A Ram] || [https://chat.stackexchange.com/transcript/52405?m=61439442#61439442 Jun 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2015/1.apl 2015/1.apl] || [https://www.youtube.com/watch?v=nmUQ9cSQajY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:22]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2015.html?goto=P2_Longest_Streak Longest Streak] || [https://chat.stackexchange.com/transcript/52405?m=61492634#61492634 Jul 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/2.apl] || [https://www.youtube.com/watch?v=fXl5_cJFw34&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:49]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2015.html?goto=P3_Farey_Tale Farey Tale] || [https://chat.stackexchange.com/transcript/52405?m=61541307#61541307 Jul 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/3.apl] || [https://www.youtube.com/watch?v=7bLqOYg5DZk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:31:35]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2015.html?goto=P4_PDI_Progressive_Dyadic_Iota PDI - Progressive Dyadic Iota] || [https://chat.stackexchange.com/transcript/52405?m=61590333#61590333 Jul 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/4.apl 2015/4.apl] || [https://www.youtube.com/watch?v=FGzpsUK5WF4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:35:10]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2015.html?goto=P5_Hes_so_mean_he_has_no_standard_deviation He’s so mean, he has no standard deviation] || [https://chat.stackexchange.com/transcript/message/61644417#61644417 Jul 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/5.apl 2015/5.apl] || [https://www.youtube.com/watch?v=9_RPmL2Szkk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:47]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2015.html?goto=P6_Hey_This_is_My_Space Hey! This is My Space] || [https://chat.stackexchange.com/transcript/message/61688071#61688071 Jul 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/6.apl 2015/6.apl] || [https://www.youtube.com/watch?v=Ya832W9iBC4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:00]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2015.html?goto=P7_Just_In_Upper_Case Just in (Upper) Case] || [https://chat.stackexchange.com/transcript/52405?m=61731271#61731271 Aug 5, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/7.apl 2015/7.apl] || [https://www.youtube.com/watch?v=syzyAQc11M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2015.html?goto=P8_Unlucky_13 Unlucky 13] || [https://chat.stackexchange.com/transcript/52405?m=61776938#61776938 Aug 12, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/8.apl 2015/8.apl] || [https://www.youtube.com/watch?v=2VSUnKEu5m8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2015.html?goto=P9_Id_Like_Mine_Scrambled_Please I’d Like Mine Scrambled Please] || [https://chat.stackexchange.com/transcript/52405?m=61822639#61822639 Aug 19, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/9.apl 2015/9.apl] || [https://www.youtube.com/watch?v=jptaYjzi_mE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:31]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2015.html?goto=P10_Blaiseing_a_Trail Blaise’ing a Trail] || [https://chat.stackexchange.com/transcript/52405?m=61871003#61871003 Aug 26, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/10.apl 2015/10.apl] || [https://www.youtube.com/watch?v=j0prKDZtBWQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:46]<br />
|}<br />
:<span id=p2015>[[#2015|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8D5G7jIkBPCsuu_9AbyHxE a single playlist].<br />
<br />
=== Problems from 2016 ===<br />
{|class=wikitable id=2016<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2016|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2016.html?goto=P1_Statistics_Mean Statistics - Mean] || [https://chat.stackexchange.com/transcript/52405?m=61919109#61919109 Sep 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/1.apl 2016/1.apl] || [https://www.youtube.com/watch?v=pZA3NFdh7M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2016.html?goto=P2_Statistics_Median Statistics - Median] || [https://chat.stackexchange.com/transcript/52405?m=61968437#61968437 Sep, 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/2.apl 2016/2.apl] || [https://www.youtube.com/watch?v=oBkCJfi_OEU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:22]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2016.html?goto=P3_Statistics_Mode Statistics - Mode] || [https://chat.stackexchange.com/transcript/52405?m=62016595#62016595 Sep, 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/3.apl 2016/3.apl] || [https://www.youtube.com/watch?v=iJsh_0wD2us&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:26:36]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2016.html?goto=P4_Just_Meshing_Around Just Meshing Around] || [https://chat.stackexchange.com/transcript/52405?m=62063400#62063400 Sep, 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/4.apl 2016/4.apl] || [https://www.youtube.com/watch?v=59eKagcVoO4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:07]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2016.html?goto=P5_Youre_Unique_Just_Like_Everyone_Else You’re Unique, Just Like Everyone Else] || [https://chat.stackexchange.com/transcript/52405?m=62107645#62107645 Sep, 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/5.apl 2016/5.apl] || [https://www.youtube.com/watch?v=zFSFcIskU4U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:36]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2016.html?goto=P6_Shorter_Ones_to_the_Front Shorter Ones to the Front] || [https://chat.stackexchange.com/transcript/52405?m=62151647#62151647 Oct, 7, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/6.apl 2016/6.apl] || [https://www.youtube.com/watch?v=ZmVuGl6-DJk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:19]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2016.html?goto=P7_3s_and_5s 3s and 5s] || [https://chat.stackexchange.com/transcript/52405?m=62198343#62198343 Oct, 14, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/7.apl 2016/7.apl] || [https://www.youtube.com/watch?v=s1qIJ1LRfaQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:28]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2016.html?goto=P8_Separating_Out_the_Negative Separating Out the Negative] || [https://chat.stackexchange.com/transcript/52405?m=62233525#62233525 Oct, 21, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/8.apl 2016/8.apl] || [https://www.youtube.com/watch?v=ZSEJkNrEdOQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:16]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2016.html?goto=P9_Delimited_Text Delimited Text] || [https://chat.stackexchange.com/transcript/52405?m=62273399#62273399 Oct, 28, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/9.apl 2016/9.apl] || [https://www.youtube.com/watch?v=5_ArihWDSlM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:51]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2016.html?goto=P10_Order_Total_Dot_Product Order Total] || [https://chat.stackexchange.com/transcript/52405?m=62313927#62313927 Nov, 4, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/10.apl 2016/10.apl] || [https://www.youtube.com/watch?v=5rfCeT_lPk8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:43]<br />
|}<br />
:<span id=p2016>[[#2016|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9zSwnh4K28nCApruWA1j_m a single playlist].<br />
<br />
=== Problems from 2017 ===<br />
{|class=wikitable id=2017<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2017|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2017.html?goto=P1_What_an_Odd_Bunch What an Odd Bunch] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Nov 11, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/1.apl 2017/1.apl] || [https://www.youtube.com/watch?v=afiMn3ACT1U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2017.html?goto=P2_Good_Evening Good Evening] || [https://chat.stackexchange.com/transcript/52405?m=62397727#62397727 Nov 18, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/2.apl 2017/2.apl] || [https://www.youtube.com/watch?v=fg1Z0V33Er4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:56]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2017.html?goto=P3_Miss_Quoted Miss Quoted] || [https://chat.stackexchange.com/transcript/52405?m=62439770#62439770 Nov 25, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/3.apl 2017/3.apl] || [https://www.youtube.com/watch?v=Yx3xqiNo9NY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:04]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2017.html?goto=P4_Slices_of_Pies Slice(s) of Pie(s)] || [https://chat.stackexchange.com/transcript/52405?m=62483171#62483171 Dec 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/4.apl 2017/4.apl] || [https://www.youtube.com/watch?v=XLrh6HwUbP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2017.html?goto=P5_DNA DNA?] || [https://chat.stackexchange.com/transcript/message/62538000#62538000 Dec 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/5.apl 2017/5.apl] || [https://www.youtube.com/watch?v=s2XtJKB1Sks&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:54]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2017.html?goto=P6_k_mers k-mers] ||[https://chat.stackexchange.com/transcript/message/62581736#62581736 Dec 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/6.apl 2017/6.apl] || [https://www.youtube.com/watch?v=SYcEnkcV5q8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:54]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2017.html?goto=P7_Counting_DNA_Nucleotides Counting DNA Nucleotides] || [https://chat.stackexchange.com/transcript/message/62628046#62628046 Dec 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/7.apl 2017/7.apl] || [https://www.youtube.com/watch?v=0TJkzDIWAno&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:53]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2017.html?goto=P8_Be_the_First_1 Be the First 1] || [https://chat.stackexchange.com/transcript/52405?m=62667691#62667691 Dec 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/8.apl 2017/8.apl] || [https://www.youtube.com/watch?v=he6rpBP4hP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:10]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2017.html?goto=P9_Double_Trouble Double Trouble] || [https://chat.stackexchange.com/transcript/52405?m=62715050#62715050 Jan 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/9.apl 2017/9.apl] || [https://www.youtube.com/watch?v=t2RH0isi3Qg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:35]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2017.html?goto=P10_Squaring_Off Squaring Off] || [https://chat.stackexchange.com/transcript/52405?m=62764522#62764522 Jan 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/10.apl 2017/10.apl] || [https://www.youtube.com/watch?v=AOleoh2JlJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:38]<br />
|-<br />
|}<br />
:<span id=p2017>[[#2017|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8wDbpQmxKOGNKwrsCJSbz7 a single playlist].<br />
<br />
=== Problems from 2018 ===<br />
{|class=wikitable id=2018<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2018|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2018.html?goto=P1_Oh_Say_Can_You_See Oh Say Can You See] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Jan 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/1.apl 2018/1.apl] || [https://www.youtube.com/watch?v=YZBOKebM624&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2018.html?goto=P2_Number_Splitting Number Splitting] || [https://chat.stackexchange.com/transcript/message/62858667#62858667 Jan 27, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/2.apl 2018/2.apl] || [https://www.youtube.com/watch?v=Q4U3y-bhxGA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:16]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2018.html?goto=P3_Rolling_Along Rolling Along] || [https://chat.stackexchange.com/transcript/message/62907248#62907248 Feb 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/3.apl 2018/3.apl] || [https://www.youtube.com/watch?v=D6jWkFo00-E&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:03]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2018.html?goto=P4_Whats_Your_Sign Whats Your Sign] || [https://chat.stackexchange.com/transcript/52405?m=62957002#62957002 Feb 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/4.apl 2018/4.apl] || [https://www.youtube.com/watch?v=g82bRux0TJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:40]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2018.html?goto=P5_Whats_Your_Sign_Revisited Whats Your Sign Revisited] || [https://chat.stackexchange.com/transcript/52405?m=63010133#63010133 Feb 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/5.apl 2018/5.apl] || [https://www.youtube.com/watch?v=BtJ6Hey2PE4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:18]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2018.html?goto=P6_Whats_Your_Angle Whats Your Angle] || [https://chat.stackexchange.com/transcript/52405?m=63056863#63056863 Feb 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/6.apl 2018/6.apl] || [https://www.youtube.com/watch?v=3ivJvycE0Tk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:09]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2018.html?goto=P7_Unconditionally_Shifty Unconditionally Shifty] || [https://chat.stackexchange.com/transcript/52405?m=63108820#63108820 Mar 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/7.apl 2018/7.apl] || [https://www.youtube.com/watch?v=b3r4CY5kf9c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:45]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2018.html?goto=P8_Making_a_Good_Argument Making a Good Argument] || [https://chat.stackexchange.com/transcript/52405?m=63151714#63151714 Mar 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/8.apl 2018/8.apl] || [https://www.youtube.com/watch?v=F72metQNXAU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:41]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2018.html?goto=P9_Earlier_Later_or_the_Same Earlier Later or the Same] || [https://chat.stackexchange.com/transcript/52405?m=63197530#63197530 Mar 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/9.apl 2018/9.apl] || [https://www.youtube.com/watch?v=gPQpCa0ke0U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2018.html?goto=P10_Anagrammatically_Correct Anagrammatically Correct] || [https://chat.stackexchange.com/transcript/52405?m=63239751#63239751 Mar 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/10.apl 2018/10.apl] || [https://www.youtube.com/watch?v=3kRLlmZC62o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:12]<br />
|-<br />
|}<br />
:<span id=p2018>[[#2018|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8NxxMWk_WcDOjDoqz65bKh a single playlist].<br />
=== Problems from 2019 ===<br />
{|class=wikitable id=2019<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2019|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2019.html?goto=P1_Chunky_Monkey Chunky Monkey] || [https://chat.stackexchange.com/transcript/52405?m=63286611#63286611 Mar 31, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/1.apl 2019/1.apl] || [https://www.youtube.com/watch?v=9puw9PBMFP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:32]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2019.html?goto=P2_Making_the_Grade Making the Grade] || [https://chat.stackexchange.com/transcript/52405?m=63332288#63332288 Apr 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/2.apl 2019/2.apl] || [https://www.youtube.com/watch?v=1EaAau9x8MI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:27]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2019.html?goto=P3_Grade_Distribution Grade Distribution] || [https://chat.stackexchange.com/transcript/52405?m=63374600#63374600 Apr 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/3.apl 2019/3.apl] || [https://www.youtube.com/watch?v=uPMqIHcOfgE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2019.html?goto=P4_Knight_Moves Knight Moves] || [https://chat.stackexchange.com/transcript/52405?m=63423145#63423145 Apr 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/4.apl 2019/4.apl] || [https://www.youtube.com/watch?v=K40CsPxYohM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:37]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2019.html?goto=P5_Doubling_Up Doubling Up] || [https://chat.stackexchange.com/transcript/52405?m=63469882#63469882 Apr 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/5.apl 2019/5.apl] || [https://www.youtube.com/watch?v=c8XRnJeJ2AY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:01]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2019.html?goto=P6_Telephone_Names Telephone Names] || [https://chat.stackexchange.com/transcript/52405?m=63515042#63515042 May 5, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/6.apl 2019/6.apl] || [https://www.youtube.com/watch?v=mzyrnyV7Q_c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:23]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2019.html?goto=P7_In_the_Center_of_It_All In the Center of It All] || [https://chat.stackexchange.com/transcript/52405?m=63558554#63558554 May 12, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/7.apl 2019/7.apl] || [https://www.youtube.com/watch?v=Bhov522Jz7o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2019.html?goto=P8_Going_the_Distance Going the Distance] || [https://chat.stackexchange.com/transcript/52405?m=63609358#63609358 May 19, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/8.apl 2019/8.apl] || [https://www.youtube.com/watch?v=GNdp6rAZ2Is&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2019.html?goto=P9_Area_Code_a_la_Gauss Area Code à la Gauss] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 May 26, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/9.apl 2019/9.apl] || [https://www.youtube.com/watch?v=njZs8HV5Ra0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:57]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2019.html?goto=P10_Odd_and_Evens Odd and Evens] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 Jun 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/10.apl 2019/10.apl] || [https://www.youtube.com/watch?v=9hUTqexYZ0I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:33]<br />
|}<br />
:<span id=p2019>[[#2019|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-CZEC7r5v4SMd0RtgpoWPt a single playlist].<br />
<br />
=== Problems from 2020 ===<br />
{|class=wikitable id=2020<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2020|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2020.html?goto=P1_Lets_Split Let's Split] || [https://chat.stackexchange.com/transcript/52405?m=63767556#63767556 Jun 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/1.apl 2020/1.apl] || [https://www.youtube.com/watch?v=2grlocFykmI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:11]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2020.html?goto=P2_Characters Character Building] || [https://chat.stackexchange.com/transcript/52405?m=63803321#63803321 Jun 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/2.apl 2020/2.apl] || [https://www.youtube.com/watch?v=C5X6FlTNzX4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:05]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2020.html?goto=P3_Columns Excel-lent Columns] || [https://chat.stackexchange.com/transcript/52405?m=63835448#63835448 Jun 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/3.apl 2020/3.apl] || [https://www.youtube.com/watch?v=yg96DlrXUc4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:19]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2020.html?goto=P4_Take_a_Leap Take a Leap] || [https://chat.stackexchange.com/transcript/52405?m=63890718#63890718 Jun 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/4.apl 2020/4.apl] || [https://www.youtube.com/watch?v=hqyDUkSooCw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:04]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2020.html?goto=P5_Integer_Range Stepping in the Proper Direction] || [https://chat.stackexchange.com/transcript/message/63935087#63935087 Jul 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/5.apl 2020/5.apl] || [https://www.youtube.com/watch?v=SjCmDfWmhqk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:17]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2020.html?goto=P6_Move_To_Front Move to the Front] || [https://chat.stackexchange.com/transcript/52405?m=63980930#63980930 Jul 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/6.apl 2020/6.apl] || [https://www.youtube.com/watch?v=FfFzzmEo37Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:04]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2020.html?goto=P7_Bits See You in a Bit] || [https://chat.stackexchange.com/transcript/52405?m=64028252#64028252 Jul 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/7.apl 2020/7.apl] || [https://www.youtube.com/watch?v=xXweDCXIVSk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:02]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2020.html?goto=P8_Zigzag Zigzag Numbers] || [https://chat.stackexchange.com/transcript/52405?m=64081060#64081060 Jul 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/8.apl 2020/8.apl] || [https://www.youtube.com/watch?v=Q-8LAhe79zM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2020.html?goto=P9_Rise_and_Fall Rise and Fall] || [https://chat.stackexchange.com/transcript/52405?m=64125164#64125164 Aug 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/9.apl 2020/9.apl] || [https://www.youtube.com/watch?v=qypqissqN-c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:49]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2020.html?goto=P10_Stacking_It_Up Stacking It Up] || [https://chat.stackexchange.com/transcript/52405?m=64172099#64172099 Aug 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/10.apl 2020/10.apl] || [https://www.youtube.com/watch?v=LBelbuN1yRo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:09]<br />
|}<br />
:<span id=p2020>[[#2020|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8J80yMTag0_VDzxdPKjZ28 a single playlist].<br />
<br />
=== Problems from 2021 ===<br />
{|class=wikitable id=2021<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2021|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2021.html?goto=P1_Are_You_a_Bacteria Are You a Bacteria] || [https://chat.stackexchange.com/transcript/52405?m=64216596#64216596 Aug 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/1.apl 2021/1.apl] || [https://www.youtube.com/watch?v=6tkUO7Wc5Tg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2021.html?goto=P2_Index_Of_Modified Index Of Modified] || [https://chat.stackexchange.com/transcript/52405?m=64262014#64262014 Aug 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/2.apl 2021/2.apl] || [https://www.youtube.com/watch?v=r5VQ9wSBVTg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:36]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2021.html?goto=P3_Multiplicity Multiplicity] || [https://chat.stackexchange.com/transcript/52405?m=64315806#64315806 Sep 1, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/3.apl 2021/3.apl] || [https://www.youtube.com/watch?v=h9xqYCxiMJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2021.html?goto=P4_Square_Peg_Round_Hole Square Peg, Round Hole] || [https://chat.stackexchange.com/transcript/52405?m=64360617#64360617 Sep 8, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/4.apl 2021/4.apl] || [https://www.youtube.com/watch?v=h0RS-rEV3BM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:39]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2021.html?goto=P5_Rect_ify Rect-ify] || [https://chat.stackexchange.com/transcript/52405?m=64410899#64410899 Sep 15, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/5.apl 2021/5.apl] || [https://www.youtube.com/watch?v=demUjdV0EPk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:02]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2021.html?goto=P6_Fischer_Random_Chess Fischer Random Chess] || [https://chat.stackexchange.com/transcript/52405?m=64457542#64457542 Sep 22, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/6.apl 2021/6.apl] || [https://www.youtube.com/watch?v=UvlL1OyIJIw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:20]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2021.html?goto=P7_Can_You_Feel_the_Magic Can You Feel the Magic] || [https://chat.stackexchange.com/transcript/52405?m=64501098#64501098 Sep 29, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/7.apl 2021/7.apl] || [https://www.youtube.com/watch?v=j9MMQZXpTmM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:41]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2021.html?goto=P8_Time_to_Make_a_Difference Time to Make a Difference] || [https://chat.stackexchange.com/transcript/52405?m=64533505#64533505 Oct 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/8.apl 2021/8.apl] || [https://www.youtube.com/watch?v=hQFMjRPFioI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2021.html?goto=P9_In_the_Long_Run In the Long Run] || [https://chat.stackexchange.com/transcript/52405?m=64569242#64569242 Oct 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/9.apl 2021/9.apl] || [https://www.youtube.com/watch?v=kpTxXyWIgpc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:19]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2021.html?goto=P10_On_the_Right_Side On the Right Side] || [https://chat.stackexchange.com/transcript/52405?m=64604513#64604513 Oct 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/10.apl 2021/10.apl] || [https://www.youtube.com/watch?v=tClkG4ybunI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:25]<br />
|}<br />
:<span id=p2021>[[#2021|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-AtwCeUfeICfWufM133X4e a single playlist].<br />
<br />
=== Problems from 2022 ===<br />
{|class=wikitable id=2022<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2022|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2022.html?goto=P1_Counting_DNA Counting DNA Nucleotides?] || [https://chat.stackexchange.com/transcript/52405?m=64637385#64637385 Oct 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/1.apl 2022/1.apl] || [https://www.youtube.com/watch?v=xhZWd51rATE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2022.html?goto=P2_Mutations Attack of the Mutations!] || [https://chat.stackexchange.com/transcript/52405?m=64668644#64668644 Nov 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/2.apl 2022/2.apl] || [https://www.youtube.com/watch?v=Gy7i_EzrhFE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:07]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2022.html?goto=P3_XOR Uniquely Qualified] || [https://chat.stackexchange.com/transcript/52405?m=64700500#64700500 Nov 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/3.apl 2022/3.apl] || [https://www.youtube.com/watch?v=ZvjgB1aCEH4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:17]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2022.html?goto=P4_Longest_1_run In the Long One…] || [https://chat.stackexchange.com/transcript/52405?m=64729844#64729844 Nov 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/4.apl 2022/4.apl] || [https://www.youtube.com/watch?v=E5H_kV2UXxc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:08]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2022.html?goto=P5_Stairway Stairway to Heaven] || [https://chat.stackexchange.com/transcript/52405?m=64758788#64758788 Nov 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/5.apl 2022/5.apl] || [https://www.youtube.com/watch?v=JfULYgkDVgs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:09]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2022.html?goto=P6_Pyramid Pyramid Scheme] || [https://chat.stackexchange.com/transcript/52405?m=64793494#64793494 Dec 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/6.apl 2022/6.apl] || [https://www.youtube.com/watch?v=I-JBVOIMlPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:14]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2022.html?goto=P7_Golf_Scores Just Golfing Around] || [https://chat.stackexchange.com/transcript/52405?m=64828652#64828652 Dec 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/7.apl 2022/7.apl] || [https://www.youtube.com/watch?v=8SL6exHPQwk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:52]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2022.html?goto=P8_Split_on_first Let’s Split!] || [https://chat.stackexchange.com/transcript/52405?m=64863116#64863116 Dec 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/8.apl 2022/8.apl] || [https://www.youtube.com/watch?v=YMDClM03zyQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:08]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2022.html?goto=P9_Average An Average Window (or a Windowed Average)] || [https://chat.stackexchange.com/transcript/52405?m=64894638#64894638 Dec 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/9.apl 2022/9.apl] || [https://www.youtube.com/watch?v=RautPkG3A3Y&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2022.html?goto=P10_Separators Separation Anxiety] || [https://chat.stackexchange.com/transcript/52405?m=64917683#64917683 Dec 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/10.apl 2022/10.apl] || [https://www.youtube.com/watch?v=VWXqtokDgNQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:17]<br />
|}<br />
:<span id=p2022>[[#2022|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_tpJMwfH1tBXlpDSjEmkwh a single playlist].<br />
<br />
<br />
=== Problems from 2023 ===<br />
{|class=wikitable id=2023<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2023|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2023.html?goto=P1_Elimination_Sort Elimination Sort] || [https://chat.stackexchange.com/transcript/52405?m=64941297#64941297 Jan 5, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/1.apl 2023/1.apl] || [https://www.youtube.com/watch?v=LpUOaipgn7s&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:56]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2023.html?goto=P2_Put_It_In_Reverse Put It In Reverse] || [https://chat.stackexchange.com/transcript/52405?m=64977516#64977516 Jan 12, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/2.apl 2023/2.apl] || [https://www.youtube.com/watch?v=JnExPhse9iM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:58]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2023.html?goto=P3_Caesar_Salad Caesar Salad] || [https://chat.stackexchange.com/transcript/52405?m=65017769#65017769 Jan 19, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/3.apl 2023/3.apl] || [https://www.youtube.com/watch?v=Rg8OCEMlYGg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:56]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2023.html?goto=P4_Like_a_Version Like a Version] || [https://chat.stackexchange.com/transcript/52405?m=65059946#65059946 Jan 26, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/4.apl 2023/4.apl] || [https://www.youtube.com/watch?v=zOhxW-gRR4A&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:15]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2023.html?goto=P5_Risky_Business Risky Business] || [https://chat.stackexchange.com/transcript/52405?m=65101517#65101517 Feb 2, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/5.apl 2023/5.apl] || [https://www.youtube.com/watch?v=CvgRR1Ai94Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:24]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2023.html?goto=P6_Key_Value_Pairs Key Value Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65151113#65151113 Feb 9, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/6.apl 2023/6.apl] || [https://www.youtube.com/watch?v=svaJ0o9oyco&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:41]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2023.html?goto=P7_Lets_Be_Rational Lets Be Rational] || [https://chat.stackexchange.com/transcript/message/65193789#65193789 Feb 16, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/7.apl 2023/7.apl] || [https://www.youtube.com/watch?v=3J_IuXgDiq0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:03]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2023.html?goto=P8_Critical_Thinking Critical Thinking] || [https://chat.stackexchange.com/transcript/52405?m=65234344#65234344 Feb 23, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/8.apl 2023/8.apl] || [https://www.youtube.com/watch?v=yfLowDKvXUs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:22]<br />
|-<!--<br />
| 9 || [https://problems.tryapl.org/psets/2023.html?goto=P9_Flipping_Pairs Flipping Pairs] || [https://chat.stackexchange.com/transcript/52405?m=________#________ Mar 1, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/9.apl 2023/9.apl] || [https://www.youtube.com/watch?v=___________&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:nn:nn]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2023.html?goto=P10_Partition_with_a_Twist Partition with a Twist] || [https://chat.stackexchange.com/transcript/52405?m=________#________ Mar 8, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/10.apl 2023/10.apl] || [https://www.youtube.com/watch?v=___________&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:nn:nn]--><br />
|}<br />
:<span id=p2023>[[#2023|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN a single playlist].<br />
<br />
== References ==<br />
<references/><br />
{{APL community}}[[Category:Online sessions]][[Category:Web broadcasts]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=IVSYS/7090&diff=11106
IVSYS/7090
2024-02-28T15:01:38Z
<p>Adám Brudzewsky: /* Primitives */</p>
<hr />
<div>{{Infobox array language<br />
| array model = [[flat array model|flat]] without [[box|boxes]]<br />
| index origin = 1<br />
| function styles = [[defined function]]<br />
| numeric types = integer, float<br />
| unicode support = no<br />
| released = 1965<br />
| developer = [[Larry Breed]] ([[IBM]]), [[Phil Abrams]]<br />
| implementation language = [[wikipedia:FORTRAN|FORTRAN]]<br />
| platforms = [[wikipedia:IBM 7090|IBM 7090]]<br />
| operating systems = Time Sharing Monitor (TSM)<br />
| documentation = [http://infolab.stanford.edu/TR/CS-TR-66-47.html An interpreter for "Iverson notation"]<br />
| influenced by = [[Iverson notation]]<br />
| influenced = [[APL\360]], [[APL\1130]]<br />
}}<br />
<br />
'''IVSYS/7090''' (for "Iverson System" on the [[wikipedia:IBM 7090|IBM 7090]]) was a proto-APL interpreter in [[wikipedia:FORTRAN|FORTRAN]]. It was implemented by [[Larry Breed]], who worked in [[Ken Iverson]]'s group at [[IBM]]'s [[wikipedia:Thomas J. Watson Research Center|Thomas J. Watson Research Center]], and [[Phil Abrams]], a graduate student at [[wikipedia:Stanford University|Stanford University]]. Running in 1965, the interpreter was the second computer implementation of [[Iverson notation]], after [[PAT]], and is often considered the first APL implementation, as it preceded [[APL\360]].<ref>[[Adin Falkoff]] and [[Ken Iverson]]. [https://www.jsoftware.com/papers/APLDesign.htm The Design of APL]. IBM Journal of Research and Development, Volume 17, Number 4. 1973-07.</ref> However, it had substantial differences from APL as realized in APL\360, for example using the arrows <syntaxhighlight lang=apl inline>↑</syntaxhighlight> and <syntaxhighlight lang=apl inline>↓</syntaxhighlight> for [[Rotate|rotation]] rather than [[Take]] and [[Drop]].<ref>[[Philip Abrams]]. [http://infolab.stanford.edu/TR/CS-TR-66-47.html An interpreter for Iverson notation]. 1966-08-17.</ref> Initially the program had to entered with punch cards, encoding symbols as multiple characters. However, it was soon adapted to run with a typewriter and [[type ball]], and made available within IBM using the Time Sharing Monitor (TSM), an early [[time sharing]] system.<ref>[[Adin Falkoff]] and [[Ken Iverson]]. [https://www.jsoftware.com/papers/APLEvol.htm The Evolution of APL]. ACM SIGPLAN Notices Volume 13, Number 8. 1978-08.</ref> Ken Iverson and [[Adin Falkoff]] were able to use the system in teaching, and [[Eric Iverson]] to prepare an answer book for the problems in Ken's ''Elementary Functions''. IVSYS was only available in this way for a short time, as the TSM project was terminated to make programmers available for a similar project, [[wikipedia:TSS/360|TSS/360]]. The machine IVSYS itself ran on was at some point put on a shipping platform and taken to an unknown destination.<ref>[[Eugene McDonnell]]. [https://www.jsoftware.com/papers/eem/socio1.htm The Socio-Technical Beginnings of APL].</ref><br />
<br />
== Primitives ==<br />
<br />
Simple unary and binary operators ("sops"), which would be called [[scalar function|scalar]] [[monadic]] and [[dyadic]] [[function]]s in today's [[terminology]]:<br />
<br />
{| class=wikitable<br />
! Glyph !! Monadic !! Dyadic<br />
|-<br />
| <syntaxhighlight lang=apl inline>+</syntaxhighlight> || [[Identity]] || [[Addition]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>-</syntaxhighlight> || [[Negate]] || [[Subtraction]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>×</syntaxhighlight> || || [[Multiplication]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>÷</syntaxhighlight> || || [[Division]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⌊</syntaxhighlight> || [[Floor]] || [[Minimum]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⌈</syntaxhighlight> || [[Ceiling]] || [[Maximum]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>|</syntaxhighlight> || [[Absolute value]] || [[Modulus]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>*</syntaxhighlight> || [[Exponential]] || [[Exponentiation]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>~</syntaxhighlight> || Complement ([[Not]]) ||<br />
|-<br />
| <syntaxhighlight lang=apl inline>∧</syntaxhighlight> || || [[And|Logical AND]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>∨</syntaxhighlight> || || [[Or|Logical OR]]<br />
|-<br />
| <syntaxhighlight lang=apl inline><</syntaxhighlight> || || [[Less than]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>≤</syntaxhighlight> || || [[Less than or Equal to]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>=</syntaxhighlight> || || [[Equal to]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>≠</syntaxhighlight> || || [[Not Equal to]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>≥</syntaxhighlight> || || [[Greater than or Equal to]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>></syntaxhighlight> || || [[Greater than]]<br />
|}<br />
<br />
Other operators ("oops"), called [[mixed function]]s in today's terminology:<br />
<br />
{| class=wikitable<br />
! Glyph !! Monadic !! Dyadic<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍳</syntaxhighlight> || [[Interval vector]] || Index vector ([[Index of]])<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍴</syntaxhighlight> || Rank vector ([[Shape]]) || Replication ([[Reshape]])<br />
|-<br />
| <syntaxhighlight lang=apl inline>,</syntaxhighlight> || [[Ravel]] || [[Catenate]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>↑</syntaxhighlight> || Rotate left 1 || [[Rotate|Left rotation]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>↓</syntaxhighlight> || Rotate right 1 || [[Rotate|Right rotation]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍺</syntaxhighlight> || || Prefix vector<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍵</syntaxhighlight> || || Suffix vector<br />
|-<br />
| <syntaxhighlight lang=apl inline>∊</syntaxhighlight> || || Characteristic vector ([[Member of]])<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊥</syntaxhighlight> || Base 2 value || [[Decode|Base value]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊤</syntaxhighlight> || || [[Encode|Representation]]<br />
|}<br />
<br />
The following primitive operations exist, with syntax as in modern APL, but are not classified as operators. All forms of <syntaxhighlight lang=apl inline>/</syntaxhighlight> and <syntaxhighlight lang=apl inline>\</syntaxhighlight> allow an [[Function axis|axis]] to be specified with brackets.<br />
<br />
{| class=wikitable<br />
! Glyph !! Definition<br />
|-<br />
| <syntaxhighlight lang=apl inline>[]</syntaxhighlight> || [[Bracket indexing|Indexing]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>/</syntaxhighlight> || [[Reduction]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>/</syntaxhighlight> || [[Compression]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>\</syntaxhighlight> || [[Expansion]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>.</syntaxhighlight> || Generalized matrix product ([[Inner product]])<br />
|-<br />
| <syntaxhighlight lang=apl inline>∘.</syntaxhighlight> || [[Outer product]]<br />
|}<br />
<br />
== References ==<br />
<references/><br />
{{APL dialects}}[[Category:IBM APL dialects]][[Category:Flat array languages]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=IVSYS/7090&diff=11105
IVSYS/7090
2024-02-28T15:01:16Z
<p>Adám Brudzewsky: add "unary" and clarify terminology</p>
<hr />
<div>{{Infobox array language<br />
| array model = [[flat array model|flat]] without [[box|boxes]]<br />
| index origin = 1<br />
| function styles = [[defined function]]<br />
| numeric types = integer, float<br />
| unicode support = no<br />
| released = 1965<br />
| developer = [[Larry Breed]] ([[IBM]]), [[Phil Abrams]]<br />
| implementation language = [[wikipedia:FORTRAN|FORTRAN]]<br />
| platforms = [[wikipedia:IBM 7090|IBM 7090]]<br />
| operating systems = Time Sharing Monitor (TSM)<br />
| documentation = [http://infolab.stanford.edu/TR/CS-TR-66-47.html An interpreter for "Iverson notation"]<br />
| influenced by = [[Iverson notation]]<br />
| influenced = [[APL\360]], [[APL\1130]]<br />
}}<br />
<br />
'''IVSYS/7090''' (for "Iverson System" on the [[wikipedia:IBM 7090|IBM 7090]]) was a proto-APL interpreter in [[wikipedia:FORTRAN|FORTRAN]]. It was implemented by [[Larry Breed]], who worked in [[Ken Iverson]]'s group at [[IBM]]'s [[wikipedia:Thomas J. Watson Research Center|Thomas J. Watson Research Center]], and [[Phil Abrams]], a graduate student at [[wikipedia:Stanford University|Stanford University]]. Running in 1965, the interpreter was the second computer implementation of [[Iverson notation]], after [[PAT]], and is often considered the first APL implementation, as it preceded [[APL\360]].<ref>[[Adin Falkoff]] and [[Ken Iverson]]. [https://www.jsoftware.com/papers/APLDesign.htm The Design of APL]. IBM Journal of Research and Development, Volume 17, Number 4. 1973-07.</ref> However, it had substantial differences from APL as realized in APL\360, for example using the arrows <syntaxhighlight lang=apl inline>↑</syntaxhighlight> and <syntaxhighlight lang=apl inline>↓</syntaxhighlight> for [[Rotate|rotation]] rather than [[Take]] and [[Drop]].<ref>[[Philip Abrams]]. [http://infolab.stanford.edu/TR/CS-TR-66-47.html An interpreter for Iverson notation]. 1966-08-17.</ref> Initially the program had to entered with punch cards, encoding symbols as multiple characters. However, it was soon adapted to run with a typewriter and [[type ball]], and made available within IBM using the Time Sharing Monitor (TSM), an early [[time sharing]] system.<ref>[[Adin Falkoff]] and [[Ken Iverson]]. [https://www.jsoftware.com/papers/APLEvol.htm The Evolution of APL]. ACM SIGPLAN Notices Volume 13, Number 8. 1978-08.</ref> Ken Iverson and [[Adin Falkoff]] were able to use the system in teaching, and [[Eric Iverson]] to prepare an answer book for the problems in Ken's ''Elementary Functions''. IVSYS was only available in this way for a short time, as the TSM project was terminated to make programmers available for a similar project, [[wikipedia:TSS/360|TSS/360]]. The machine IVSYS itself ran on was at some point put on a shipping platform and taken to an unknown destination.<ref>[[Eugene McDonnell]]. [https://www.jsoftware.com/papers/eem/socio1.htm The Socio-Technical Beginnings of APL].</ref><br />
<br />
== Primitives ==<br />
<br />
Simple unary and binary operators ("sops"), which would be called [[scalar function|scalar]] [[monadic]] and [[dyadic]] [[function]]s in today's terminology:<br />
<br />
{| class=wikitable<br />
! Glyph !! Monadic !! Dyadic<br />
|-<br />
| <syntaxhighlight lang=apl inline>+</syntaxhighlight> || [[Identity]] || [[Addition]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>-</syntaxhighlight> || [[Negate]] || [[Subtraction]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>×</syntaxhighlight> || || [[Multiplication]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>÷</syntaxhighlight> || || [[Division]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⌊</syntaxhighlight> || [[Floor]] || [[Minimum]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⌈</syntaxhighlight> || [[Ceiling]] || [[Maximum]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>|</syntaxhighlight> || [[Absolute value]] || [[Modulus]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>*</syntaxhighlight> || [[Exponential]] || [[Exponentiation]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>~</syntaxhighlight> || Complement ([[Not]]) ||<br />
|-<br />
| <syntaxhighlight lang=apl inline>∧</syntaxhighlight> || || [[And|Logical AND]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>∨</syntaxhighlight> || || [[Or|Logical OR]]<br />
|-<br />
| <syntaxhighlight lang=apl inline><</syntaxhighlight> || || [[Less than]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>≤</syntaxhighlight> || || [[Less than or Equal to]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>=</syntaxhighlight> || || [[Equal to]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>≠</syntaxhighlight> || || [[Not Equal to]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>≥</syntaxhighlight> || || [[Greater than or Equal to]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>></syntaxhighlight> || || [[Greater than]]<br />
|}<br />
<br />
Other operators ("oops"), called [[mixed function]]s in today's terminology:<br />
<br />
{| class=wikitable<br />
! Glyph !! Monadic !! Dyadic<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍳</syntaxhighlight> || [[Interval vector]] || Index vector ([[Index of]])<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍴</syntaxhighlight> || Rank vector ([[Shape]]) || Replication ([[Reshape]])<br />
|-<br />
| <syntaxhighlight lang=apl inline>,</syntaxhighlight> || [[Ravel]] || [[Catenate]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>↑</syntaxhighlight> || Rotate left 1 || [[Rotate|Left rotation]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>↓</syntaxhighlight> || Rotate right 1 || [[Rotate|Right rotation]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍺</syntaxhighlight> || || Prefix vector<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍵</syntaxhighlight> || || Suffix vector<br />
|-<br />
| <syntaxhighlight lang=apl inline>∊</syntaxhighlight> || || Characteristic vector ([[Member of]])<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊥</syntaxhighlight> || Base 2 value || [[Decode|Base value]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊤</syntaxhighlight> || || [[Encode|Representation]]<br />
|}<br />
<br />
The following primitive operations exist, with syntax as in modern APL, but are not classified as operators. All forms of <syntaxhighlight lang=apl inline>/</syntaxhighlight> and <syntaxhighlight lang=apl inline>\</syntaxhighlight> allow an [[Function axis|axis]] to be specified with brackets.<br />
<br />
{| class=wikitable<br />
! Glyph !! Definition<br />
|-<br />
| <syntaxhighlight lang=apl inline>[]</syntaxhighlight> || [[Bracket indexing|Indexing]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>/</syntaxhighlight> || [[Reduction]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>/</syntaxhighlight> || [[Compression]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>\</syntaxhighlight> || [[Expansion]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>.</syntaxhighlight> || Generalized matrix product ([[Inner product]])<br />
|-<br />
| <syntaxhighlight lang=apl inline>∘.</syntaxhighlight> || [[Outer product]]<br />
|}<br />
<br />
== References ==<br />
<references/><br />
{{APL dialects}}[[Category:IBM APL dialects]][[Category:Flat array languages]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Tatin&diff=11098
Tatin
2024-02-28T11:38:23Z
<p>Adám Brudzewsky: /* External links */</p>
<hr />
<div>[[File:Tatin.png|thumb|right|200px|Tatin's logo is the [[logarithm]] glyph coloured to become a stylised [[wikipedia:Tarte Tatin|Tarte Tatin]].]]<br />
'''Tatin''' is a [[wikipedia:package manager|package manager]] for [[Dyalog APL]]. It is a community-developed project distributed under the [[wikipedia:MIT License|MIT License]].<br />
<br />
An interface to Tatin, consisting of a set of [[user command]]s and an API, is expected to be included with [[Dyalog APL 19.0|Dyalog 19.0]] but can be used with 18.0 and 18.2 as well. <br />
<br />
The name refers to a [[wikipedia:Tarte Tatin|Tarte Tatin]], which is a form of apple tart. Things associated with APL are often given [[humor]]ous names alluding to apples due to the similar pronunciation of ''apple'' and ''APL''.<br />
<br />
== External links ==<br />
* ''[https://dyalog.tv/Dyalog22/?v=3dljAUEvemE The P words…Projects and Packages]'' – presentation on Tatin and Cider by [[Morten Kromberg]] at [[Dyalog '22]]<br />
* [https://github.com/aplteam/Tatin Tatin source] – GitHub repository<br />
* [https://tatin.dev/ Tatin Registry] – the principal Tatin server<br />
{{Template:APL development}}<br />
[[Category:Dyalog APL]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Hook&diff=11097
Hook
2024-02-28T06:48:35Z
<p>Adám Brudzewsky: Rewrite to focus on Kap instead of BQN</p>
<hr />
<div>{{Built-ins|Hooks|⍛|⍩}} are asymmetrical forms of [[function composition]] that first apply one of the composed [[function]]s to one [[argument]], then applies the other function to one argument and the result. [[Kap]] has the two [[operator]]s [[Beside|Compose]] (<syntaxhighlight lang=apl inline>∘</syntaxhighlight>) and [[Inverse compose]] (<syntaxhighlight lang=apl inline>⍛</syntaxhighlight>). [[BQN]] has Before (<code>⊸</code>) and After (<code>⟜</code>), which also serve the purpose of the [[Bind]] operator. In [[J]], a 2-[[train]] is a hook, while [[I]] adds the mirror image to give two functions (I has first-class functions but no operators) hook (<code>h</code>) and backhook (<code>H</code>). <br />
<br />
Hook as an operator first appeared in [[A Dictionary of APL]] as [[Withe]] (<syntaxhighlight lang=apl inline>⍩</syntaxhighlight>). However, [[Ken Iverson|Iverson]] and [[Eugene McDonnell|McDonnell]]'s paper ''Phrasal Forms'', which introduced [[train]]s<ref>[[Ken Iverson]] and [[Eugene McDonnell]]. [http://www.jsoftware.com/papers/fork.htm Phrasal forms] at [[APL89]].</ref>, proposed hook as the meaning of a 2-train, and this was soon included in [[J]]. This definition specifies that <syntaxhighlight lang=j inline>(F G) y</syntaxhighlight> is <syntaxhighlight lang=j inline>y F G y</syntaxhighlight> and <syntaxhighlight lang=j inline>x (F G) y</syntaxhighlight> is <syntaxhighlight lang=j inline>x F G y</syntaxhighlight>. However, [[Roger Hui]] later opined that this definition was better suited to a dyadic operator (which could be denoted <syntaxhighlight lang=j inline>h.</syntaxhighlight>) than an element of syntax,<ref>[[Roger Hui]]. [https://code.jsoftware.com/wiki/Essays/Hook_Conjunction%3F Hook Conjunction?]. J Wiki essays. 2006. Accessed 2021-02-08.</ref> and defined the 2-train to represent [[Atop]] instead when he led the introduction of trains to [[Dyalog APL]]. By that time, Dyalog had long had the [[Beside]] (originally called ''Compose'') operator which is equivalent to <syntaxhighlight lang=j inline>x F h. G y</syntaxhighlight>, that is, the dyadic case. The monadic functionality can be achieved using [[Commute]] as <syntaxhighlight lang=apl inline>F∘G⍨y</syntaxhighlight> and the full [[ambivalent]] function can be written as <syntaxhighlight lang=apl inline>F∘G⍨⍨</syntaxhighlight>.<br />
[[File:Hooks.png|thumb|right|Hook operators in [[BQN]]]]<br />
In order to maintain symmetry, [[Kap]] changes the meaning of <syntaxhighlight lang=apl inline>∘</syntaxhighlight> to be a proper hook, and thus aligns itself with [[I]] and [[BQN]], which also have two hooks. Kap defines Compose (<syntaxhighlight lang=apl inline>∘</syntaxhighlight>) to be the dyadic operator <syntaxhighlight lang=apl inline>{⍺←⍵ ⋄ ⍺ ⍺⍺ ⍵⍵ ⍵}</syntaxhighlight> and Inverse Compose (<syntaxhighlight lang=apl inline>⍛</syntaxhighlight>) to be <syntaxhighlight lang=apl inline>{⍺←⍵ ⋄ (⍺⍺ ⍺) ⍵⍵ ⍵}</syntaxhighlight>. In the dyadic case these operators are identical to [[Beside]] and [[Reverse Compose]] respectively, but in the monadic case, <syntaxhighlight lang=apl inline>∘</syntaxhighlight> differs from Beside because the argument is used twice: the second function application takes it as an argument directly in addition to the result of the first function application.<br />
<br />
The two hooks can be used together to form a [[split-compose]] construct:<br />
<pre><br />
3 ¯1 4 ×⍛×∘| ¯2 ¯7 1<br />
2 ¯7 1<br />
</pre>{{Works in|[[Kap]]}}<br />
This definition behaves differently that the Compose-based one when only one argument is given; in that case, it becomes a monadic 3-[[train]].<br />
<br />
The name "hook" was chosen based on the hook shape of a function call diagram such as the one below, taken from ''Phrasal Forms''.<br />
<pre><br />
⍺(fg)⍵ ←→ ⍺fg⍵<br />
<br />
f<br />
/ \<br />
⍺ g<br />
\<br />
⍵<br />
</pre><br />
<br />
== See also ==<br />
<br />
* [[Tacit programming]]<br />
<br />
== External links ==<br />
<br />
* J [https://www.jsoftware.com/help/dictionary/dictf.htm Dictionary], [https://code.jsoftware.com/wiki/Vocabulary/hook NuVoc]<br />
* [https://mlochbaum.github.io/BQN/doc/hook.html BQN]<br />
<br />
== References ==<br />
<references /><br />
{{APL syntax}}[[Category:Primitive operators]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Beside&diff=11096
Beside
2024-02-28T06:20:41Z
<p>Adám Brudzewsky: f∘g⍨ is Withe</p>
<hr />
<div>{{Built-in|Beside|∘}}, '''Compose''' or '''After''' is a [[primitive operator]]. It shares the glyph [[Jot]] (<syntaxhighlight lang=apl inline>∘</syntaxhighlight>) with [[Bind]]. Called [[Dyadic function|dyadically]] with function [[operand]]s <syntaxhighlight lang=apl inline>f</syntaxhighlight> and <syntaxhighlight lang=apl inline>g</syntaxhighlight>, it uses <syntaxhighlight lang=apl inline>g</syntaxhighlight> [[Monadic function|monadically]] to pre-processes the right argument before applying <syntaxhighlight lang=apl inline>f</syntaxhighlight> to the given left argument and pre-processed right argument. Called [[Monadic function|monadically]] with operands <syntaxhighlight lang=apl inline>f</syntaxhighlight> and <syntaxhighlight lang=apl inline>g</syntaxhighlight>, it applies <syntaxhighlight lang=apl inline>f</syntaxhighlight> to the result of applying <syntaxhighlight lang=apl inline>g</syntaxhighlight> to the argument.<br />
<br />
In usage, <syntaxhighlight lang=apl inline>X f∘g Y</syntaxhighlight> is equivalent to <syntaxhighlight lang=apl inline>X f g Y</syntaxhighlight>, and <syntaxhighlight lang=apl inline>f∘g Y</syntaxhighlight> is equivalent to <syntaxhighlight lang=apl inline>f g Y</syntaxhighlight>. Thus, beside can be defined as the [[dop]] <syntaxhighlight lang=apl inline>{⍺←⊢ ⋄ ⍺ ⍺⍺ ⍵⍵ ⍵}</syntaxhighlight>.<br />
<br />
== Examples ==<br />
When used [[monadic]]ally, <syntaxhighlight lang=apl inline>f∘g</syntaxhighlight> behaves the same as an [[atop]]:<br />
<br />
<syntaxhighlight lang=apl><br />
-∘÷ 2 <br />
¯0.5<br />
⍝ same as<br />
-(÷2)<br />
¯0.5<br />
</syntaxhighlight><br />
<br />
When used [[dyadic]]ally, <syntaxhighlight lang=apl inline>f∘g</syntaxhighlight> forms a dyadic [[hook]]:<br />
<br />
<syntaxhighlight lang=apl><br />
'oy'≡∘⌽'yo'<br />
1<br />
⍝ same as<br />
'oy'≡⌽'yo'<br />
1<br />
</syntaxhighlight><br />
<br />
When used monadically with [[Commute]], <syntaxhighlight lang=apl inline>f∘g</syntaxhighlight> forms a monadic [[hook]]:<br />
<syntaxhighlight lang=apl><br />
≡∘⌽⍨'UwU'<br />
1<br />
⍝ same as this, because operators are left-associative, unlike functions which are right-associative<br />
(≡∘⌽)⍨'UwU'<br />
1<br />
⍝ same as<br />
'UwU'≡⌽'UwU'<br />
1<br />
</syntaxhighlight><br />
This is equivalent to the dyadic behaviour of [[Withe]] <syntaxhighlight lang=apl inline>f⍩g</syntaxhighlight>.<br />
<br />
== External links ==<br />
<br />
=== Lessons ===<br />
<br />
* [https://chat.stackexchange.com/rooms/52405/conversation/lesson-4-more-apl-operators--#41029677 APL Cultivation]<br />
<br />
=== Documentation ===<br />
<br />
* [https://help.dyalog.com/latest/#Language/Primitive%20Operators/Beside.htm Dyalog]<br />
<br />
{{APL built-ins}}[[Category:Primitive operators]][[Category:Composition operators]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Kap&diff=11095
Kap
2024-02-28T06:18:24Z
<p>Adám Brudzewsky: ∘ is actually Withe</p>
<hr />
<div>{{Infobox array language<br />
| logo = [[file:kap_logo.png]]<br />
| array model = [[nested array model|nested]]<br />
| index origin = 0<br />
| function styles = block (like [[dfn]]s)<br />
| numeric types = 64-bit float, 64-bit integer, complex (64-bit float components), unlimited precision big rationals<br />
| unicode support = full<br />
| released = 2020<br />
| developer = [[Elias Mårtenson]]<br />
| latest release version = 2024 (unversioned)<br />
| implementation language = [[wikipedia:Kotlin (programming language)|Kotlin]]<br />
| source = [https://codeberg.org/loke/array Codeberg]<br />
| platforms = JVM, Native Linux, In-browser, [[wikipedia:Node.js|Node.js]]<br />
| license = [[wikipedia:MIT License|MIT]]<br />
| website = [https://kapdemo.dhsdevelopments.com/ Kap]<br />
| documentation = [https://kapdemo.dhsdevelopments.com/reference.html Kap reference]<br />
| file ext = .kap<br />
| influenced by = [[Dyalog APL]], [[GNU APL]], [[BQN]]<br />
| run online = [https://kapdemo.dhsdevelopments.com/clientweb2/ JS Client]<br />
}}<br />
<br />
'''Kap''' is an array-based language that aims to implement most of standard APL, along with additional features. Much of standard APL works in Kap, although if an APL feature does not fit with Kap's design, those features are changed or removed.<br />
<br />
== Lazy evaluation ==<br />
<br />
The main difference compared to APL is that Kap is lazy-evaluated. This means that the language gives the developers very loose guarantees when (or if, and how many times) a function will actually be invoked. For example, <syntaxhighlight lang=apl inline>↑ f¨ ⍳10</syntaxhighlight> will only make a single call to <syntaxhighlight lang=apl inline>f</syntaxhighlight> because <code>f¨ ⍳10</code> will not immediately evaluate the result but only return a delayed evaluation. Since all but the first result is then discarded, those results will never be computed.<br />
<br />
== Differences from APL ==<br />
<br />
The following is a list of significant differences compared to APL:<ref>Mårtenson, Elias. [https://kapdemo.dhsdevelopments.com/kap-comparison.html Kap for APL’ers]. Unversioned. Retrieved 2023-08-13.</ref><br />
<br />
* Lazy evaluation<br />
* First class functions<br />
* Bignum support and rational arithmetic<br />
* Ability to define custom syntax<br />
* Native hash table support<br />
* Parallel evaluation (to take advantage of multi-core CPU's)<br />
<br />
== Primitives ==<br />
<br />
=== Functions ===<br />
<br />
{|class=wikitable<br />
! Glyph !! Monadic !! Dyadic<br />
|-<br />
| <syntaxhighlight lang=apl inline>+</syntaxhighlight> || [[Conjugate]] || [[Add]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>-</syntaxhighlight> || [[Negate]] || [[Subtract]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>×</syntaxhighlight> || Angle ([[Signum]]) || [[Multiply]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>÷</syntaxhighlight> || [[Reciprocal]] || [[Divide]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>|</syntaxhighlight> || [[Magnitude]] || [[Mod]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⋆</syntaxhighlight> ||colspan=2| [[Power]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍟</syntaxhighlight> ||colspan=2| [[Log]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>=</syntaxhighlight> || || [[Equals]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>≠</syntaxhighlight> || || [[Not equals]]<br />
|-<br />
| <syntaxhighlight lang=apl inline><</syntaxhighlight> || [[Increase rank]] || [[Less than]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>></syntaxhighlight> || [[Decrease rank]] || [[Greater than]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>≤</syntaxhighlight> || || [[Less than or equal]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>≥</syntaxhighlight> || || [[Greater than or equal]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>∧</syntaxhighlight> || [[Sort up]] || [[Logical and]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>∨</syntaxhighlight> || [[Sort down]] || [[Logical or]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍲</syntaxhighlight> || || [[Logical nand]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍱</syntaxhighlight> || || [[Logical nor]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>∼</syntaxhighlight> || [[Logical not]] || [[Without]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>√</syntaxhighlight> || [[Square root]] || [[Root]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⌊</syntaxhighlight> || [[Floor]] || [[Min]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⌈</syntaxhighlight> || [[Ceiling]] || [[Max]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>!</syntaxhighlight> || [[Factorial|Gamma]] || [[Binomial]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊢</syntaxhighlight> || [[Identity]] || [[Right]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊣</syntaxhighlight> || [[Hide]] || [[Left]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⌷</syntaxhighlight> || || [[Index (function)|Index lookup]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊂</syntaxhighlight> || [[Enclose]] || [[Partitioned enclose]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || [[Disclose]] || [[Pick]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>,</syntaxhighlight> || [[Ravel]] || [[Concatenate]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍪</syntaxhighlight> || [[Table]] || [[Concatenate first axis]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>↑</syntaxhighlight> || [[Take first]] || [[Take]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>↓</syntaxhighlight> || [[Drop first]] || [[Drop]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>?</syntaxhighlight> || [[Roll]] || [[Deal]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⌽</syntaxhighlight> || [[Reverse horizontally]] || [[Rotate horizontally]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊖</syntaxhighlight> || [[Reverse vertically]] || [[Rotate vertically]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍉</syntaxhighlight> || [[Transpose]] || [[Transpose by axis]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>∊</syntaxhighlight> || || [[Member]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍷</syntaxhighlight> || || [[Find]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍋</syntaxhighlight> || [[Grade up]] ||<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍒</syntaxhighlight> || [[Grade down]] ||<br />
|-<br />
| <syntaxhighlight lang=apl inline>⫽</syntaxhighlight> || || [[Replicate]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍕</syntaxhighlight> || [[Format]] ||<br />
|-<br />
| <syntaxhighlight lang=apl inline>⍎</syntaxhighlight> || Parse number ||<br />
|-<br />
| <syntaxhighlight lang=apl inline>%</syntaxhighlight> || || [[Case]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊆</syntaxhighlight> || [[Nest]] || [[Partitioned enclose]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊇</syntaxhighlight> || || [[Select]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>∩</syntaxhighlight> || || [[Intersection]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⌸</syntaxhighlight> || || [[Key]] (<syntaxhighlight lang=apl inline>{⍺⍵}⌸</syntaxhighlight> in Dyalog)<br />
|-<br />
| <syntaxhighlight lang=apl inline>∪</syntaxhighlight> || || [[Union]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊤</syntaxhighlight> || || [[Decode]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊥</syntaxhighlight> || || [[Encode]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⌹</syntaxhighlight> || [[Matrix inverse]] || [[Matrix division]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>≡</syntaxhighlight> || [[Depth]] || [[Compare equal]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>≢</syntaxhighlight> || [[Tally|Size of major axis]] || [[Compare not equals]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>→</syntaxhighlight> || Return from a function ||<br />
|}<br />
<br />
=== Operators ===<br />
<br />
{|class=wikitable<br />
! Syntax !! Monadic !! Dyadic<br />
|-<br />
| <syntaxhighlight lang=apl inline>F¨</syntaxhighlight> ||colspan=2| [[For each]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>F/</syntaxhighlight> || [[Reduce]] || [[Windowed reduce]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>F⌿</syntaxhighlight> || [[Reduce leading axis]] || [[Windowed reduce leading axis]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>F⌻</syntaxhighlight> || || [[Outer product]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>F•G</syntaxhighlight> || || [[Inner product]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>F⍨</syntaxhighlight> || [[Self|Duplicate]] || [[Commute]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>F⍣k</syntaxhighlight> ||colspan=2| [[Power operator]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>F\</syntaxhighlight> || [[Scan]] ||<br />
|-<br />
| <syntaxhighlight lang=apl inline>F⍀</syntaxhighlight> || [[Scan first axis]] ||<br />
|-<br />
| <syntaxhighlight lang=apl inline>F⍤k</syntaxhighlight> ||colspan=2| [[Rank operator]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>F∵</syntaxhighlight> ||colspan=2| Derive bitwise<br />
|-<br />
| <syntaxhighlight lang=apl inline>F∥</syntaxhighlight> ||colspan=2| [[Parallel]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>F˝</syntaxhighlight> ||colspan=2| [[Inverse]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>F∘G</syntaxhighlight> ||colspan=2| [[Withe|Compose]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>F⍛G</syntaxhighlight> ||colspan=2| [[Inverse compose]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>F⍥G</syntaxhighlight> ||colspan=2| [[Over]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>F⍢G</syntaxhighlight> ||colspan=2| [[Structural under]]<br />
|}<br />
<br />
In addition to these, Kap uses the glyphs <syntaxhighlight lang=apl inline>«</syntaxhighlight> and <syntaxhighlight lang=apl inline>»</syntaxhighlight> to form [[Fork]]s. These are not operators, although they resemble them syntactically.<br />
<br />
== References ==<br />
<references/><br />
{{APL dialects}}[[Category:APL dialects]][[Category:Nested array languages]][[Category:Languages with first-class functions]][[Category:Leading axis languages]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Withe&diff=11094
Withe
2024-02-28T06:17:45Z
<p>Adám Brudzewsky: Kap</p>
<hr />
<div>{{Built-in|Withe|⍩}} is a [[primitive operator]] which forms a [[hook]]. Called [[Dyadic function|dyadically]] with function operands <syntaxhighlight lang=apl inline>f</syntaxhighlight> and <syntaxhighlight lang=apl inline>g</syntaxhighlight>, it uses <syntaxhighlight lang=apl inline>g</syntaxhighlight> [[Monadic function|monadically]] to pre-processes the right argument before applying <syntaxhighlight lang=apl inline>f</syntaxhighlight> to the given left argument and pre-processed right argument. Called [[Monadic function|monadically]] with operands <syntaxhighlight lang=apl inline>f</syntaxhighlight> and <syntaxhighlight lang=apl inline>g</syntaxhighlight>, it uses <syntaxhighlight lang=apl inline>g</syntaxhighlight> monadically to pre-processes the argument before applying <syntaxhighlight lang=apl inline>f</syntaxhighlight> to the argument and pre-processed argument.<br />
<br />
In usage, <syntaxhighlight lang=apl inline>X f⍩g Y</syntaxhighlight> is equivalent to <syntaxhighlight lang=apl inline>X f g Y</syntaxhighlight>, and <syntaxhighlight lang=apl inline>f⍩g Y</syntaxhighlight> is equivalent to <syntaxhighlight lang=apl inline>Y f g Y</syntaxhighlight>. Thus, Withe can be defined as the [[dop]] <syntaxhighlight lang=apl inline>{⍺←⍵ ⋄ ⍺ ⍺⍺ ⍵⍵ ⍵}</syntaxhighlight> and is equivalent to the [[derived function]] <syntaxhighlight lang=apl inline>f∘g⍨⍨</syntaxhighlight>.<br />
<br />
Withe first appeared in [[A Dictionary of APL]],<ref>[[Ken Iverson]]. [[A Dictionary of APL]]. [https://www.jsoftware.com/papers/APLDictionary1.htm#withe Withe]. [[APL Quote Quad]], Volume 18, Number 1, 1987-09.</ref> but substituted by the 2-[[train]] in [[J]] after the proposal in [[Ken Iverson|Iverson]] and [[Eugene McDonnell|McDonnell]]'s paper ''Phrasal Forms''.<ref>[[Ken Iverson]] and [[Eugene McDonnell]]. [http://www.jsoftware.com/papers/fork.htm Phrasal forms] at [[APL89]].</ref> It is present in [[Kap]] as '''Compose''' (<syntaxhighlight lang=apl inline>∘</syntaxhighlight>) and in [[BQN]] as '''After''' (<code>⟜</code>).<ref>[[Marshall Lochbaum]]. ''Tutorial: Combinators''. [https://mlochbaum.github.io/BQN/tutorial/combinator.html#before-and-after Before and After]. Accessed 2021-09-01.</ref><br />
<br />
== See also ==<br />
<br />
* [[Beside]]<br />
* [[Reverse Compose]]<br />
<br />
== References ==<br />
<references/><br />
<br />
{{APL built-ins}}[[Category:Primitive operators]][[Category:Composition operators]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Template:APL_community&diff=11086
Template:APL community
2024-02-26T14:48:38Z
<p>Adám Brudzewsky: Dick Lathwell</p>
<hr />
<div><noinclude>__NOTITLE__</noinclude><br />
{| class="wikitable <includeonly>{{{1|mw-collapsible mw-collapsed}}}</includeonly>" style="width:100%"<br />
! colspan="2" | '''<big>APL community</big>''' [[{{fullurl:Template:APL_community|action=edit}} edit]]<br />
|-<br />
! [[Conferences and activities]]<br />
| [[Advent of Code]] ∙ [[APL Campfire]] ∙ [[APL Cultivation]] ∙ [[APL Meetup]] (Portuguese) ∙ [[APL Show]] ∙ [[APL Problem Solving Competition]] ∙ [[APL Quest]] ∙ [[APL Seeds]] ∙ [[Array Cast]] ∙ [[BAA Webinar|BAA sessions]] ∙ [[Code golf]] ∙ [[Dyalog user meeting]]s ∙ [[Dyalog webinar]]s ∙ [[Iverson Award]] ∙ [[Sharing code]]<br />
|-<br />
! [[Chat rooms and forums]]<br />
| [[APL Farm]] ∙ [[APL Orchard]]<br />
|-<br />
! [[:Category:User groups|User groups]]<br />
| [[APL Borealis]] (Canada) ∙ [[APL et J]] (France) ∙ [[APL Germany]] ([[German terminology|terminology]]) ∙ [[APL ∊ BCN]] (Spain) ∙ [[BAA]] (UK) ∙ [[FinnAPL]] (Finland) ∙ [[JAPLA]] (Japan) ∙ [[SAUG]] (Switzerland) ∙ [[SIGAPL]] (USA) ∙ [[SwedAPL]] (Sweden) ∙ [[Tokyo APL/J/K Meetup]] (Japan)<br />
|-<br />
! People<br />
| [[Phil Abrams]] ∙ [[Brian Becker]] ∙ [[Bob Bernecky]] ∙ [[Larry Breed]] ∙ [[Charles Brenner]] ∙ [[Jim Brown]] ∙ [[Adám Brudzewsky]] ∙ [[Gitte Christensen]] ∙ [[Peter Donnelly]] ∙ [[John Earnest]] ∙ [[Adin Falkoff]] ∙ [[Garth Foster]] ∙ [[Lib Gibson]] ∙ [[Aaron Hsu]] ∙ [[Roger Hui]] ∙ [[Ken Iverson]] ∙ [[Morten Kromberg]] ∙ [[Dick Lathwell]] ∙ [[Marshall Lochbaum]] ∙ [[Eugene McDonnell]] ∙ [[Jon McGrew]] ∙ [[Donald McIntyre]] ∙ [[Roger Moore]] ∙ [[Alan Perlis]] ∙ [[Henry Rich]] ∙ [[Al Rose]] ∙ [[William Rutiser]] ∙ [[John Scholes]] ∙ [[Ian Sharp]] ∙ [[Bob Smith]] ∙ [[Geoff Streeter]] ∙ [[Roy Sykes]] ∙ [[Arthur Whitney]]<br />
|-<br />
! Other<br />
| [[APL Quote Quad]] ∙ [[APL_Wiki:About|APL Wiki]] ∙ [[Blogs]] ∙ [[Books]] ∙ [[Case studies]] ∙ [[List of famous APL users|Famous APL users]] ∙ [[Humour]] ∙ [[Jobs]] ∙ [[APL merchandise|Merchandise]] ∙ [[Papers]] ∙ [[Podcasts]] ∙ [[TryAPL]] ∙ [[Try It Online]] ∙ [[Video channels]]<br />
|}</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL_Quest&diff=11085
APL Quest
2024-02-26T14:37:37Z
<p>Adám Brudzewsky: /* Problems from 2023 */</p>
<hr />
<div>[[File:APL Quest frame.png|thumb|right|Still frame from a follow-up video.]]<br />
'''APL Quest''' is the title used for a series of live chat sessions held by [[Adám Brudzewsky]] with guest appearances by [[Richard Park]]. The sessions run on Fridays at 15:00 UTC, switching to 13:00 UTC from October. Each session focuses on one problem from Phase 1 of a past [[APL Problem Solving Competition]], beginning with problem 1 from the 2013 round, and is followed up by publication of the code<ref>Adám Brudzewsky. [https://github.com/abrudz/apl_quest/ apl_quest] code repository. GitHub.</ref> and a video that summarises the solutions.<ref>Adám Brudzewsky. [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN APL Quest] playlist. YouTube.</ref><br />
<br />
APL Quest events happen in the [[APL Orchard]], and requires a [[Wikipedia:Stack Exchange|Stack Exchange]] account:<br />
* Account holders with 20 [https://stackoverflow.com/help/whats-reputation reputation points] are free to join via [https://apl.chat apl.chat].<br />
* Others must follow the [[APL_Orchard#Access|APL Orchard access instructions]].<br />
<br />
The Stack Exchange chat system allows signing up for reminders to these recurring events.<ref>The [[APL Orchard]]. [https://chat.stackexchange.com/rooms/info/52405/the-apl-orchard?tab=schedule#meeting-2520 APL Quest]. Room schedule. Stack Exchange.</ref><br />
<br />
== Sessions ==<br />
=== Problems from 2013 ===<br />
{|class=wikitable id=2013<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2013|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2013.html?goto=P1_Seems_a_Bit_Odd_To_Me Seems a Bit Odd To Me] || [https://chat.stackexchange.com/transcript/52405?m=60343161#60343161 Feb 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/1.apl 2013/1.apl] || [https://www.youtube.com/watch?v=Mj4wyLKrBho&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2013.html?goto=P2_Making_The_Grade Making The Grade] || [https://chat.stackexchange.com/transcript/52405?m=60402180#60402180 Feb 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/2.apl 2013/2.apl] || [https://www.youtube.com/watch?v=pxo2BtoMxP4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:03]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2013.html?goto=P3_What_Is_In_a_Word What Is In a Word] || [https://chat.stackexchange.com/transcript/message/60462122#60462122 Feb 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/3.apl 2013/3.apl] || [https://www.youtube.com/watch?v=MgkM2qCPWas&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:18]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2013.html?goto=P4_Keeping_Things_In_Balance Keeping Things In Balance] || [https://chat.stackexchange.com/transcript/52405?m=60517971#60517971 Feb 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/4.apl 2013/4.apl] || [https://www.youtube.com/watch?v=El0_RB4TTPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:34:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2013.html?goto=P5_Identity_Crisis Identity Crisis] || [https://chat.stackexchange.com/transcript/52405?m=60573163#60573163 Mar 4, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/5.apl 2013/5.apl] || [https://www.youtube.com/watch?v=vVaZ3wEdmpQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:25:05]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2013.html?goto=P6_Home_On_The_Range Home On The Range] || [https://chat.stackexchange.com/transcript/52405?m=60624938#60624938 Mar 11, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/6.apl 2013/6.apl] || [https://www.youtube.com/watch?v=36HlHsEjUIQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:48]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2013.html?goto=P7_Float_Your_Boat Float Your Boat] || [https://chat.stackexchange.com/transcript/52405?m=60678893#60678893 Mar 18, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/7.apl 2013/7.apl] || [https://www.youtube.com/watch?v=w5LvImFVi2M&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:22:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2013.html?goto=P8_Go_Forth_And_Multiply Go Forth And Multiply] || [https://chat.stackexchange.com/transcript/52405?m=60733991#60733991 Mar 25, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/8.apl 2013/8.apl] || [https://www.youtube.com/watch?v=O_l-nJYmDrs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:19:42]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2013.html?goto=P9_It_Is_a_Moving_Experience It Is a Moving Experience] || [https://chat.stackexchange.com/transcript/52405?m=60790499#60790499 Apr 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/9.apl 2013/9.apl] || [https://www.youtube.com/watch?v=txZiCW12lTE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:12]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2013.html?goto=P10_Solution_Salvation Solution Salvation] || [https://chat.stackexchange.com/transcript/52405?m=60845175#60845175 Apr 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2013/10.apl 2013/10.apl] || [https://www.youtube.com/watch?v=w-rzx2VNqbY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:01]<br />
|}<br />
:<span id=p2013>[[#2013|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_M0SIpfU8eBWSYXE-GD86g a single playlist].<br />
<br />
=== Problems from 2014 ===<br />
{|class=wikitable id=2014<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2014|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2014.html?goto=P1_It_Is_All_Right It Is All Right] || [https://chat.stackexchange.com/transcript/52405?m=60900017#60900017 Apr 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/1.apl 2014/1.apl] || [https://www.youtube.com/watch?v=0SeHAg0q30w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:18:13]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2014.html?goto=P2_How_Tweet_It_Is How Tweet It Is] || [https://chat.stackexchange.com/transcript/52405?m=60949514#60949514 Apr 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/2.apl] || [https://www.youtube.com/watch?v=3X3l76njwfs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:29:50]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2014.html?goto=P3_Tell_a_Fib Tell a Fib] || [https://chat.stackexchange.com/transcript/52405?m=61008731#61008731 Apr 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/2.apl 2014/3.apl] || [https://www.youtube.com/watch?v=7J4hJmgWlJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:30:45]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2014.html?goto=P4_Space_The_Final_Frontier Space The Final Frontier] || [https://chat.stackexchange.com/transcript/52405?m=61062129#61062129 May 6, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/4.apl 2014/4.apl] || [https://www.youtube.com/watch?v=aqfhItFpO2I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:52:55]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2014.html?goto=P5_Mirror_Mirror Mirror Mirror] || [https://chat.stackexchange.com/transcript/52405?m=61119677#61119677 May 13, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/5.apl 2014/5.apl] || [https://www.youtube.com/watch?v=cPzQr2aJ7e4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:31]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2014.html?goto=P6_Roll_The_Dice Roll The Dice] || [https://chat.stackexchange.com/transcript/52405?m=61177683#61177683 May 20, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/6.apl 2014/6.apl] || [https://www.youtube.com/watch?v=HwEmjnPpMqY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:55]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2014.html?goto=P7_Revolutionary_Thinking Revolutionary Thinking] || [https://chat.stackexchange.com/transcript/52405?m=61231677#61231677 May 27, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/7.apl 2014/7.apl] || [https://www.youtube.com/watch?v=aiEOXOy56iw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2014.html?goto=P8_Go_The_Distance Go The Distance] || [https://chat.stackexchange.com/transcript/52405/2022/6/3 Jun 3, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/8.apl 2014/8.apl] || [https://www.youtube.com/watch?v=OEChBu1p98w&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:59]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2014.html?goto=P9_Going_Ballistic Going Ballistic] || [https://chat.stackexchange.com/transcript/52405?m=61327875#61327875 Jun 10, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2014/9.apl 2014/9.apl]|| [https://www.youtube.com/watch?v=jhrTBWvVahI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:27]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2014.html?goto=P10_Sales_Are_Up Sales Are Up] || [https://chat.stackexchange.com/transcript/52405?m=61385753#61385753 Jun 17, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2014 2014/10.apl] || [https://www.youtube.com/watch?v=JvvaNQ0DO4Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:59]<br />
|}<br />
:<span id=p2014>[[#2014|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj--yAmV2yUe73O5ntiqF4Xp a single playlist].<br />
<br />
=== Problems from 2015 ===<br />
{|class=wikitable id=2015<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2015|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2015.html?goto=P1_Nag_A_Ram Nag A Ram] || [https://chat.stackexchange.com/transcript/52405?m=61439442#61439442 Jun 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2015/1.apl 2015/1.apl] || [https://www.youtube.com/watch?v=nmUQ9cSQajY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:22]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2015.html?goto=P2_Longest_Streak Longest Streak] || [https://chat.stackexchange.com/transcript/52405?m=61492634#61492634 Jul 1, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/2.apl] || [https://www.youtube.com/watch?v=fXl5_cJFw34&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:49]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2015.html?goto=P3_Farey_Tale Farey Tale] || [https://chat.stackexchange.com/transcript/52405?m=61541307#61541307 Jul 8, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/2.apl 2015/3.apl] || [https://www.youtube.com/watch?v=7bLqOYg5DZk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:31:35]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2015.html?goto=P4_PDI_Progressive_Dyadic_Iota PDI - Progressive Dyadic Iota] || [https://chat.stackexchange.com/transcript/52405?m=61590333#61590333 Jul 15, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/4.apl 2015/4.apl] || [https://www.youtube.com/watch?v=FGzpsUK5WF4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:35:10]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2015.html?goto=P5_Hes_so_mean_he_has_no_standard_deviation He’s so mean, he has no standard deviation] || [https://chat.stackexchange.com/transcript/message/61644417#61644417 Jul 22, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/5.apl 2015/5.apl] || [https://www.youtube.com/watch?v=9_RPmL2Szkk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:47]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2015.html?goto=P6_Hey_This_is_My_Space Hey! This is My Space] || [https://chat.stackexchange.com/transcript/message/61688071#61688071 Jul 29, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/6.apl 2015/6.apl] || [https://www.youtube.com/watch?v=Ya832W9iBC4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:24:00]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2015.html?goto=P7_Just_In_Upper_Case Just in (Upper) Case] || [https://chat.stackexchange.com/transcript/52405?m=61731271#61731271 Aug 5, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/7.apl 2015/7.apl] || [https://www.youtube.com/watch?v=syzyAQc11M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:50]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2015.html?goto=P8_Unlucky_13 Unlucky 13] || [https://chat.stackexchange.com/transcript/52405?m=61776938#61776938 Aug 12, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/8.apl 2015/8.apl] || [https://www.youtube.com/watch?v=2VSUnKEu5m8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2015.html?goto=P9_Id_Like_Mine_Scrambled_Please I’d Like Mine Scrambled Please] || [https://chat.stackexchange.com/transcript/52405?m=61822639#61822639 Aug 19, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/9.apl 2015/9.apl] || [https://www.youtube.com/watch?v=jptaYjzi_mE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:31]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2015.html?goto=P10_Blaiseing_a_Trail Blaise’ing a Trail] || [https://chat.stackexchange.com/transcript/52405?m=61871003#61871003 Aug 26, 2022] || [https://github.com/abrudz/apl_quest/blob/main/2015/10.apl 2015/10.apl] || [https://www.youtube.com/watch?v=j0prKDZtBWQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:46]<br />
|}<br />
:<span id=p2015>[[#2015|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8D5G7jIkBPCsuu_9AbyHxE a single playlist].<br />
<br />
=== Problems from 2016 ===<br />
{|class=wikitable id=2016<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2016|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2016.html?goto=P1_Statistics_Mean Statistics - Mean] || [https://chat.stackexchange.com/transcript/52405?m=61919109#61919109 Sep 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/1.apl 2016/1.apl] || [https://www.youtube.com/watch?v=pZA3NFdh7M8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2016.html?goto=P2_Statistics_Median Statistics - Median] || [https://chat.stackexchange.com/transcript/52405?m=61968437#61968437 Sep, 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/2.apl 2016/2.apl] || [https://www.youtube.com/watch?v=oBkCJfi_OEU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:23:22]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2016.html?goto=P3_Statistics_Mode Statistics - Mode] || [https://chat.stackexchange.com/transcript/52405?m=62016595#62016595 Sep, 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/3.apl 2016/3.apl] || [https://www.youtube.com/watch?v=iJsh_0wD2us&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:26:36]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2016.html?goto=P4_Just_Meshing_Around Just Meshing Around] || [https://chat.stackexchange.com/transcript/52405?m=62063400#62063400 Sep, 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/4.apl 2016/4.apl] || [https://www.youtube.com/watch?v=59eKagcVoO4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:07]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2016.html?goto=P5_Youre_Unique_Just_Like_Everyone_Else You’re Unique, Just Like Everyone Else] || [https://chat.stackexchange.com/transcript/52405?m=62107645#62107645 Sep, 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/5.apl 2016/5.apl] || [https://www.youtube.com/watch?v=zFSFcIskU4U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:36]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2016.html?goto=P6_Shorter_Ones_to_the_Front Shorter Ones to the Front] || [https://chat.stackexchange.com/transcript/52405?m=62151647#62151647 Oct, 7, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/6.apl 2016/6.apl] || [https://www.youtube.com/watch?v=ZmVuGl6-DJk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:19]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2016.html?goto=P7_3s_and_5s 3s and 5s] || [https://chat.stackexchange.com/transcript/52405?m=62198343#62198343 Oct, 14, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/7.apl 2016/7.apl] || [https://www.youtube.com/watch?v=s1qIJ1LRfaQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:28]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2016.html?goto=P8_Separating_Out_the_Negative Separating Out the Negative] || [https://chat.stackexchange.com/transcript/52405?m=62233525#62233525 Oct, 21, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/8.apl 2016/8.apl] || [https://www.youtube.com/watch?v=ZSEJkNrEdOQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:16]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2016.html?goto=P9_Delimited_Text Delimited Text] || [https://chat.stackexchange.com/transcript/52405?m=62273399#62273399 Oct, 28, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/9.apl 2016/9.apl] || [https://www.youtube.com/watch?v=5_ArihWDSlM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:51]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2016.html?goto=P10_Order_Total_Dot_Product Order Total] || [https://chat.stackexchange.com/transcript/52405?m=62313927#62313927 Nov, 4, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2016/10.apl 2016/10.apl] || [https://www.youtube.com/watch?v=5rfCeT_lPk8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:43]<br />
|}<br />
:<span id=p2016>[[#2016|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9zSwnh4K28nCApruWA1j_m a single playlist].<br />
<br />
=== Problems from 2017 ===<br />
{|class=wikitable id=2017<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2017|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2017.html?goto=P1_What_an_Odd_Bunch What an Odd Bunch] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Nov 11, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/1.apl 2017/1.apl] || [https://www.youtube.com/watch?v=afiMn3ACT1U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2017.html?goto=P2_Good_Evening Good Evening] || [https://chat.stackexchange.com/transcript/52405?m=62397727#62397727 Nov 18, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/2.apl 2017/2.apl] || [https://www.youtube.com/watch?v=fg1Z0V33Er4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:56]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2017.html?goto=P3_Miss_Quoted Miss Quoted] || [https://chat.stackexchange.com/transcript/52405?m=62439770#62439770 Nov 25, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/3.apl 2017/3.apl] || [https://www.youtube.com/watch?v=Yx3xqiNo9NY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:17:04]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2017.html?goto=P4_Slices_of_Pies Slice(s) of Pie(s)] || [https://chat.stackexchange.com/transcript/52405?m=62483171#62483171 Dec 2, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/4.apl 2017/4.apl] || [https://www.youtube.com/watch?v=XLrh6HwUbP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:35]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2017.html?goto=P5_DNA DNA?] || [https://chat.stackexchange.com/transcript/message/62538000#62538000 Dec 9, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/5.apl 2017/5.apl] || [https://www.youtube.com/watch?v=s2XtJKB1Sks&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:54]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2017.html?goto=P6_k_mers k-mers] ||[https://chat.stackexchange.com/transcript/message/62581736#62581736 Dec 16, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/6.apl 2017/6.apl] || [https://www.youtube.com/watch?v=SYcEnkcV5q8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:54]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2017.html?goto=P7_Counting_DNA_Nucleotides Counting DNA Nucleotides] || [https://chat.stackexchange.com/transcript/message/62628046#62628046 Dec 23, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/7.apl 2017/7.apl] || [https://www.youtube.com/watch?v=0TJkzDIWAno&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:53]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2017.html?goto=P8_Be_the_First_1 Be the First 1] || [https://chat.stackexchange.com/transcript/52405?m=62667691#62667691 Dec 30, 2022] || [https://github.com/abrudz/apl_quest/tree/main/2017/8.apl 2017/8.apl] || [https://www.youtube.com/watch?v=he6rpBP4hP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:14:10]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2017.html?goto=P9_Double_Trouble Double Trouble] || [https://chat.stackexchange.com/transcript/52405?m=62715050#62715050 Jan 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/9.apl 2017/9.apl] || [https://www.youtube.com/watch?v=t2RH0isi3Qg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:35]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2017.html?goto=P10_Squaring_Off Squaring Off] || [https://chat.stackexchange.com/transcript/52405?m=62764522#62764522 Jan 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2017/10.apl 2017/10.apl] || [https://www.youtube.com/watch?v=AOleoh2JlJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:38]<br />
|-<br />
|}<br />
:<span id=p2017>[[#2017|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8wDbpQmxKOGNKwrsCJSbz7 a single playlist].<br />
<br />
=== Problems from 2018 ===<br />
{|class=wikitable id=2018<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2018|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2018.html?goto=P1_Oh_Say_Can_You_See Oh Say Can You See] || [https://chat.stackexchange.com/transcript/message/62357410#62357410 Jan 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/1.apl 2018/1.apl] || [https://www.youtube.com/watch?v=YZBOKebM624&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:48]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2018.html?goto=P2_Number_Splitting Number Splitting] || [https://chat.stackexchange.com/transcript/message/62858667#62858667 Jan 27, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/2.apl 2018/2.apl] || [https://www.youtube.com/watch?v=Q4U3y-bhxGA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:16]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2018.html?goto=P3_Rolling_Along Rolling Along] || [https://chat.stackexchange.com/transcript/message/62907248#62907248 Feb 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/3.apl 2018/3.apl] || [https://www.youtube.com/watch?v=D6jWkFo00-E&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:03]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2018.html?goto=P4_Whats_Your_Sign Whats Your Sign] || [https://chat.stackexchange.com/transcript/52405?m=62957002#62957002 Feb 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/4.apl 2018/4.apl] || [https://www.youtube.com/watch?v=g82bRux0TJI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:40]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2018.html?goto=P5_Whats_Your_Sign_Revisited Whats Your Sign Revisited] || [https://chat.stackexchange.com/transcript/52405?m=63010133#63010133 Feb 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/5.apl 2018/5.apl] || [https://www.youtube.com/watch?v=BtJ6Hey2PE4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:18]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2018.html?goto=P6_Whats_Your_Angle Whats Your Angle] || [https://chat.stackexchange.com/transcript/52405?m=63056863#63056863 Feb 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/6.apl 2018/6.apl] || [https://www.youtube.com/watch?v=3ivJvycE0Tk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:09]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2018.html?goto=P7_Unconditionally_Shifty Unconditionally Shifty] || [https://chat.stackexchange.com/transcript/52405?m=63108820#63108820 Mar 3, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/7.apl 2018/7.apl] || [https://www.youtube.com/watch?v=b3r4CY5kf9c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:45]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2018.html?goto=P8_Making_a_Good_Argument Making a Good Argument] || [https://chat.stackexchange.com/transcript/52405?m=63151714#63151714 Mar 10, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/8.apl 2018/8.apl] || [https://www.youtube.com/watch?v=F72metQNXAU&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:41]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2018.html?goto=P9_Earlier_Later_or_the_Same Earlier Later or the Same] || [https://chat.stackexchange.com/transcript/52405?m=63197530#63197530 Mar 17, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/9.apl 2018/9.apl] || [https://www.youtube.com/watch?v=gPQpCa0ke0U&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2018.html?goto=P10_Anagrammatically_Correct Anagrammatically Correct] || [https://chat.stackexchange.com/transcript/52405?m=63239751#63239751 Mar 24, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2018/10.apl 2018/10.apl] || [https://www.youtube.com/watch?v=3kRLlmZC62o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:12]<br />
|-<br />
|}<br />
:<span id=p2018>[[#2018|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8NxxMWk_WcDOjDoqz65bKh a single playlist].<br />
=== Problems from 2019 ===<br />
{|class=wikitable id=2019<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2019|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2019.html?goto=P1_Chunky_Monkey Chunky Monkey] || [https://chat.stackexchange.com/transcript/52405?m=63286611#63286611 Mar 31, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/1.apl 2019/1.apl] || [https://www.youtube.com/watch?v=9puw9PBMFP8&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:32]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2019.html?goto=P2_Making_the_Grade Making the Grade] || [https://chat.stackexchange.com/transcript/52405?m=63332288#63332288 Apr 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/2.apl 2019/2.apl] || [https://www.youtube.com/watch?v=1EaAau9x8MI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:27]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2019.html?goto=P3_Grade_Distribution Grade Distribution] || [https://chat.stackexchange.com/transcript/52405?m=63374600#63374600 Apr 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/3.apl 2019/3.apl] || [https://www.youtube.com/watch?v=uPMqIHcOfgE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2019.html?goto=P4_Knight_Moves Knight Moves] || [https://chat.stackexchange.com/transcript/52405?m=63423145#63423145 Apr 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/4.apl 2019/4.apl] || [https://www.youtube.com/watch?v=K40CsPxYohM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:37]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2019.html?goto=P5_Doubling_Up Doubling Up] || [https://chat.stackexchange.com/transcript/52405?m=63469882#63469882 Apr 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/5.apl 2019/5.apl] || [https://www.youtube.com/watch?v=c8XRnJeJ2AY&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:01]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2019.html?goto=P6_Telephone_Names Telephone Names] || [https://chat.stackexchange.com/transcript/52405?m=63515042#63515042 May 5, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/6.apl 2019/6.apl] || [https://www.youtube.com/watch?v=mzyrnyV7Q_c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:08:23]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2019.html?goto=P7_In_the_Center_of_It_All In the Center of It All] || [https://chat.stackexchange.com/transcript/52405?m=63558554#63558554 May 12, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/7.apl 2019/7.apl] || [https://www.youtube.com/watch?v=Bhov522Jz7o&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:56]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2019.html?goto=P8_Going_the_Distance Going the Distance] || [https://chat.stackexchange.com/transcript/52405?m=63609358#63609358 May 19, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/8.apl 2019/8.apl] || [https://www.youtube.com/watch?v=GNdp6rAZ2Is&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:47]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2019.html?goto=P9_Area_Code_a_la_Gauss Area Code à la Gauss] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 May 26, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/9.apl 2019/9.apl] || [https://www.youtube.com/watch?v=njZs8HV5Ra0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:57]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2019.html?goto=P10_Odd_and_Evens Odd and Evens] || [https://chat.stackexchange.com/transcript/52405?m=63718568#63718568 Jun 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2019/10.apl 2019/10.apl] || [https://www.youtube.com/watch?v=9hUTqexYZ0I&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:15:33]<br />
|}<br />
:<span id=p2019>[[#2019|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-CZEC7r5v4SMd0RtgpoWPt a single playlist].<br />
<br />
=== Problems from 2020 ===<br />
{|class=wikitable id=2020<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2020|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2020.html?goto=P1_Lets_Split Let's Split] || [https://chat.stackexchange.com/transcript/52405?m=63767556#63767556 Jun 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/1.apl 2020/1.apl] || [https://www.youtube.com/watch?v=2grlocFykmI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:11]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2020.html?goto=P2_Characters Character Building] || [https://chat.stackexchange.com/transcript/52405?m=63803321#63803321 Jun 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/2.apl 2020/2.apl] || [https://www.youtube.com/watch?v=C5X6FlTNzX4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:13:05]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2020.html?goto=P3_Columns Excel-lent Columns] || [https://chat.stackexchange.com/transcript/52405?m=63835448#63835448 Jun 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/3.apl 2020/3.apl] || [https://www.youtube.com/watch?v=yg96DlrXUc4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:19]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2020.html?goto=P4_Take_a_Leap Take a Leap] || [https://chat.stackexchange.com/transcript/52405?m=63890718#63890718 Jun 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/4.apl 2020/4.apl] || [https://www.youtube.com/watch?v=hqyDUkSooCw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:04]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2020.html?goto=P5_Integer_Range Stepping in the Proper Direction] || [https://chat.stackexchange.com/transcript/message/63935087#63935087 Jul 7, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/5.apl 2020/5.apl] || [https://www.youtube.com/watch?v=SjCmDfWmhqk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:17]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2020.html?goto=P6_Move_To_Front Move to the Front] || [https://chat.stackexchange.com/transcript/52405?m=63980930#63980930 Jul 14, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/6.apl 2020/6.apl] || [https://www.youtube.com/watch?v=FfFzzmEo37Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:04]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2020.html?goto=P7_Bits See You in a Bit] || [https://chat.stackexchange.com/transcript/52405?m=64028252#64028252 Jul 21, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/7.apl 2020/7.apl] || [https://www.youtube.com/watch?v=xXweDCXIVSk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:02]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2020.html?goto=P8_Zigzag Zigzag Numbers] || [https://chat.stackexchange.com/transcript/52405?m=64081060#64081060 Jul 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/8.apl 2020/8.apl] || [https://www.youtube.com/watch?v=Q-8LAhe79zM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2020.html?goto=P9_Rise_and_Fall Rise and Fall] || [https://chat.stackexchange.com/transcript/52405?m=64125164#64125164 Aug 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/9.apl 2020/9.apl] || [https://www.youtube.com/watch?v=qypqissqN-c&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:49]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2020.html?goto=P10_Stacking_It_Up Stacking It Up] || [https://chat.stackexchange.com/transcript/52405?m=64172099#64172099 Aug 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2020/10.apl 2020/10.apl] || [https://www.youtube.com/watch?v=LBelbuN1yRo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:09]<br />
|}<br />
:<span id=p2020>[[#2020|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj8J80yMTag0_VDzxdPKjZ28 a single playlist].<br />
<br />
=== Problems from 2021 ===<br />
{|class=wikitable id=2021<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2021|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2021.html?goto=P1_Are_You_a_Bacteria Are You a Bacteria] || [https://chat.stackexchange.com/transcript/52405?m=64216596#64216596 Aug 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/1.apl 2021/1.apl] || [https://www.youtube.com/watch?v=6tkUO7Wc5Tg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:31]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2021.html?goto=P2_Index_Of_Modified Index Of Modified] || [https://chat.stackexchange.com/transcript/52405?m=64262014#64262014 Aug 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/2.apl 2021/2.apl] || [https://www.youtube.com/watch?v=r5VQ9wSBVTg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:36]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2021.html?goto=P3_Multiplicity Multiplicity] || [https://chat.stackexchange.com/transcript/52405?m=64315806#64315806 Sep 1, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/3.apl 2021/3.apl] || [https://www.youtube.com/watch?v=h9xqYCxiMJo&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:00]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2021.html?goto=P4_Square_Peg_Round_Hole Square Peg, Round Hole] || [https://chat.stackexchange.com/transcript/52405?m=64360617#64360617 Sep 8, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/4.apl 2021/4.apl] || [https://www.youtube.com/watch?v=h0RS-rEV3BM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:39]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2021.html?goto=P5_Rect_ify Rect-ify] || [https://chat.stackexchange.com/transcript/52405?m=64410899#64410899 Sep 15, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/5.apl 2021/5.apl] || [https://www.youtube.com/watch?v=demUjdV0EPk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:02]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2021.html?goto=P6_Fischer_Random_Chess Fischer Random Chess] || [https://chat.stackexchange.com/transcript/52405?m=64457542#64457542 Sep 22, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/6.apl 2021/6.apl] || [https://www.youtube.com/watch?v=UvlL1OyIJIw&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:20]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2021.html?goto=P7_Can_You_Feel_the_Magic Can You Feel the Magic] || [https://chat.stackexchange.com/transcript/52405?m=64501098#64501098 Sep 29, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/7.apl 2021/7.apl] || [https://www.youtube.com/watch?v=j9MMQZXpTmM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:41]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2021.html?goto=P8_Time_to_Make_a_Difference Time to Make a Difference] || [https://chat.stackexchange.com/transcript/52405?m=64533505#64533505 Oct 6, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/8.apl 2021/8.apl] || [https://www.youtube.com/watch?v=hQFMjRPFioI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:57]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2021.html?goto=P9_In_the_Long_Run In the Long Run] || [https://chat.stackexchange.com/transcript/52405?m=64569242#64569242 Oct 13, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/9.apl 2021/9.apl] || [https://www.youtube.com/watch?v=kpTxXyWIgpc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:07:19]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2021.html?goto=P10_On_the_Right_Side On the Right Side] || [https://chat.stackexchange.com/transcript/52405?m=64604513#64604513 Oct 20, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2021/10.apl 2021/10.apl] || [https://www.youtube.com/watch?v=tClkG4ybunI&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:12:25]<br />
|}<br />
:<span id=p2021>[[#2021|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj-AtwCeUfeICfWufM133X4e a single playlist].<br />
<br />
=== Problems from 2022 ===<br />
{|class=wikitable id=2022<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2022|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2022.html?goto=P1_Counting_DNA Counting DNA Nucleotides?] || [https://chat.stackexchange.com/transcript/52405?m=64637385#64637385 Oct 28, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/1.apl 2022/1.apl] || [https://www.youtube.com/watch?v=xhZWd51rATE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:10]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2022.html?goto=P2_Mutations Attack of the Mutations!] || [https://chat.stackexchange.com/transcript/52405?m=64668644#64668644 Nov 4, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/2.apl 2022/2.apl] || [https://www.youtube.com/watch?v=Gy7i_EzrhFE&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:07]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2022.html?goto=P3_XOR Uniquely Qualified] || [https://chat.stackexchange.com/transcript/52405?m=64700500#64700500 Nov 11, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/3.apl 2022/3.apl] || [https://www.youtube.com/watch?v=ZvjgB1aCEH4&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:17]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2022.html?goto=P4_Longest_1_run In the Long One…] || [https://chat.stackexchange.com/transcript/52405?m=64729844#64729844 Nov 18, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/4.apl 2022/4.apl] || [https://www.youtube.com/watch?v=E5H_kV2UXxc&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:11:08]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2022.html?goto=P5_Stairway Stairway to Heaven] || [https://chat.stackexchange.com/transcript/52405?m=64758788#64758788 Nov 25, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/5.apl 2022/5.apl] || [https://www.youtube.com/watch?v=JfULYgkDVgs&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:21:09]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2022.html?goto=P6_Pyramid Pyramid Scheme] || [https://chat.stackexchange.com/transcript/52405?m=64793494#64793494 Dec 2, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/6.apl 2022/6.apl] || [https://www.youtube.com/watch?v=I-JBVOIMlPA&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:14]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2022.html?goto=P7_Golf_Scores Just Golfing Around] || [https://chat.stackexchange.com/transcript/52405?m=64828652#64828652 Dec 9, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/7.apl 2022/7.apl] || [https://www.youtube.com/watch?v=8SL6exHPQwk&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:52]<br />
|-<br />
| 8 || [https://problems.tryapl.org/psets/2022.html?goto=P8_Split_on_first Let’s Split!] || [https://chat.stackexchange.com/transcript/52405?m=64863116#64863116 Dec 16, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/8.apl 2022/8.apl] || [https://www.youtube.com/watch?v=YMDClM03zyQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:10:08]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2022.html?goto=P9_Average An Average Window (or a Windowed Average)] || [https://chat.stackexchange.com/transcript/52405?m=64894638#64894638 Dec 23, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/9.apl 2022/9.apl] || [https://www.youtube.com/watch?v=RautPkG3A3Y&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:29]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2022.html?goto=P10_Separators Separation Anxiety] || [https://chat.stackexchange.com/transcript/52405?m=64917683#64917683 Dec 30, 2023] || [https://github.com/abrudz/apl_quest/tree/main/2022/10.apl 2022/10.apl] || [https://www.youtube.com/watch?v=VWXqtokDgNQ&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:17]<br />
|}<br />
:<span id=p2022>[[#2022|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj_tpJMwfH1tBXlpDSjEmkwh a single playlist].<br />
<br />
<br />
=== Problems from 2023 ===<br />
{|class=wikitable id=2023<br />
! Problem !! Title !! Chat !! Code !! Video[[#p2023|*]]<br />
|-<br />
| 1 || [https://problems.tryapl.org/psets/2023.html?goto=P1_Elimination_Sort Elimination Sort] || [https://chat.stackexchange.com/transcript/52405?m=64941297#64941297 Jan 5, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/1.apl 2023/1.apl] || [https://www.youtube.com/watch?v=LpUOaipgn7s&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:03:56]<br />
|-<br />
| 2 || [https://problems.tryapl.org/psets/2023.html?goto=P2_Put_It_In_Reverse Put It In Reverse] || [https://chat.stackexchange.com/transcript/52405?m=64977516#64977516 Jan 12, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/2.apl 2023/2.apl] || [https://www.youtube.com/watch?v=JnExPhse9iM&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:05:58]<br />
|-<br />
| 3 || [https://problems.tryapl.org/psets/2023.html?goto=P3_Caesar_Salad Caesar Salad] || [https://chat.stackexchange.com/transcript/52405?m=65017769#65017769 Jan 19, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/3.apl 2023/3.apl] || [https://www.youtube.com/watch?v=Rg8OCEMlYGg&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:02:56]<br />
|-<br />
| 4 || [https://problems.tryapl.org/psets/2023.html?goto=P4_Like_a_Version Like a Version] || [https://chat.stackexchange.com/transcript/52405?m=65059946#65059946 Jan 26, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/4.apl 2023/4.apl] || [https://www.youtube.com/watch?v=zOhxW-gRR4A&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:09:15]<br />
|-<br />
| 5 || [https://problems.tryapl.org/psets/2023.html?goto=P5_Risky_Business Risky Business] || [https://chat.stackexchange.com/transcript/52405?m=65101517#65101517 Feb 2, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/5.apl 2023/5.apl] || [https://www.youtube.com/watch?v=CvgRR1Ai94Q&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:06:24]<br />
|-<br />
| 6 || [https://problems.tryapl.org/psets/2023.html?goto=P6_Key_Value_Pairs Key Value Pairs] || [https://chat.stackexchange.com/transcript/52405?m=65151113#65151113 Feb 9, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/6.apl 2023/6.apl] || [https://www.youtube.com/watch?v=svaJ0o9oyco&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:16:41]<br />
|-<br />
| 7 || [https://problems.tryapl.org/psets/2023.html?goto=P7_Lets_Be_Rational Lets Be Rational] || [https://chat.stackexchange.com/transcript/message/65193789#65193789 Feb 16, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/7.apl 2023/7.apl] || [https://www.youtube.com/watch?v=3J_IuXgDiq0&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:04:03]<br />
|-<!--<br />
| 8 || [https://problems.tryapl.org/psets/2023.html?goto=P8_Critical_Thinking Critical Thinking] || [https://chat.stackexchange.com/transcript/52405?m=________#________ Feb 23, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/8.apl 2023/8.apl] || [https://www.youtube.com/watch?v=___________&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:nn:nn]<br />
|-<br />
| 9 || [https://problems.tryapl.org/psets/2023.html?goto=P9_Flipping_Pairs Flipping Pairs] || [https://chat.stackexchange.com/transcript/52405?m=________#________ Mar 1, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/9.apl 2023/9.apl] || [https://www.youtube.com/watch?v=___________&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:nn:nn]<br />
|-<br />
| 10 || [https://problems.tryapl.org/psets/2023.html?goto=P10_Partition_with_a_Twist Partition with a Twist] || [https://chat.stackexchange.com/transcript/52405?m=________#________ Mar 8, 2024] || [https://github.com/abrudz/apl_quest/tree/main/2023/10.apl 2023/10.apl] || [https://www.youtube.com/watch?v=___________&list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN 00:nn:nn]--><br />
|}<br />
:<span id=p2023>[[#2023|*]]</span> All videos are also available as [https://www.youtube.com/playlist?list=PLYKQVqyrAEj9wDIUyLDGtDAFTKY38BUMN a single playlist].<br />
<br />
== References ==<br />
<references/><br />
{{APL community}}[[Category:Online sessions]][[Category:Web broadcasts]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Template:APL_built-ins&diff=11083
Template:APL built-ins
2024-02-26T08:40:19Z
<p>Adám Brudzewsky: ct</p>
<hr />
<div><noinclude>__NOTITLE__</noinclude><br />
{| class="wikitable <includeonly>{{{1|mw-collapsible mw-collapsed}}}</includeonly>" style="width:100%"<br />
! colspan=4 | '''<big>APL built-ins</big>''' [[{{fullurl:Template:APL_built-ins|action=edit}} edit]]<br />
|-<br />
! rowspan="9" style="width:6em;" | [[Primitive function]]s<br />
|-<br />
! rowspan="3" style="width:6em;" | [[Scalar function|Scalar]]<br />
|-<br />
! style="width:6em;" | Monadic<br />
| [[Conjugate]] ∙ [[Negate]] ∙ [[Signum]] ∙ [[Reciprocal]] ∙ [[Magnitude]] ∙ [[Exponential]] ∙ [[Natural Logarithm]] ∙ [[Floor]] ∙ [[Ceiling]] ∙ [[Factorial]] ∙ [[Not]] ∙ [[Pi Times]] ∙ [[Roll]] ∙ [[Type]] ∙ [[Imaginary]] ∙ [[Square Root]]<br />
|-<br />
! Dyadic<br />
| [[Add]] ∙ [[Subtract]] ∙ [[Times]] ∙ [[Divide]] ∙ [[Residue]] ∙ [[Power (function)|Power]] ∙ [[Logarithm]] ∙ [[Minimum]] ∙ [[Maximum]] ∙ [[Binomial]] ∙ [[Comparison function]]s ∙ [[Boolean#Boolean_functions|Boolean functions]] ([[And]], [[Or]], [[Nand]], [[Nor]]) ∙ [[GCD]] ∙ [[LCM]] ∙ [[Circular]] ∙ [[Complex (function)|Complex]] ∙ [[Root]]<br />
|-<br />
! rowspan="5" | [[Mixed function|Non-Scalar]]<br />
|-<br />
! [[Structural function|Structural]]<br />
| [[Shape]] ∙ [[Reshape]] ∙ [[Tally]] ∙ [[Depth]] ∙ [[Ravel]] ∙ [[Enlist]] ∙ [[Table]] ∙ [[Catenate]] ∙ [[Reverse]] ∙ [[Rotate]] ∙ [[Transpose]] ∙ [[Raze]] ∙ [[Mix]] ∙ [[Split]] ∙ [[Enclose]] ∙ [[Nest]] ∙ [[Cut (K)]] ∙ [[Pair]] ∙ [[Link]] ∙ [[Partitioned Enclose]] ∙ [[Partition]]<br />
|-<br />
! Selection<br />
| [[First]] ∙ [[Pick]] ∙ [[Take]] ∙ [[Drop]] ∙ [[Unique]] ∙ [[Identity]] ∙ [[Select]] ∙ [[Replicate]] ∙ [[Expand]] ∙ [[Set function]]s ([[Intersection]] ∙ [[Union]] ∙ [[Without]]) ∙ [[Bracket indexing]] ∙ [[Index (function)|Index]]<br />
|-<br />
! Selector<br />
| [[Index generator]] ∙ [[Grade]] ∙ [[Index Of]] ∙ [[Interval Index]] ∙ [[Indices]] ∙ [[Deal]]<br />
|-<br />
! Computational<br />
| [[Match]] ∙ [[Not Match]] ∙ [[Membership]] ∙ [[Find]] ∙ [[Nub Sieve]] ∙ [[Encode]] ∙ [[Decode]] ∙ [[Matrix Inverse]] ∙ [[Matrix Divide]] ∙ [[Format]] ∙ [[Execute]] ∙ [[Materialise]] ∙ [[Range]]<br />
|-<br />
! rowspan="2" | [[Primitive operator]]s !! Monadic<br />
| colspan="2" | [[Each]] ∙ [[Commute]] ∙ [[Constant]] ∙ [[Replicate]] ∙ [[Expand]] ∙ [[Reduce]] ∙ [[Windowed Reduce]] ∙ [[Scan]] ∙ [[Outer Product]] ∙ [[Key]] ∙ [[I-Beam]] ∙ [[Spawn]] ∙ [[Function axis]]<br />
|-<br />
! Dyadic<br />
| colspan="2" | [[Bind]] ∙ [[Function composition|Composition]]s ([[Compose]], [[Reverse Compose]], [[Beside]], [[Withe]], [[Atop (operator)|Atop]], [[Over]]) ∙ [[Inner Product]] ∙ [[Power (operator)|Power]] ∙ [[At]] ∙ [[Under]] ∙ [[Rank (operator)|Rank]] ∙ [[Depth (operator)|Depth]] ∙ [[Variant]] ∙ [[Stencil]] ∙ [[Cut]]<br />
|-<br />
! rowspan="4" | [[Quad name]]s<br />
|-<br />
! Arrays<br />
| colspan="2" | [[Index origin]] ∙ [[Comparison tolerance]] ∙ [[Migration level]] ∙ [[Atomic vector]]<br />
|-<br />
! [[System function|Functions]]<br />
| colspan="2" | [[Name class]] ∙ [[Case convert]] ∙ [[Unicode convert]]<br />
|-<br />
! Operators<br />
| colspan="2" | [[Search]] ∙ [[Replace]]<br />
|}</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Tolerant_comparison&diff=11082
Tolerant comparison
2024-02-26T08:39:26Z
<p>Adám Brudzewsky: Adám Brudzewsky moved page Tolerant comparison to Comparison tolerance: swapping ct and tc</p>
<hr />
<div>#REDIRECT [[Comparison tolerance]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Comparison_tolerance&diff=11081
Comparison tolerance
2024-02-26T08:39:26Z
<p>Adám Brudzewsky: Adám Brudzewsky moved page Tolerant comparison to Comparison tolerance: swapping ct and tc</p>
<hr />
<div>{{Built-in|Comparison tolerance|⎕CT}} is the parameter governing '''tolerant comparison''', an inexact form of [[comparison]] used to mitigate the impact of floating-point rounding error on programs. Two [[number]]s are considered equal when their relative difference is smaller than the comparison tolerance, which is accessed with the [[system variable]] <syntaxhighlight lang=apl inline>⎕CT</syntaxhighlight>. In addition to the comparison functions, tolerance applies to [[Match]] and [[Not Match]], [[Floor]], [[Ceiling]], and [[Modulus]], and [[search function]]s defined in terms of Match (not [[Interval Index]]).<br />
<br />
{{quote|In an early talk Ken was explaining the advantages of tolerant comparison. A member of the audience asked incredulously, "Surely you don't mean that when <nowiki>A=B and B=C</nowiki>, A may not equal C?" Without skipping a beat, Ken replied, "Any carpenter knows that!" and went on to the next question.|—Paul Berry<ref>[[Roger Hui]]. [https://keiapl.org/anec/ Ken Iverson Quotations and Anecdotes]. 2005-09-30.</ref>}}<br />
<br />
The rule for comparison tolerance is that numbers <syntaxhighlight lang=apl inline>a</syntaxhighlight> and <syntaxhighlight lang=apl inline>b</syntaxhighlight> are equal when<br />
<syntaxhighlight lang=apl>(|a-b) ≤ ⎕CT×(|a)⌈(|b)</syntaxhighlight><br />
where <syntaxhighlight lang=apl inline>≤</syntaxhighlight> is evaluated intolerantly. This means that the allowed difference between the numbers increases as they become larger in magnitude (a relative tolerance). Comparison with zero is intolerant: only zero can equal zero. A typical value for <syntaxhighlight lang=apl inline>⎕CT</syntaxhighlight> is <syntaxhighlight lang=apl inline>1e¯14</syntaxhighlight>, which is usually large enough to accomodate multiple iterations of double-precision rounding (which introduces error on the order of <syntaxhighlight lang=apl inline>1e¯16</syntaxhighlight>) while being far smaller than typical precision of real-world measurements.<br />
<br />
Comparison tolerance was available in some form since [[APL\360]], where it was described as a "fuzz" (on the suggestion of [[Larry Breed]]<ref>[[Adin Falkoff]], and [[Ken Iverson]]. [https://dl.acm.org/doi/abs/10.1145/960118.808372 ''The Evolution of APL''] ([https://www.jsoftware.com/papers/APLEvol.htm web]). ACM SIGPLAN Notices, Volume 13, Number 8. 1978-08.</ref>) applied to some functions. The value <syntaxhighlight lang=apl inline>⎕CT</syntaxhighlight> to control it was defined with the introduction of [[system variable]]s in [[APL.SV]]. The formula now used for comparison tolerance was proposed by [[Dick Lathwell]] in 1976<ref>[[Dick Lathwell]]. [https://doi.org/10.1145/800114.803685 APL comparison tolerance] at [[APL76]] (also reproduced in [https://www.jsoftware.com/papers/satn23.htm SATN-23]).</ref> and later introduced in [[SHARP APL]] by [[Robert Bernecky]] and others<ref>[[Robert Bernecky]]. [https://www.jsoftware.com/papers/satn23.htm "Comparison Tolerance"]. SATN-23. 1977-06-10.</ref> and included in the APL standard [[ISO 8485:1989]].<ref>[[Adin Falkoff]] and D. L. Orth. [https://doi.org/10.1145/800137.804495 "Development of an APL standard"] at [[APL79]].</ref> However, comparison tolerance is not supported in many newer APLs such as [[ngn/apl]], [[dzaima/APL]], and [[Kap]].<br />
<br />
The application of comparison tolerance to [[search function]]s presents problems for standard hash-based search methods.<ref>[[Roger Hui]]. [https://www.jsoftware.com/papers/Hashing.htm "Hashing for Tolerant Index-Of"] at [[Dyalog '10]].</ref><ref>[[Roger Hui]]. "Tolerant Unique" ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D10_Tolerant_Unique.zip materials (1.5 MB)], [https://dyalog.tv/Dyalog17/?v=fPWky9IOG40 video (27 mins)]) at [[Dyalog '17]].</ref> Many algorithms can be sped up by setting <syntaxhighlight lang=apl>⎕CT←0</syntaxhighlight>, thus disabling tolerant comparison.<br />
<br />
== External links ==<br />
* Tolerated Comparison [https://www.dyalog.com/blog/2018/11/tolerated-comparison-part-1/ part 1] and [https://www.dyalog.com/blog/2019/06/tolerated-comparison-part-2/ part 2] by [[Marshall Lochbaum]]<br />
<br />
=== Documentation ===<br />
* [https://help.dyalog.com/latest/#Language/System%20Functions/ct.htm Dyalog]<br />
* [https://microapl.com/apl_help/ch_020_070_150.htm APLX]<br />
<br />
== References ==<br />
<references/><br />
{{APL built-ins}}[[Category:Function characteristics]][[Category:System constants]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Comparison_tolerance&diff=11080
Comparison tolerance
2024-02-26T08:37:31Z
<p>Adám Brudzewsky: Rework to be CT instead of TC, following the style of IO and ML</p>
<hr />
<div>{{Built-in|Comparison tolerance|⎕CT}} is the parameter governing '''tolerant comparison''', an inexact form of [[comparison]] used to mitigate the impact of floating-point rounding error on programs. Two [[number]]s are considered equal when their relative difference is smaller than the comparison tolerance, which is accessed with the [[system variable]] <syntaxhighlight lang=apl inline>⎕CT</syntaxhighlight>. In addition to the comparison functions, tolerance applies to [[Match]] and [[Not Match]], [[Floor]], [[Ceiling]], and [[Modulus]], and [[search function]]s defined in terms of Match (not [[Interval Index]]).<br />
<br />
{{quote|In an early talk Ken was explaining the advantages of tolerant comparison. A member of the audience asked incredulously, "Surely you don't mean that when <nowiki>A=B and B=C</nowiki>, A may not equal C?" Without skipping a beat, Ken replied, "Any carpenter knows that!" and went on to the next question.|—Paul Berry<ref>[[Roger Hui]]. [https://keiapl.org/anec/ Ken Iverson Quotations and Anecdotes]. 2005-09-30.</ref>}}<br />
<br />
The rule for comparison tolerance is that numbers <syntaxhighlight lang=apl inline>a</syntaxhighlight> and <syntaxhighlight lang=apl inline>b</syntaxhighlight> are equal when<br />
<syntaxhighlight lang=apl>(|a-b) ≤ ⎕CT×(|a)⌈(|b)</syntaxhighlight><br />
where <syntaxhighlight lang=apl inline>≤</syntaxhighlight> is evaluated intolerantly. This means that the allowed difference between the numbers increases as they become larger in magnitude (a relative tolerance). Comparison with zero is intolerant: only zero can equal zero. A typical value for <syntaxhighlight lang=apl inline>⎕CT</syntaxhighlight> is <syntaxhighlight lang=apl inline>1e¯14</syntaxhighlight>, which is usually large enough to accomodate multiple iterations of double-precision rounding (which introduces error on the order of <syntaxhighlight lang=apl inline>1e¯16</syntaxhighlight>) while being far smaller than typical precision of real-world measurements.<br />
<br />
Comparison tolerance was available in some form since [[APL\360]], where it was described as a "fuzz" (on the suggestion of [[Larry Breed]]<ref>[[Adin Falkoff]], and [[Ken Iverson]]. [https://dl.acm.org/doi/abs/10.1145/960118.808372 ''The Evolution of APL''] ([https://www.jsoftware.com/papers/APLEvol.htm web]). ACM SIGPLAN Notices, Volume 13, Number 8. 1978-08.</ref>) applied to some functions. The value <syntaxhighlight lang=apl inline>⎕CT</syntaxhighlight> to control it was defined with the introduction of [[system variable]]s in [[APL.SV]]. The formula now used for comparison tolerance was proposed by [[Dick Lathwell]] in 1976<ref>[[Dick Lathwell]]. [https://doi.org/10.1145/800114.803685 APL comparison tolerance] at [[APL76]] (also reproduced in [https://www.jsoftware.com/papers/satn23.htm SATN-23]).</ref> and later introduced in [[SHARP APL]] by [[Robert Bernecky]] and others<ref>[[Robert Bernecky]]. [https://www.jsoftware.com/papers/satn23.htm "Comparison Tolerance"]. SATN-23. 1977-06-10.</ref> and included in the APL standard [[ISO 8485:1989]].<ref>[[Adin Falkoff]] and D. L. Orth. [https://doi.org/10.1145/800137.804495 "Development of an APL standard"] at [[APL79]].</ref> However, comparison tolerance is not supported in many newer APLs such as [[ngn/apl]], [[dzaima/APL]], and [[Kap]].<br />
<br />
The application of comparison tolerance to [[search function]]s presents problems for standard hash-based search methods.<ref>[[Roger Hui]]. [https://www.jsoftware.com/papers/Hashing.htm "Hashing for Tolerant Index-Of"] at [[Dyalog '10]].</ref><ref>[[Roger Hui]]. "Tolerant Unique" ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D10_Tolerant_Unique.zip materials (1.5 MB)], [https://dyalog.tv/Dyalog17/?v=fPWky9IOG40 video (27 mins)]) at [[Dyalog '17]].</ref> Many algorithms can be sped up by setting <syntaxhighlight lang=apl>⎕CT←0</syntaxhighlight>, thus disabling tolerant comparison.<br />
<br />
== External links ==<br />
* Tolerated Comparison [https://www.dyalog.com/blog/2018/11/tolerated-comparison-part-1/ part 1] and [https://www.dyalog.com/blog/2019/06/tolerated-comparison-part-2/ part 2] by [[Marshall Lochbaum]]<br />
<br />
=== Documentation ===<br />
* [https://help.dyalog.com/latest/#Language/System%20Functions/ct.htm Dyalog]<br />
* [https://microapl.com/apl_help/ch_020_070_150.htm APLX]<br />
<br />
== References ==<br />
<references/><br />
{{APL built-ins}}[[Category:Function characteristics]][[Category:System constants]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Glyph&diff=11079
Glyph
2024-02-26T05:22:31Z
<p>Adám Brudzewsky: </p>
<hr />
<div>Glyphs are the individual [[character]]s and symbols used in APL, primarily to represent [[primitive function]]s and [[primitive operator|operators]]. A glyph is distinct from the functionality it represents, and usually has a different name: for example, the [[dyadic]] function [[Take]] is represented with the glyph [[Up Arrow]].<br />
<br />
Most of APL's glyphs cannot be represented in [[wikipedia:ASCII|ASCII]], now considered a "standard" or "basic" character set, but all of them are included in [[Unicode]], as one goal of Unicode was to unify existing character sets. In fact, [[Ken Iverson]] first began using [[Iverson notation|his notation]] before work on ASCII began, and [[APL\360]] was implemented before the modern ASCII standard was published in 1967. Prior to the widespread adoption of Unicode, many [[wikipedia:Digital encoding of APL symbols|special purpose code pages]] were used to represent APL symbols. APLs developed more recently, such as [[NARS2000]] and [[GNU APL]], use Unicode characters to represent glyphs, sometimes supporting several different options for a given glyph. Unicode also offers the possibility of introducing glyphs that could not have been produced on older APL systems: for example, both [[NARS2000]] and [[dzaima/APL]] use <syntaxhighlight lang=apl inline>√</syntaxhighlight> for the [[Square Root]] and [[Root]] functions.<br />
<br />
While [[Iverson notation]] was originally handwritten, the choice of glyphs to include in the first APL implementations was influenced by technical constraints of the typewriters used at the time. Notably, many glyphs were produced by overlaying two simpler glyphs, a technique known as [[overstrike|overstriking]]. The original glyph shapes in [[A Programming Language]] were drawn by [[Ken Iverson]]'s wife, Jean Iverson, using a [[wikipedia:Keuffel and Esser|Keuffel and Esser]] Leroy [[wikipedia:Technical_lettering#Mechanical_lettering|lettering set]].<ref>[[Roger Hui]]. [https://www.jsoftware.com/papers/APLQA.htm#Jean_Iverson APL Quotations and Anecdotes]. [[J]]software.</ref><br />
<br />
== Alternatives ==<br />
<br />
Display problems have been mostly eliminated by the broad uptake of Unicode. However some difficulties with [[typing glyphs]] remain. Several APL-family languages such as [[J]], [[K]], and [[ELI]] have chosen to stick with ASCII, either by reducing and compacting functionality to use one character per glyph or by using multiple characters. Historically there have also been various encodings of APL in smaller character sets, typically as an alternate way of writing code for an APL with traditional glyphs.<br />
<br />
=== Bi-glyphs ===<br />
J and K use both ASCII symbols on their own, and followed by one or more periods and/or colons. J terminology calls these ''bigraphs'' and ''trigraphs''. For example, J uses <syntaxhighlight lang=j inline>^</syntaxhighlight> for [[Power]], <syntaxhighlight lang=j inline>^.</syntaxhighlight> for [[Logarithm]], and <syntaxhighlight lang=j inline>^:</syntaxhighlight> for the [[Power operator]], while K uses <code>':</code> for the equivalent of [[Windowed_Reduce#Notable_uses|pair-wise reduction]] (<syntaxhighlight lang=apl inline>¯2f/</syntaxhighlight>) and <code>0:</code> for line-by-line file read/write. Lately, J has gone beyond this and added <syntaxhighlight lang=j inline>{{</syntaxhighlight>…<syntaxhighlight lang=j inline>}}</syntaxhighlight> for explicit functions, similar to the syntax of [[dfns]].<br />
<br />
[[Dyalog APL]] uses a few bi-glyphs, especially in dops (the operand equivalent of a dfn) where for example <syntaxhighlight lang=apl inline>⍺⍺</syntaxhighlight> and <syntaxhighlight lang=apl inline>⍵⍵</syntaxhighlight> denote the left and right [[operand]]s. [[GNU APL]] and [[dzaima/APL]] use <syntaxhighlight lang=apl inline>⍶</syntaxhighlight> and <syntaxhighlight lang=apl inline>⍹</syntaxhighlight> instead.<br />
<br />
[[GNU APL]] also uses bi-glyphs consisting of <syntaxhighlight lang=apl inline>⊤</syntaxhighlight> follwed by a comparison function as the bit-wise equivalent of the comparison function. For example <syntaxhighlight lang=apl inline>A⊤∧B</syntaxhighlight> is bit-wise [[And]]. [[Number]]s are treated as 64-bit integers, and [[character]]s as 32-bit integers (with the result being character as well).<br />
<br />
[[NARS2000]] uses <syntaxhighlight lang=apl inline>..</syntaxhighlight> for its [[Range]] function.<br />
== References ==<br />
<references/><br />
{{APL features}}<br />
{{APL glyphs}}<br />
[[Category:Glyphs]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Comparison_of_APL_dialects&diff=11034
Comparison of APL dialects
2024-02-22T10:11:48Z
<p>Adám Brudzewsky: dzaima/APL has maps</p>
<hr />
<div>All APL dialects share core features, and at least the [[primitive]]s are [[Backwards compatibility|backwards compatible]] with those of [[APL.SV]]. However, there are important dialectal differences, the most significant of which are described in this article.<br />
<br />
== Flat versus Nested ==<br />
<br />
One of the most significant differences between APLs is the choice of [[array model]], namely [[Nested array theory|nested]] or [[Flat array theory|flat]]. Originally, all APLs were entirely flat, that is, the only [[scalar]] values supported were [[simple]] and had to be either [[number]]s and [[character]]s, and an array had to be homogeneous, that is, consisting entirely of a single [[type]]. [[SHARP APL]] introduced the [[box]] as a third type, such that a box could hold any other array (including a box array), and this allowed for arrays contain other arrays. [[NARS]] introduced the nested array model, where any arrays can be an actual [[element]] of another array. Most currently maintained dialects ([[Dyalog APL]], [[NARS2000]], [[APL2]], [[GNU APL]], and others) use the nested array model.<br />
<br />
=== Disclose ===<br />
<br />
[[Disclose]] is defined, on [[scalar]]s, to be the inverse of [[Enclose]], giving the sole [[element]] of that scalar. This behavior is extended to arbitrary arrays in one of two ways: [[Mix]], which combines all elements, and [[First]], which returns only the first (in [[ravel order]]).<br />
<br />
In the [[SHARP APL]] family, Disclose is written <syntaxhighlight lang=apl inline>></syntaxhighlight>, and given a [[function rank]] of 0, which causes it to behave as [[Mix]]. [[First]] is not a primitive.<br />
<br />
In nested APL dialects, Disclose is written <syntaxhighlight lang=apl inline>⊃</syntaxhighlight>, and it [[Disclose#History|was extended]] to First by [[NARS]] and to Mix by [[APL2]]. The other possible meaning is given the glyph <syntaxhighlight lang=apl inline>↑</syntaxhighlight> and named "Mix" or "First" (not "Disclose") as appropriate. Dialects might choose either assignment of glyphs, and [[Dyalog APL]] and [[APL*PLUS]] allow either to be chosen based on [[Migration Level]].<br />
<br />
{|class=wikitable<br />
! Glyph !! Meaning !! Dialects<br />
|-<br />
| <syntaxhighlight lang=apl inline>></syntaxhighlight> || [[Mix]] || [[SHARP APL]], [[A]], [[A+]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || [[Mix]] || [[APL2]], [[ISO/IEC 13751:2001]], [[APLX]], [[NARS2000]], [[GNU APL]], [[Kap]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || [[First]] || [[ngn/apl]], [[Co-dfns]], [[dzaima/APL]], [[April]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || Configurable || [[Dyalog APL]], [[APL*PLUS]], [[APL+Win]], [[APL64]]<br />
|}<br />
<br />
== Complex numbers ==<br />
<br />
Most dialects support [[complex number]]s, but some ([[dzaima/APL]], [[APLX]], [[APL+Win]]) don't. Dialects with complex numbers also extend [[Circular]] (<syntaxhighlight lang=apl inline>○</syntaxhighlight>) to left arguments designed for complex numbers.<br />
<br />
== Conformability ==<br />
<br />
All APLs implement [[scalar extension]] in [[scalar dyadic]] functions, and [[Each]] if present. However, a few dialects differ in their support for [[singleton extension]]. Most support it fully, so that a singleton of any rank is extended. [[APL2]] supports it only for scalars and one-element vectors (and [[ISO/IEC_13751:2001]] specifies only this behavior), and [[dzaima/APL]] and [[Kap]] support scalar extension only.<br />
<br />
Furthermore, dialects that implement the [[Rank operator]] differ in their conformability rules for frames. [[Dyalog APL]] and [[SHARP APL]] implement scalar agreement only, [[NARS2000]] implements singleton agreement, and [[A+]] implements leading axis agreement (in addition to extra options allowing the programmer to specify outer-product-like treatment of some axes).<br />
<br />
== Depth ==<br />
<br />
[[Dyalog APL]] defines [[Depth]] (<syntaxhighlight lang=apl inline>≡</syntaxhighlight>) to return negative numbers when the depth is uneven. Most other dialects instead define it to return the maximum depth. The original NARS paper assigned the glyph to a function called [[Simple (NARS)|Simple]], which simply answered if the argument was simple or not, without reporting the actual depth. It was thus equivalent to today's <syntaxhighlight lang=apl inline>1=≡,Y</syntaxhighlight>.<br />
<br />
== Language features ==<br />
<br />
The following table shows support for various APL features: nesting either with [[box]]es or the [[nested array model]], [[defined function]]s or similar syntax, [[control structure]]s, [[dfn]]-style anonymous functions, [[tacit]] programming, particularly with [[train]]s, [[complex number]]s, arbitrary-precision integers, [[Unicode]] support, and [[namespace]]s or a similar encapsulation feature. The precise syntax and capabilities of these features might differ between dialects that support them.<br />
<br />
Dialects included in the first row include [[APL\360]], [[APL\1130]], [[APL*PLUS]] before II, [[APL/700]], [[APL.SV]], [[APL 5100]], [[MCM/70]], [[VS APL]], [[APL\3000]], and [[Aplette]]. [[Extended Dyalog APL]] and [[Dyalog APL Vision]] have the same feature-set as [[Dyalog APL]].<br />
<br />
{|class="wikitable sortable"<br />
! Dialect !! Nesting !! [[Tradfn]]s !! [[Control structure|Control]] !! [[Dfn]]s !! [[Tacit]] !! [[Complex]] !! Big int !! Unicode !! [[Namespace]]<br />
|-<br />
| [[APL\360]], [[APL.SV]], … || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[SHARP APL]] || {{Yes|Boxes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[NARS]] || {{Yes|Nested}} || {{Yes}} || {{No}} || {{Maybe|[[direct definition (NARS)|direct def]]}}<br />
| {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[Dyalog APL]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[APL2]] || {{Yes|Nested}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}}<br />
|-<br />
| [[A+]] || {{Yes|Boxes}} || {{Yes}} || {{Yes}} || {{No}} || {{Maybe|Some}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[APL*PLUS II]] || {{Yes|Nested}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[SAX]] || {{Yes|Boxes}} || {{Yes}} || {{Yes}} || {{No}} || {{Maybe|Some}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[APL*PLUS III]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[APL+Win]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}}<br />
|-<br />
| [[APLX]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[NARS2000]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Maybe|UCS-2}} || {{No}}<br />
|-<br />
| [[VisualAPL]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[APL#]] || {{Yes|Nested}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[ngn/apl]] || {{Yes|Nested}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}}<br />
|-<br />
| [[GNU APL]] || {{Yes|Nested}} || {{Yes}} || {{Maybe|If-else}} || {{Maybe|Limited}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[Co-dfns]] || {{Yes|Nested}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Maybe|Partial}}<br />
|-<br />
| [[April]] || {{Yes|Nested}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[dzaima/APL]] || {{Yes|Nested}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[APL\iv]] || {{Maybe|Lists}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}}<br />
|-<br />
| [[Kap]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[APL64]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}}<br />
|}<br />
<br />
== External links ==<br />
* [https://omnibar.rubenverg.com Omnibar] lists all glyphs with their meanings and allows custom comparisons between dialects:[[File:Omnibar|center]]<br />
{{APL dialects}}[[Category:Lists]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=APL*PLUS_III&diff=11033
APL*PLUS III
2024-02-21T23:53:21Z
<p>Adám Brudzewsky: Redirected page to APL*PLUS</p>
<hr />
<div>#REDIRECT [[APL*PLUS]]</div>
Adám Brudzewsky
https://aplwiki.com/index.php?title=Comparison_of_APL_dialects&diff=11032
Comparison of APL dialects
2024-02-21T23:53:10Z
<p>Adám Brudzewsky: APL*PLUS only got ctrl structs with III</p>
<hr />
<div>All APL dialects share core features, and at least the [[primitive]]s are [[Backwards compatibility|backwards compatible]] with those of [[APL.SV]]. However, there are important dialectal differences, the most significant of which are described in this article.<br />
<br />
== Flat versus Nested ==<br />
<br />
One of the most significant differences between APLs is the choice of [[array model]], namely [[Nested array theory|nested]] or [[Flat array theory|flat]]. Originally, all APLs were entirely flat, that is, the only [[scalar]] values supported were [[simple]] and had to be either [[number]]s and [[character]]s, and an array had to be homogeneous, that is, consisting entirely of a single [[type]]. [[SHARP APL]] introduced the [[box]] as a third type, such that a box could hold any other array (including a box array), and this allowed for arrays contain other arrays. [[NARS]] introduced the nested array model, where any arrays can be an actual [[element]] of another array. Most currently maintained dialects ([[Dyalog APL]], [[NARS2000]], [[APL2]], [[GNU APL]], and others) use the nested array model.<br />
<br />
=== Disclose ===<br />
<br />
[[Disclose]] is defined, on [[scalar]]s, to be the inverse of [[Enclose]], giving the sole [[element]] of that scalar. This behavior is extended to arbitrary arrays in one of two ways: [[Mix]], which combines all elements, and [[First]], which returns only the first (in [[ravel order]]).<br />
<br />
In the [[SHARP APL]] family, Disclose is written <syntaxhighlight lang=apl inline>></syntaxhighlight>, and given a [[function rank]] of 0, which causes it to behave as [[Mix]]. [[First]] is not a primitive.<br />
<br />
In nested APL dialects, Disclose is written <syntaxhighlight lang=apl inline>⊃</syntaxhighlight>, and it [[Disclose#History|was extended]] to First by [[NARS]] and to Mix by [[APL2]]. The other possible meaning is given the glyph <syntaxhighlight lang=apl inline>↑</syntaxhighlight> and named "Mix" or "First" (not "Disclose") as appropriate. Dialects might choose either assignment of glyphs, and [[Dyalog APL]] and [[APL*PLUS]] allow either to be chosen based on [[Migration Level]].<br />
<br />
{|class=wikitable<br />
! Glyph !! Meaning !! Dialects<br />
|-<br />
| <syntaxhighlight lang=apl inline>></syntaxhighlight> || [[Mix]] || [[SHARP APL]], [[A]], [[A+]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || [[Mix]] || [[APL2]], [[ISO/IEC 13751:2001]], [[APLX]], [[NARS2000]], [[GNU APL]], [[Kap]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || [[First]] || [[ngn/apl]], [[Co-dfns]], [[dzaima/APL]], [[April]]<br />
|-<br />
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || Configurable || [[Dyalog APL]], [[APL*PLUS]], [[APL+Win]], [[APL64]]<br />
|}<br />
<br />
== Complex numbers ==<br />
<br />
Most dialects support [[complex number]]s, but some ([[dzaima/APL]], [[APLX]], [[APL+Win]]) don't. Dialects with complex numbers also extend [[Circular]] (<syntaxhighlight lang=apl inline>○</syntaxhighlight>) to left arguments designed for complex numbers.<br />
<br />
== Conformability ==<br />
<br />
All APLs implement [[scalar extension]] in [[scalar dyadic]] functions, and [[Each]] if present. However, a few dialects differ in their support for [[singleton extension]]. Most support it fully, so that a singleton of any rank is extended. [[APL2]] supports it only for scalars and one-element vectors (and [[ISO/IEC_13751:2001]] specifies only this behavior), and [[dzaima/APL]] and [[Kap]] support scalar extension only.<br />
<br />
Furthermore, dialects that implement the [[Rank operator]] differ in their conformability rules for frames. [[Dyalog APL]] and [[SHARP APL]] implement scalar agreement only, [[NARS2000]] implements singleton agreement, and [[A+]] implements leading axis agreement (in addition to extra options allowing the programmer to specify outer-product-like treatment of some axes).<br />
<br />
== Depth ==<br />
<br />
[[Dyalog APL]] defines [[Depth]] (<syntaxhighlight lang=apl inline>≡</syntaxhighlight>) to return negative numbers when the depth is uneven. Most other dialects instead define it to return the maximum depth. The original NARS paper assigned the glyph to a function called [[Simple (NARS)|Simple]], which simply answered if the argument was simple or not, without reporting the actual depth. It was thus equivalent to today's <syntaxhighlight lang=apl inline>1=≡,Y</syntaxhighlight>.<br />
<br />
== Language features ==<br />
<br />
The following table shows support for various APL features: nesting either with [[box]]es or the [[nested array model]], [[defined function]]s or similar syntax, [[control structure]]s, [[dfn]]-style anonymous functions, [[tacit]] programming, particularly with [[train]]s, [[complex number]]s, arbitrary-precision integers, [[Unicode]] support, and [[namespace]]s or a similar encapsulation feature. The precise syntax and capabilities of these features might differ between dialects that support them.<br />
<br />
Dialects included in the first row include [[APL\360]], [[APL\1130]], [[APL*PLUS]] before II, [[APL/700]], [[APL.SV]], [[APL 5100]], [[MCM/70]], [[VS APL]], [[APL\3000]], and [[Aplette]]. [[Extended Dyalog APL]] and [[Dyalog APL Vision]] have the same feature-set as [[Dyalog APL]].<br />
<br />
{|class="wikitable sortable"<br />
! Dialect !! Nesting !! [[Tradfn]]s !! [[Control structure|Control]] !! [[Dfn]]s !! [[Tacit]] !! [[Complex]] !! Big int !! Unicode !! [[Namespace]]<br />
|-<br />
| [[APL\360]], [[APL.SV]], … || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[SHARP APL]] || {{Yes|Boxes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[NARS]] || {{Yes|Nested}} || {{Yes}} || {{No}} || {{Maybe|[[direct definition (NARS)|direct def]]}}<br />
| {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[Dyalog APL]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[APL2]] || {{Yes|Nested}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}}<br />
|-<br />
| [[A+]] || {{Yes|Boxes}} || {{Yes}} || {{Yes}} || {{No}} || {{Maybe|Some}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[APL*PLUS II]] || {{Yes|Nested}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[SAX]] || {{Yes|Boxes}} || {{Yes}} || {{Yes}} || {{No}} || {{Maybe|Some}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[APL*PLUS III]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[APL+Win]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}}<br />
|-<br />
| [[APLX]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| [[NARS2000]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Maybe|UCS-2}} || {{No}}<br />
|-<br />
| [[VisualAPL]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[APL#]] || {{Yes|Nested}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[ngn/apl]] || {{Yes|Nested}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}}<br />
|-<br />
| [[GNU APL]] || {{Yes|Nested}} || {{Yes}} || {{Maybe|If-else}} || {{Maybe|Limited}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[Co-dfns]] || {{Yes|Nested}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Maybe|Partial}}<br />
|-<br />
| [[April]] || {{Yes|Nested}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[dzaima/APL]] || {{Yes|Nested}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}}<br />
|-<br />
| [[APL\iv]] || {{Maybe|Lists}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}}<br />
|-<br />
| [[Kap]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
| [[APL64]] || {{Yes|Nested}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}}<br />
|}<br />
<br />
== External links ==<br />
* [https://omnibar.rubenverg.com Omnibar] lists all glyphs with their meanings and allows custom comparisons between dialects:[[File:Omnibar|center]]<br />
{{APL dialects}}[[Category:Lists]]</div>
Adám Brudzewsky