Main Page: Difference between revisions
No edit summary |
|||
Line 13: | Line 13: | ||
| style="background:#f5fffa;border:1px solid #cef2e0;padding:0 1em" | | | style="background:#f5fffa;border:1px solid #cef2e0;padding:0 1em" | | ||
<h2 style="margin:.75em 0; background:#cef2e0; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #a3bfb1; color:#000; padding:0.2em 0.4em;">Running APL</h2> | <h2 style="margin:.75em 0; background:#cef2e0; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #a3bfb1; color:#000; padding:0.2em 0.4em;">Running APL</h2> | ||
Traditionally a commercial language, | Traditionally a commercial language, quite a few implementations are now free without feature limitations, several can be tried online, and many are [[List of open-source array languages|open source]]. | ||
<p style="text-align:center">'''[[Running APL]] ∙ [https://tryapl.org/ Try APL online]'''</p> | <p style="text-align:center">'''[[Running APL]] ∙ [https://tryapl.org/ Try APL online]'''</p> | ||
Line 20: | Line 20: | ||
<h2 style="margin:0.75em 0; background:#cedff2; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; color:#000; padding:0.2em 0.4em;>Hello world</h2> | <h2 style="margin:0.75em 0; background:#cedff2; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; color:#000; padding:0.2em 0.4em;>Hello world</h2> | ||
Taking up a new programming language can be a daunting task. While it can appear cryptic at first, you can learn to | Taking up a new programming language can be a daunting task. While it can appear cryptic at first, you can learn to [[semantic density|read]], write and [[mnemonics|remember]] APL with little effort. There is plenty of material to help you in the process. | ||
<p style="text-align:center">'''[[Introductions]] ∙ [[Learning resources]] ∙ [[Language overview]]'''</p> | <p style="text-align:center">'''[[Introductions]] ∙ [[Learning resources]] ∙ [[Language overview]]'''</p> | ||
Line 26: | Line 26: | ||
| style="background:#faf5ff;border:1px solid #e0cef2;padding:0 1em" | | | style="background:#faf5ff;border:1px solid #e0cef2;padding:0 1em" | | ||
<h2 style="margin:0.75em 0; background:#ddcef2; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #afa3bf; color:#000; padding:0.2em 0.4em">Who uses it?</h2> | <h2 style="margin:0.75em 0; background:#ddcef2; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #afa3bf; color:#000; padding:0.2em 0.4em">Who uses it?</h2> | ||
APL is used by both hobbyists and application developers. There are active [[:Category:user groups|user groups]] all around the globe, many of these hold regular in-person meet-ups. There is also | APL is used by both hobbyists and application developers. There are active [[:Category:user groups|user groups]] all around the globe, many of these hold regular in-person meet-ups. There is also multiple online [[forums]]. | ||
<p style="text-align:center">'''[[Case studies]] ∙ [[Job listings]] ∙ [[Community|Community overview]]'''</p> | <p style="text-align:center">'''[[Case studies]] ∙ [[Job listings]] ∙ [[Community|Community overview]]'''</p> | ||
Line 32: | Line 32: | ||
| style="background:#fff5fa;border:1px solid #f2cee0;padding:0 1em" | | | style="background:#fff5fa;border:1px solid #f2cee0;padding:0 1em" | | ||
<h2 style="margin:0.75em 0; background:#f2cedd; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #bfa3af; color:#000; padding:0.2em 0.4em">Contributing</h2> | <h2 style="margin:0.75em 0; background:#f2cedd; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #bfa3af; color:#000; padding:0.2em 0.4em">Contributing</h2> | ||
APL Wiki is an online open-content [[wikipedia:wiki|wiki]]; that is, a voluntary association of individuals and groups working to develop a common knowledge resource. The structure of the project allows anyone with an Internet connection to alter its content. | [[APL_Wiki:About|APL Wiki]] is an online open-content [[wikipedia:wiki|wiki]]; that is, a voluntary association of individuals and groups working to develop a common knowledge resource. The structure of the project allows anyone with an Internet connection to alter [[APL_Wiki:Content_guidelines|its content]]. | ||
<p style="text-align:center">'''[[Help:Contributing|How to contribute]] ∙ [[Special:NewPages|New pages]] ∙ [[Special:WantedPages| Wanted pages]]'''</p> | <p style="text-align:center">'''[[Help:Contributing|How to contribute]] ∙ [[Special:NewPages|New pages]] ∙ [[Special:WantedPages| Wanted pages]]'''</p> | ||
|- | |- |
Revision as of 07:44, 12 September 2021
| |||
Running APLTraditionally a commercial language, quite a few implementations are now free without feature limitations, several can be tried online, and many are open source. |
Hello worldTaking up a new programming language can be a daunting task. While it can appear cryptic at first, you can learn to read, write and remember APL with little effort. There is plenty of material to help you in the process. | ||
Who uses it?APL is used by both hobbyists and application developers. There are active user groups all around the globe, many of these hold regular in-person meet-ups. There is also multiple online forums. |
ContributingAPL Wiki is an online open-content wiki; that is, a voluntary association of individuals and groups working to develop a common knowledge resource. The structure of the project allows anyone with an Internet connection to alter its content. | ||
ExamplesAPL's terseness means that substantial programs are expressible in a small space, relative to many other programming languages. Below are just a taste. Many more, and fully explained, examples are in the simple examples article. Split text by delimiterWith the introduction of tacit programming, many functions can be expressed in fewer characters than even the shortest fitting name. For example ','(≠⊆⊢)'comma,delimited,text' ┌─────┬─────────┬────┐ │comma│delimited│text│ └─────┴─────────┴────┘ Works in: Dyalog APL
Conway's "Game of Life"John Scholes is famous for the following implementation of Conway's Game of Life: ⎕←world←2 2 2 2⊤0 12 5 2 4 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 {↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵} world 1 1 0 1 0 0 0 1 1 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0 Works in: Dyalog APL, ngn/apl
|