APL Cultivation: Difference between revisions
No edit summary |
m (Text replacement - "</source>" to "</syntaxhighlight>") Tags: Mobile edit Mobile web edit |
||
Line 14: | Line 14: | ||
| 2 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-2-diving-into-functions-in-apl Diving Into Functions in APL] || Oct 25, 2017 | | 2 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-2-diving-into-functions-in-apl Diving Into Functions in APL] || Oct 25, 2017 | ||
|- | |- | ||
| 3 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-3-some-apl-operators----- Some APL Operators: <source lang=apl inline>/ ⌿ \ ⍀ ¨ ⍣ ⍨</ | | 3 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-3-some-apl-operators----- Some APL Operators: <source lang=apl inline>/ ⌿ \ ⍀ ¨ ⍣ ⍨</syntaxhighlight>] || Nov 1, 2017 | ||
|- | |- | ||
| 4 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-4-more-apl-operators-- More APL operators: <source lang=apl inline>∘ @ ⌶</ | | 4 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-4-more-apl-operators-- More APL operators: <source lang=apl inline>∘ @ ⌶</syntaxhighlight>] || Nov 8, 2017 | ||
|- | |- | ||
| 5 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-5-even-more-apl-operators-- Even more APL operators: <source lang=apl inline>⌺ ⌸</ | | 5 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-5-even-more-apl-operators-- Even more APL operators: <source lang=apl inline>⌺ ⌸</syntaxhighlight>] || Nov 15, 2017 | ||
|- | |- | ||
| 6 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-6-apl-functions----- APL functions: <source lang=apl inline>+-×÷*⍟⌹○!? !⌈⌊⊥⊤⊣⊢ =≠≤<>≥≡≢ ∨∧⍲⍱ ↑↓</ | | 6 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-6-apl-functions----- APL functions: <source lang=apl inline>+-×÷*⍟⌹○!? !⌈⌊⊥⊤⊣⊢ =≠≤<>≥≡≢ ∨∧⍲⍱ ↑↓</syntaxhighlight>] || Nov 22, 2017 | ||
|- | |- | ||
| 7 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-7-apl-functions- APL functions: <source lang=apl inline>⊂⊃⊆⌷</ | | 7 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-7-apl-functions- APL functions: <source lang=apl inline>⊂⊃⊆⌷</syntaxhighlight>] || Nov 29, 2017 | ||
|- | |- | ||
| 8 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-8-apl-functions-- APL functions: <source lang=apl inline>⍋⍒ ⍳</ | | 8 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-8-apl-functions-- APL functions: <source lang=apl inline>⍋⍒ ⍳</syntaxhighlight>] || Dec 6, 2017 | ||
|- | |- | ||
| 9 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-9-apl-functions--- APL functions: <source lang=apl inline>⍸∊⍷∪∩~ /\⌿⍀ ,⍪</ | | 9 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-9-apl-functions--- APL functions: <source lang=apl inline>⍸∊⍷∪∩~ /\⌿⍀ ,⍪</syntaxhighlight>] || Dec 13, 2017 | ||
|- | |- | ||
| 10 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-10-apl-functions-- APL functions <source lang=apl inline>⍴⌽⊖⍉ ⍎⍕</ | | 10 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-10-apl-functions-- APL functions <source lang=apl inline>⍴⌽⊖⍉ ⍎⍕</syntaxhighlight>] || Dec 20, 2017 | ||
|- | |- | ||
| 11 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-11-system-functions-behaviour-session System Functions: behaviour, session] || Jan 3, 2018 | | 11 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-11-system-functions-behaviour-session System Functions: behaviour, session] || Jan 3, 2018 | ||
Line 56: | Line 56: | ||
| 23 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-23-transcribing-to-and-reading-trains Transcribing to and reading trains] || Mar 28, 2018 | | 23 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-23-transcribing-to-and-reading-trains Transcribing to and reading trains] || Mar 28, 2018 | ||
|- | |- | ||
| 24 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-24-r-and-s <source lang=apl inline>⎕R</ | | 24 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-24-r-and-s <source lang=apl inline>⎕R</syntaxhighlight> and <source lang=apl inline>⎕S</syntaxhighlight>] || Apr 3, 2018 | ||
|- | |- | ||
| 25 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-25-understanding-function-application Understanding function application] || Apr 11, 2018 | | 25 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-25-understanding-function-application Understanding function application] || Apr 11, 2018 | ||
Line 80: | Line 80: | ||
| 33 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-33-advanced-use-of- Advanced use of ⍤] || Jan 16, 2020 | | 33 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-33-advanced-use-of- Advanced use of ⍤] || Jan 16, 2020 | ||
|- | |- | ||
| 34 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-34-fk-in-depth <source lang=apl inline>f⍣k</ | | 34 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-34-fk-in-depth <source lang=apl inline>f⍣k</syntaxhighlight> in depth] || Jan 30, 2020 | ||
|- | |- | ||
| 35 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-35-fg-in-depth <source lang=apl inline>f⍣g</ | | 35 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-35-fg-in-depth <source lang=apl inline>f⍣g</syntaxhighlight> in depth] || Feb 13, 2020 | ||
|- | |- | ||
| 36 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-36-the-variant-option-operator--opt The variant option operator: <source lang=apl inline>⍠ ⎕OPT</ | | 36 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-36-the-variant-option-operator--opt The variant option operator: <source lang=apl inline>⍠ ⎕OPT</syntaxhighlight>] || Feb 27, 2020 | ||
|- | |- | ||
| 37 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-37--in-depth <source lang=apl inline>⊥</ | | 37 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-37--in-depth <source lang=apl inline>⊥</syntaxhighlight> in depth] || Mar 12, 2020 | ||
|- | |- | ||
| 38 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-38--in-depth <source lang=apl inline>⊤</ | | 38 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-38--in-depth <source lang=apl inline>⊤</syntaxhighlight> in depth] || Mar 26, 2020 | ||
|- | |- | ||
| 39 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-39-array-programming-techniques Array programming techniques] || Apr 7, 2020 | | 39 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-39-array-programming-techniques Array programming techniques] || Apr 7, 2020 | ||
Line 94: | Line 94: | ||
| 40 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-40-condition-controlled-loops Condition-controlled loops] || Apr 21, 2020 | | 40 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-40-condition-controlled-loops Condition-controlled loops] || Apr 21, 2020 | ||
|- | |- | ||
| 41 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-41--in-depth <source lang=apl inline>⌹</ | | 41 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-41--in-depth <source lang=apl inline>⌹</syntaxhighlight> in depth] || May 5, 2020 | ||
|- | |- | ||
| 42 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-42-array-coding-style-in-depth Array coding style in depth] || May 12, 2020 | | 42 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-42-array-coding-style-in-depth Array coding style in depth] || May 12, 2020 | ||
Line 104: | Line 104: | ||
| 45 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-45-simple-plotting-continued Simple plotting continued] (with Nicolas Delcros) || Jun 30, 2020 | | 45 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-45-simple-plotting-continued Simple plotting continued] (with Nicolas Delcros) || Jun 30, 2020 | ||
|- | |- | ||
| 46 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-46-unique-mask--and-constant- Unique mask <source lang=apl inline>≠</ | | 46 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-46-unique-mask--and-constant- Unique mask <source lang=apl inline>≠</syntaxhighlight> and constant <source lang=apl inline>⍨</syntaxhighlight>] || Jul 14, 2020 | ||
|- | |- | ||
| 47 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-47-atop--and-over- Atop <source lang=apl inline>⍤</ | | 47 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-47-atop--and-over- Atop <source lang=apl inline>⍤</syntaxhighlight> and Over <source lang=apl inline>⍥</syntaxhighlight>] || Jul 28, 2020 | ||
|- | |- | ||
| 48 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-48-c-dt-1200 <source lang=apl inline>⎕C</ | | 48 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-48-c-dt-1200 <source lang=apl inline>⎕C</syntaxhighlight> <source lang=apl inline>⎕DT</syntaxhighlight> <source lang=apl inline>1200⌶</syntaxhighlight>] || Aug 11, 2020 | ||
|- | |- | ||
| 49 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-49-extensions-in-18-0--1-json Extensions in 18.0: <source lang=apl inline>⊂</ | | 49 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-49-extensions-in-18-0--1-json Extensions in 18.0: <source lang=apl inline>⊂</syntaxhighlight> <source lang=apl inline>⍸⍣¯1</syntaxhighlight> <source lang=apl inline>⎕JSON</syntaxhighlight>] || Aug 25, 2020 | ||
|} | |} | ||
Revision as of 22:21, 10 September 2022
APL Cultivation was a series of 90-minute live chat lessons given by Adám Brudzewsky in the APL Orchard chat room in the period 2017–2020. Over the course of 2021–2022, Stefan Kruger edited the content into a book called APL Cultivations.
The first season consisted of 29 weekly sessions running from 18 October 2017 until 16 May 2018, covering most aspects of basic APL programming. Initially, the lessons were not organised, but were given completely impromptu. However, between lessons 2 and 3, Erik Konstantopoulos bookmarked the first two lessons using Stack Exchange's chat conversation bookmarking feature, and thus established the lessons as a numbered series. The name was first used for lesson 15 at the end of January 2018, but was since applied retroactively to all such lessons.
The series continued on 28 November 2019, with more in-depth lessons every two-three weeks. This was sparked by interest among participants of a presentation by Morten Kromberg and Aaron Hsu called Pragmatic Array Oriented Functional Programming, held during Jio talks 2019, after which a series of "APL Hacknights" were to be held in the APL Orchard. However, the audience of the first such eventtypos turned out mostly to be people who had not been at the Jio talk, and it was decided to fold this new series into a continuation of the previous one. This series ran for 20 sessions until 25 August, 2020.
Lessons
First season
Second season
External links
APL community [edit] | |
---|---|
Activities | Conferences ∙ User groups and meetups ∙ Iverson Award ∙ Exercises |
Chat rooms and forums | APL Farm ∙ APL Orchard ∙ APL Wiki |
People | 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 ∙ Trenchard More ∙ Alan Perlis ∙ Raghu Ranganathan ∙ Henry Rich ∙ Al Rose ∙ John Scholes ∙ Ian Sharp ∙ Bob Smith ∙ Geoff Streeter ∙ Joey Tuttle ∙ Arthur Whitney |
Other | APL Trust ∙ APL Quote Quad ∙ Blogs ∙ Books ∙ Case studies ∙ Famous APL users ∙ Humour ∙ Jobs ∙ Merchandise ∙ Papers ∙ Podcasts ∙ TryAPL ∙ Try It Online ∙ Video channels |