Learning resources: Difference between revisions

Jump to navigation Jump to search
114 bytes removed ,  08:52, 11 November 2022
no edit summary
No edit summary
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
|{{quote | "I have long been struck by the contrast between the success with which the adventurous learn APL by simply using it, and the frequent failure of lecture courses to communicate the simplicity and applicability of the language."|[[Ken Iverson]]. ''A Working Introduction to APL'', 1981.}}
|{{quote | "I have long been struck by the contrast between the success with which the adventurous learn APL by simply using it, and the frequent failure of lecture courses to communicate the simplicity and applicability of the language."|[[Ken Iverson]]. ''A Working Introduction to APL'', 1981.}}
|}
|}
To facilitate self-study, the resources here are classified by target audience. However, if you get stuck, don't hesitate to request help in a chat room ([[APL Farm]] or [[APL Orchard]]) or [https://stackoverflow.com/questions/ask?tags=apl ask a question on Stack Exchange].
To facilitate self-study, the resources here are classified by target audience. However, if you get stuck, don't hesitate to request help in one of the many [[chat rooms and forums]] or [https://stackoverflow.com/questions/ask?tags=apl ask a question on Stack Exchange].


It may be beneficial to learn the APL [[terminology]].
It may be beneficial to learn the APL [[terminology]].
Line 79: Line 79:


Here is a list of "how-to"s on various subjects:
Here is a list of "how-to"s on various subjects:
 
<div style="column-width:40em">
* [https://www.youtube.com/playlist?list=PLgTqamKi1MS3p-O0QAgjv5vt4NY5OgpiM Learn APL with neural networks] (video series)
* [https://www.youtube.com/playlist?list=PLgTqamKi1MS3p-O0QAgjv5vt4NY5OgpiM Learn APL with neural networks] (video series)
* [[Error trapping with Dyalog APL]]
* [[Error trapping with Dyalog APL]]
* [[Error trapping in Dyalog APL forms]]
* [[Error trapping in Dyalog APL forms]]
* [[Calling APL from other languages]]
* [[Calling APL from other languages]]
* [[Calling other languages from APL]]
* [[Calling other languages from APL]]
* [[Performance tuning]]
* [[Performance tuning]]
* [[APL on the web]]
* [[APL on the web]]
* [[Parallel computing]]
* [[Parallel computing]]
 
* [https://old.aplwiki.com/CryptographyWithDyalogAndDotNet Cryptography with .Net]
* [[Cryptography]] <span style="background:yellow">← Migrate https://old.aplwiki.com/CryptographyWithDyalogAndDotNet</span>
 
* [[WPF XAML Demo]]
* [[WPF XAML Demo]]
</div>


== Haven't used APL in a while? ==
== Haven't used APL in a while? ==
Those who learned APL "in the early days" should note that several implementations have made significant extensions to the language and system in the last decade or two.
Those who learned APL "in the early days" should note that several implementations have made significant extensions to the language and system in the last decade or two.
 
<div style="column-width:40em">
* General video: [https://www.youtube.com/watch?v=XN1l1WiYc_o Dyalog APL for other APL users] ([[assignment]], [[control structure]]s, [[namespace]]s, [[migration level]], [[Bind]], [[user-defined operator]]s, [[dfn]]s, [[Error trapping with Dyalog APL|error trapping]], [[shyness]], [[namelist]]s, [[GCD]], [[LCM]], [[Power (operator)|Power operator]], and more)
'''General'''
 
* [https://www.youtube.com/watch?v=XN1l1WiYc_o Dyalog APL for other APL users] (video)
* New primitive functions: <syntaxhighlight lang=apl inline>⊢</syntaxhighlight> [[Identity|Same]], [[Right_identity|Right]]; <syntaxhighlight lang=apl inline></syntaxhighlight> [[Identity|Same]], [[Left_identity|Left]]; <syntaxhighlight lang=apl inline></syntaxhighlight> [[Materialise]], [[Squad indexing|Index]]; <syntaxhighlight lang=apl inline></syntaxhighlight> [[Depth]], [[Match]]; <syntaxhighlight lang=apl inline></syntaxhighlight> [[Tally]], [[Not Match]]; <syntaxhighlight lang=apl inline></syntaxhighlight> [[Nub Sieve]]; <syntaxhighlight lang=apl inline></syntaxhighlight> [[Where]], [[Interval Index]]; <syntaxhighlight lang=apl inline></syntaxhighlight> [[Nest]], [[Partition]]
* [[Assignment]]
 
* [[Control structure]]s
* New primitive operators: <syntaxhighlight lang=apl inline></syntaxhighlight> [[Commute]], [[Constant]]; <syntaxhighlight lang=apl inline>@</syntaxhighlight> [[At]]; <syntaxhighlight lang=apl inline></syntaxhighlight> [[Bind]], [[Beside]]; <syntaxhighlight lang=apl inline></syntaxhighlight> [[Atop (operator)|Atop]], [[Rank]]<syntaxhighlight lang=apl inline></syntaxhighlight> [[Over]]<syntaxhighlight lang=apl inline></syntaxhighlight> [[Rank operator|Rank]]; <syntaxhighlight lang=apl inline>⌸</syntaxhighlight> [[Key]]; <syntaxhighlight lang=apl inline>⌺</syntaxhighlight> [[Stencil]]; <syntaxhighlight lang=apl inline>⍠</syntaxhighlight> [[Variant]]; <syntaxhighlight lang=apl inline>&</syntaxhighlight> [[Spawn]]
* [[Namespace]]s
 
* [[Migration level]]
* Lambdas ([[dfn]]s): [https://help.dyalog.com/16.0/Content/Language/Defined%20Functions%20and%20Operators/DynamicFunctions/Dynamic%20Functions%20and%20Operators.htm Intro]; [https://help.dyalog.com/latest/Content/Language/Defined%20Functions%20and%20Operators/DynamicFunctions/MultiLine%20Dynamic%20Functions.htm Details]; [https://help.dyalog.com/latest/Content/Language/Defined%20Functions%20and%20Operators/DynamicFunctions/Dynamic%20Operators.htm Operators]; [https://dfns.dyalog.com/n_contents.htm The dfns workspace] (collection of categorized utilities with extensive comments and notes)
* [[User-defined operator]]s
 
* [[Error trapping with Dyalog APL|Error trapping]]
* [[Tacit programming]]: [[Dyalog APL]] documentation: [https://help.dyalog.com/16.0/Content/RelNotes14.0/Function%20Trains.htm Intro]; [https://help.dyalog.com/latest/Content/Language/Introduction/Trains.htm Details]; [https://www.youtube.com/watch?v=kt4lMZbn-so short video]; [https://www.youtube.com/watch?v=A2LqqBosvY0 long video]; [https://chat.stackexchange.com/rooms/52405/conversation/lesson-23-transcribing-to-and-reading-trains APL Cultivation lesson]; [[Function composition]]
* [[Shyness]]
 
* [[Namelist]]s
* Other features and concepts: [[Keyword]]s; [[Object-oriented programming]]; [[namespace]]s; [[Total array ordering]]; [[Leading axis theory]]; [[Complex number]]s
* [[Keyword]]s
 
* [[Object-oriented programming]]
* [[Total array ordering]]
* [[Leading axis theory]]
* [[Complex number]]s
'''New primitive functions'''
* [[GCD]] and [[LCM]]
* [[Identity|Same]] (<syntaxhighlight lang=apl inline></syntaxhighlight> and <syntaxhighlight lang=apl inline></syntaxhighlight>)
* [[Materialise]] and [[Squad indexing|Index]] (<syntaxhighlight lang=apl inline></syntaxhighlight>)
* [[Depth]] and [[Match]] (<syntaxhighlight lang=apl inline></syntaxhighlight>)
* [[Tally]] and [[Not Match]] (<syntaxhighlight lang=apl inline></syntaxhighlight>)
* [[Nub Sieve]] (<syntaxhighlight lang=apl inline></syntaxhighlight>)
* [[Where]] and [[Interval Index]] (<syntaxhighlight lang=apl inline></syntaxhighlight>)
* [[Nest]] and [[Partition]] (<syntaxhighlight lang=apl inline></syntaxhighlight>)
'''New primitive operators'''
* [[Power (operator)|Power operator]]
* [[Commute]] and [[Constant]] (<syntaxhighlight lang=apl inline></syntaxhighlight>)
* [[At]] (<syntaxhighlight lang=apl inline>@</syntaxhighlight>)
* [[Bind]] and [[Beside]] (<syntaxhighlight lang=apl inline></syntaxhighlight>)
* [[Atop (operator)|Atop]] and [[Rank]] (<syntaxhighlight lang=apl inline></syntaxhighlight>)
* [[Over]] (<syntaxhighlight lang=apl inline></syntaxhighlight>)
* [[Key]] (<syntaxhighlight lang=apl inline>⌸</syntaxhighlight>)
* [[Stencil]] (<syntaxhighlight lang=apl inline>⌺</syntaxhighlight>)
* [[Variant]] (<syntaxhighlight lang=apl inline>⍠</syntaxhighlight>)
* [[Spawn]] (<syntaxhighlight lang=apl inline>&</syntaxhighlight>)
'''Lambdas ([[dfn]]s)'''
* [https://help.dyalog.com/latest/Content/Language/Defined%20Functions%20and%20Operators/DynamicFunctions/Dynamic%20Functions%20and%20Operators.htm Intro]
* [https://help.dyalog.com/latest/Content/Language/Defined%20Functions%20and%20Operators/DynamicFunctions/MultiLine%20Dynamic%20Functions.htm Details]
* [https://help.dyalog.com/latest/Content/Language/Defined%20Functions%20and%20Operators/DynamicFunctions/Dynamic%20Operators.htm Operators]
* [https://dfns.dyalog.com/n_contents.htm The dfns workspace] (collection of categorized utilities with extensive comments and notes)
'''[[Tacit programming]]'''
* [https://help.dyalog.com/16.0/Content/RelNotes14.0/Function%20Trains.htm Intro]
* [https://help.dyalog.com/latest/Content/Language/Introduction/Trains.htm Details]
* [https://www.youtube.com/watch?v=kt4lMZbn-so Short video]
* [https://www.youtube.com/watch?v=A2LqqBosvY0 Long video]
* [https://chat.stackexchange.com/rooms/52405/conversation/lesson-23-transcribing-to-and-reading-trains APL Cultivation lesson]
* [[Function composition]]
</div>
{{APL development}}[[Category:Lists]][[Category:Resources]]
{{APL development}}[[Category:Lists]][[Category:Resources]]

Navigation menu