4,494
edits
(promote nav overview) |
m (Text replacement - "</source>" to "</syntaxhighlight>") |
||
(3 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
[[Special:Statistics|{{NUMBEROFARTICLES}}]] articles about APL that anyone can edit.<br> | [[Special:Statistics|{{NUMBEROFARTICLES}}]] articles about APL that anyone can edit.<br> | ||
See the [[overview|navigational overview]] of content. | See the [[overview|navigational overview]] of content. | ||
| [[File:APL logo.png|48px|link=APL logo]] | |||
APL is an [[wikipedia:Array_programming|array-oriented programming language]]. Its natural, concise [[APL syntax|syntax]] lets you develop shorter programs while thinking more about the problem you're trying to solve than how to express it to a computer. | | [[The name APL|'''APL''']] is an [[wikipedia:Array_programming|array-oriented programming language]]. Its natural, concise [[APL syntax|syntax]] lets you develop shorter programs while thinking more about the problem you're trying to solve than how to express it to a computer. | ||
|} | |} | ||
Line 42: | Line 42: | ||
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. | 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 < | With the introduction of [[tacit programming]], many functions can be expressed in fewer characters than even the shortest fitting name. For example <syntaxhighlight lang=apl inline>≠⊆⊢</syntaxhighlight> is but three characters, while you would need five for the name <code>Split</code>: | ||
[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!] | ||
< | <syntaxhighlight lang=apl> | ||
','(≠⊆⊢)'comma,delimited,text' | ','(≠⊆⊢)'comma,delimited,text' | ||
┌─────┬─────────┬────┐ | ┌─────┬─────────┬────┐ | ||
│comma│delimited│text│ | │comma│delimited│text│ | ||
└─────┴─────────┴────┘ | └─────┴─────────┴────┘ | ||
</ | </syntaxhighlight> | ||
{{Works in|[[Dyalog APL]]}} | {{Works in|[[Dyalog APL]]}} | ||
'''[[Simple examples#Split text by delimiter|Full explanation…]]''' | '''[[Simple examples#Split text by delimiter|Full explanation…]]''' | ||
Line 58: | Line 58: | ||
[https://tryapl.org/?a=%u22A2world%u21902%202%202%202%u22A40%2012%205%202%204%201&run&a=%7B%u21911%20%u2375%u2228.%u22273%204%3D+/%2C%AF1%200%201%u2218.%u2296%AF1%200%201%u2218.%u233D%u2282%u2375%7D%20world&run Try it now!] | [https://tryapl.org/?a=%u22A2world%u21902%202%202%202%u22A40%2012%205%202%204%201&run&a=%7B%u21911%20%u2375%u2228.%u22273%204%3D+/%2C%AF1%200%201%u2218.%u2296%AF1%200%201%u2218.%u233D%u2282%u2375%7D%20world&run Try it now!] | ||
< | <syntaxhighlight lang=apl> | ||
⎕←world←2 2 2 2⊤0 12 5 2 4 1 | ⎕←world←2 2 2 2⊤0 12 5 2 4 1 | ||
0 1 0 0 0 0 | 0 1 0 0 0 0 | ||
Line 69: | Line 69: | ||
0 1 0 1 1 0 | 0 1 0 1 1 0 | ||
0 0 1 0 0 0 | 0 0 1 0 0 0 | ||
</ | </syntaxhighlight> | ||
{{Works in|[[Dyalog APL]], [[ngn/apl]]}} | {{Works in|[[Dyalog APL]], [[ngn/apl]]}} | ||
'''[[John Scholes' Conway's Game of Life|Full article…]]''' | '''[[John Scholes' Conway's Game of Life|Full article…]]''' |