Main Page: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
Miraheze>Adám Brudzewsky
No edit summary
Miraheze>Adám Brudzewsky
No edit summary
Line 2: Line 2:
__NOTOC__
__NOTOC__
{| style="border-spacing: 1ex;"
{| style="border-spacing: 1ex;"
| style="background:#f9f9f9;border:1px solid #ddd;padding:0 1em" colspan="2" |
| style="background:#f9f9f9;border:1px solid #ddd;" colspan="2" |
= Welcome to APL Wiki =
{| style="border-spacing: 1em;"
This wiki is all about APL, an [https://en.wikipedia.org/wiki/Array_programming array-oriented programming language]. It has a powerful, concise [[syntactic overview|syntax]] that lets you develop shorter programs that enable you to think more about the problem you're trying to solve rather than how to express it to a computer.  
| style="width:50%;text-align:center;" | <span style="font-size:xx-large">Welcome to APL Wiki,</span></br>
[[Special:Statistics|{{NUMBEROFARTICLES}}]] articles about APL that anyone can edit
||
APL is an [https://en.wikipedia.org/wiki/Array_programming array-oriented programming language]. Its powerful, concise [[syntactic overview|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.  
|}
|- style="vertical-align:top"
|- style="vertical-align:top"
| style="background:#f5fffa;border:1px solid #cef2e0;padding:0 1em" |
| style="background:#f5fffa;border:1px solid #cef2e0;padding:0 1em" |
== Running APL ==
<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>
{{Main|Running APL}}
{{Main|Running APL}}


Traditionally a commercial language, there are now quite a few APL dialects available to download for free without feature limitations, and most of these can be tried online without installing anything.
Traditionally a commercial language, there are now quite a few APL dialects available to download for free without feature limitations, and most of these can be tried online without installing anything.
| style="background:#f5faff;border:1px solid #cee0f2;padding:0 1em" |
| style="background:#f5faff;border:1px solid #cee0f2;padding:0 1em" |
== Introduction to APL ==
<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;>Introduction to APL</h2>


{{Main|Tutorials}}
{{Main|Tutorials}}
Line 19: Line 23:
|- 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" |
== Who uses APL? ==
<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 APL?</h2>
There are many [[case studies]] of both hobby and real-world APL applications.
There are many [[case studies]] of both hobby and real-world APL applications.


Line 26: Line 30:
There are active [[:Category:user groups|user groups]] all around the globe, many of these hold regular in-person meet-ups.
There are active [[:Category:user groups|user groups]] all around the globe, many of these hold regular in-person meet-ups.
| style="background:#fff5fa;border:1px solid #f2cee0;padding:0 1em" |
| style="background:#fff5fa;border:1px solid #f2cee0;padding:0 1em" |
== Contributing ==
<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>
{{Main|Contributing}}
{{Main|Contributing}}
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 not directly affiliated with any particular individuals, companies, or organisations.
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 not directly affiliated with any particular individuals, companies, or organisations.
|-
|-
| colspan="2" style="border:1px solid #e2e2e2;padding:0 1em" |
| colspan="2" style="border:1px solid #e2e2e2;padding:0 1em" |
== Examples ==
<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>
{{Main|Examples}}
{{Main|Examples}}


APL's terseness means that substantial programs are expressable in a small space, relative to many other programming languages. Here are some examples:
APL's terseness means that substantial programs are expressible in a small space, relative to many other programming languages. Here are some examples:
=== Split text by delimiter ===
=== Split text by delimiter ===
[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!]

Revision as of 12:41, 31 October 2019


Welcome to APL Wiki,

458 articles about APL that anyone can edit

APL is an array-oriented programming language. Its powerful, concise 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.

Running APL

Main article: Running APL

Traditionally a commercial language, there are now quite a few APL dialects available to download for free without feature limitations, and most of these can be tried online without installing anything.

Introduction to APL

Main article: Tutorials

Taking up APL can ba a daunting task; a few introductory guides have been created to help in the process.

Who uses APL?

There are many case studies of both hobby and real-world APL applications.

There is a popular APL chat room on Stack Exchange.

There are active user groups all around the globe, many of these hold regular in-person meet-ups.

Contributing

Main article: Contributing

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 not directly affiliated with any particular individuals, companies, or organisations.

Examples

Main article: Examples

APL's terseness means that substantial programs are expressible in a small space, relative to many other programming languages. Here are some examples:

Split text by delimiter

Try it now!

      ','(≠⊆⊢)'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":

Try it now!

      ⊢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

Template:APL programming language

APL community [edit]
Activities ConferencesUser groups and meetupsIverson AwardExercises
Chat rooms and forums APL FarmAPL OrchardAPL Wiki
People Phil AbramsBrian BeckerBob BerneckyLarry BreedCharles BrennerJim BrownAdám BrudzewskyGitte ChristensenPeter DonnellyJohn EarnestAdin FalkoffGarth FosterLib GibsonAaron HsuRoger HuiKen IversonMorten KrombergDick LathwellMarshall LochbaumEugene McDonnellRoger MooreTrenchard MoreAlan PerlisRaghu RanganathanHenry RichAl RoseJohn ScholesIan SharpBob SmithGeoff StreeterJoey TuttleArthur Whitney
Other APL TrustAPL Quote QuadBlogsBooksCase studiesFamous APL usersHumourJobsMerchandisePapersPodcastsTryAPLTry It OnlineVideo channels