13
edits
Miraheze>Adám Brudzewsky No edit summary |
m (typo) |
||
(13 intermediate revisions by 4 users not shown) | |||
Line 7: | Line 7: | ||
[[Special:Statistics|{{NUMBEROFARTICLES}}]] articles about APL that anyone can edit | [[Special:Statistics|{{NUMBEROFARTICLES}}]] articles about APL that anyone can edit | ||
|| | || | ||
APL is an [ | APL is an [[wikipedia:Array_programming|array-oriented programming language]]. Its powerful, concise [[APL syntax|syntax]] lets you develop shorter programs that enable you to think more about the problem you're trying to solve than how to express it to a computer. | ||
|} | |} | ||
Line 22: | Line 22: | ||
Taking up a new programming language can be a daunting task. While it can appear cryptic at first, APL is actually very easy to learn and [[semantic density|read]]. A few introductory guides have been created to help you in the process. | Taking up a new programming language can be a daunting task. While it can appear cryptic at first, APL is actually very easy to learn and [[semantic density|read]]. A few introductory guides have been created to help you in the process. | ||
<p style="text-align:center">'''[[Discovering APL]] ∙ [[Learning resources]] ∙ [[ | <p style="text-align:center">'''[[Discovering APL]] ∙ [[Learning resources]] ∙ [[Language overview]]'''</p> | ||
|- style="vertical-align:top" | |- style="vertical-align:top" | ||
| style="background:#faf5ff;border:1px solid #e0cef2;padding:0 1em" | | | style="background:#faf5ff;border:1px solid #e0cef2;padding:0 1em" | | ||
Line 33: | Line 33: | ||
<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 collaborative knowledge base; 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 is an online open-content collaborative knowledge base; 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. | ||
<p style="text-align:center">'''[[Contributing|How to contribute]] ∙ [[Special:NewPages|New pages]] ∙ [[Special:WantedPages| Wanted pages]] ∙ [ | <p style="text-align:center">'''[[Help:Contributing|How to contribute]] ∙ [[Special:NewPages|New pages]] ∙ [[Special:WantedPages| Wanted pages]] ∙ [[wikipedia:Wiki|What is a wiki?]]'''</p> | ||
|- | |- | ||
| colspan="2" style="border:1px solid #e2e2e2;padding:0 1em" | | | colspan="2" style="border:1px solid #e2e2e2;padding:0 1em" | | ||
<h2 style="margin:0.75em 0; background:#eeeeee; border:1px solid #ddd; color:#222; padding:0.2em 0.4em; font-size:120%; font-weight:bold; font-family:inherit;">Examples</h2> | <h2 style="margin:0.75em 0; background:#eeeeee; border:1px solid #ddd; color:#222; padding:0.2em 0.4em; font-size:120%; font-weight:bold; font-family:inherit;">Examples</h2> | ||
APL'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 [[ | APL'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 delimiter === | === Split text by delimiter === | ||
With the introduction of tacit programming, many functions can be expressed in fewer characters than even the shortest fitting name. For example <source lang=apl inline>≠⊆⊢</source> is but three characters, while would need five for the name <code>Split</code>: | |||
With the introduction of | |||
[https://tryapl.org/?a=%27%2C%27%28%u2260%u2286%u22A2%29%27comma%2Cdelimited%2Ctext%27&run Try it now!] | [https://tryapl.org/?a=%27%2C%27%28%u2260%u2286%u22A2%29%27comma%2Cdelimited%2Ctext%27&run Try it now!] | ||
Line 51: | Line 50: | ||
</source> | </source> | ||
{{Works in|[[Dyalog APL]]}} | {{Works in|[[Dyalog APL]]}} | ||
Now read [[Simple examples#Split text by delimiter|the full explanation]]… | |||
=== Conway's "Game of Life" === | === Conway's "Game of Life" === | ||
[[John Scholes]] is famous for the following implementation of ''[[wikipedia:Conway's Game of Life|Conway's Game of Life]]'': | [[John Scholes]] is famous for the following implementation of ''[[wikipedia:Conway's Game of Life|Conway's Game of Life]]'': | ||
Line 70: | Line 69: | ||
</source> | </source> | ||
{{Works in|[[Dyalog APL]], [[ngn/apl]]}} | {{Works in|[[Dyalog APL]], [[ngn/apl]]}} | ||
<p style="text-align:center">'''[[ | Now read the [[Conway's Game of Life|full article]]… | ||
<p style="text-align:center">'''[[Simple examples|Further simple examples]] ∙ [[Advanced examples]]'''</p> | |||
|} | |} |
edits