APL Wiki:About: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
Miraheze>Adám Brudzewsky
 
(34 intermediate revisions by 8 users not shown)
Line 1: Line 1:
For many years APL Wiki was maintained by Kai Jäger as a MoinMoin wiki site. In 2019, APL Wiki was reborn as a MediaWiki site with content more in the style of Wikipedia. It is now maintained by Richard Park. Migration of content from the old APL Wiki is ongoing.
'''APL Wiki''' was launched at the end of 2006 as a MoinMoin wiki. It was created and maintained by Kai Jäger of [https://aplteam.com/ APL Team Ltd], and [[APL Wiki logo|its logo]] derives from that of APL Team. In 2019, APL Wiki was reborn as a MediaWiki site, this time with content more in the style of Wikipedia. It is now maintained by [[User:RichPark|Richard Park]], but is not directly affiliated with any particular individuals, companies, or organisations. Migration of content from the [https://old.aplwiki.com/ old APL Wiki] is ongoing.
 
This wiki is a central repository and general information wiki for the APL programming language. There may be pages regarding other languages in the array-oriented and APL family (such as J and K), but these pages should be from the perspective of APL (as they could likely have entire wikis in their own rights).


== Contributing ==
== Contributing ==


We welcome any and all contributions to APL Wiki, as long as they adhere to the general content standard as observed in existing pages. Currently, many links lead to pages that as of yet do not exist. Creating and populating these missing pages is especially appreciated.
We welcome any and all contributions to APL Wiki, as long as they adhere to the general content standard as observed in existing pages and described in the [[APL Wiki:content guidelines|content guidelines]]. Currently, many links lead to [[Special:WantedPages|pages that as of yet do not exist]]. Creating and populating these missing pages is especially appreciated.
 
MediaWiki documentation applies. Especially useful for you as a contributor are:


MediaWiki documentation applies. Especially useful for you as a (new) contributor are:
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Editing_pages Editing pages]
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Editing_pages Editing pages]
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Starting_a_new_page Starting a new page]
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Starting_a_new_page Starting a new page]
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Links Links]
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Links Links]
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Formatting Formatting], but please follow the below guidelines.
* Our own [[APL Wiki:formatting|formatting]] reference.
 
* [https://aplwiki.com/wiki/Terminology Localizing Terminology]
=== Inline APL code ===
 
Inline code is used for single primitives and short expressions and uses the format
 
<blockquote><pre><source lang=apl inline>(2=+⌿0=N∘.|N)/N←⍳100</source></pre></blockquote>
which results in
<blockquote><source lang=apl inline>(2=+⌿0=N∘.|N)/N←⍳100</source></blockquote>
 
=== APL code blocks ===
 
For session transcripts, function definitions and lorger expressions, use code blocks like
 
<blockquote><pre><source lang=apl>
(2=+⌿0=N∘.|N)/N←⍳100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
</source></pre></blockquote>
 
which results in
 
<blockquote><source lang=apl>
      (2=+⌿0=N∘.|N)/N←⍳100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
</source></blockquote>
 
 
Optionally, you can indicate one or more APL dialects which are able to run the code by using a special template immediately after the source tag, like
 
<blockquote><pre><source lang=apl>
      {(2=+⌿0=⍵∘.|⍵)/⍵}⍳100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
</source>
{{Works in|[[Dyalog APL]], [[dzaima/APL]], [[GNU APL]], [[ngn/APL]]}}</pre></blockquote>
 
which results in
 
<blockquote><source lang=apl>
      {(2=+⌿0=⍵∘.|⍵)/⍵}⍳100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
</source>
{{Works in|[[Dyalog APL]], [[dzaima/APL]], [[GNU APL]], [[ngn/APL]]}}</blockquote>
 
You can also include a link to [[TryAPL]] or [[Try It Online]] right before the source tag, for example
 
<blockquote><pre>[https://tryapl.org/?a=%7B%282%3D+%u233F0%3D%u2375%u2218.%7C%u2375%29/%u2375%7D%u2373100&run Try it now!]
<source lang=apl>
      {(2=+⌿0=⍵∘.|⍵)/⍵}⍳100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
</source></pre></blockquote>
 
which results in:
 
<blockquote>[https://tryapl.org/?a=%7B%282%3D+%u233F0%3D%u2375%u2218.%7C%u2375%29/%u2375%7D%u2373100&run Try it now!]
<source lang=apl>
      {(2=+⌿0=⍵∘.|⍵)/⍵}⍳100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
</source></blockquote>
 
Just make sure to leave a blank line before the link.
 
=== Primitives and other built-ins ===
 
When creating a page for a [[primitive function]], [[primitive operator|operator]], or [[quad name]], begin the page with the following template:
 
<blockquote><pre>{{Built-in|Log|⍟}}</pre></blockquote>
 
This inserts the text
 
<blockquote>{{Built-in|Log|⍟}}</blockquote>
 
and also inserts a nice big illustration of the [[glyph]] on the page:
 
At the bottom such pages, include <code><nowiki>{{APL built-ins}}</nowiki></code> and [{{fullurl:Template:APL_built-ins|action=edit}} edit that template] if the page you're creating isn't already listed there.
 
=== Dialects ===
 
Begin your page about an APL dialect with the ''Infobox array language'' info box. These are all the optional parameters it supports:
 
<blockquote><pre>
{{
| "title" =
| "developer" =
| "released" =
| "latest release version" =
| "withdrawn" =
| "array model" =
| "index origin" =
| "function styles" =
| "numeric types" =
| "unicode support" =
| "file ext" =
| "implementation language" =
| "implementation languages" =
| "platform" =
| "platforms" =
| "operating system" =
| "operating systems" =
| "license" =
| "website" =
| "download" =
| "documentation" =
| "influenced by" =
| "influenced" =
}}</pre></blockquote>
Have a look at the existing dialect pages, e.g. [[Dyalog APL]], to see how these values are used, Try to fill in as many as you can (but use only one of each singular/plural pair). You only need to use <code>title</code> if the language title differs from the page title (e.g. for technical reason like the inability to create a page that begins with a lowercase letter). In that case, you may also want to begin the page with <code><nowiki>{{Actually|real name}}</nowiki></code> where <code>real name</code> should be the proper name of the dialect.
 
At the bottom of the page, include <code><nowiki>{{APL programming language}}</nowiki></code> and [{{fullurl:Template:APL_programming_languages|action=edit}} edit that template] if the dialect you're creating a page about isn't already listed there.
 
=== Mentioning subjects that have their own page ===


It is fine for a page to have a section about a subject that also has its own page. When that happens, begin the section with <code><nowiki>{{Main|subject}}</nowiki></code> where <code>subject</code> is the target page title. Don't include double brackets (as a page link) — it is done for you.
Some advice to keep in mind:
* This wiki is for general information about the APL programming language. Pages about other programming languages should be from the perspective of APL, even if they are array-oriented, as they merit their own wikis, which e.g. [[J]] and [[K]] have.
* Remember that APL has many dialects, even if you use one. It's fine to write an [[:Category:Essays|essay]] about how to do something in a particular dialect, but encyclopedic articles should strive to be dialect neutral. Apply the principle of [[APL Wiki:Content guidelines#Due weight|due weight]] when deciding whether to mention a particular dialect, and [[APL Wiki:Formatting#Tagging dialects|tag]] code examples that don't work in all dialects.
* If you don't know how to write something or think information on a page could be wrong or misleading, mention it on the page's Discussion tab.
* Avoid "thread mode", where you simply add your thoughts to a page without taking the trouble to make the page a unified whole. Of course, this doesn't apply to Discussion and user pages.


=== Pages about People, organisations, and what they do ===
In the discussion tab, your voice is just one of many and you are free to express yourself as you wish, but please be nice.


Insert <code><nowiki>{{APL community}}</nowiki></code>  at the very bottom of the page, and [{{fullurl:Template:APL_community|action=edit}} edit that template] if the page you're creating isn't already listed there.
== External links ==


{{APL community}}
* [[Main Page|APL Wiki main page]]
* [https://old.aplwiki.com/ Archive of old APL Wiki] (worth perusing while content is being migrated)
* [[BAA webinar]]: [https://www.youtube.com/watch?v=6qygPslrXnM Meet the new APL Wiki]
{{APL community}}[[Category:Online resources]]

Latest revision as of 08:27, 9 December 2021

APL Wiki was launched at the end of 2006 as a MoinMoin wiki. It was created and maintained by Kai Jäger of APL Team Ltd, and its logo derives from that of APL Team. In 2019, APL Wiki was reborn as a MediaWiki site, this time with content more in the style of Wikipedia. It is now maintained by Richard Park, but is not directly affiliated with any particular individuals, companies, or organisations. Migration of content from the old APL Wiki is ongoing.

Contributing

We welcome any and all contributions to APL Wiki, as long as they adhere to the general content standard as observed in existing pages and described in the content guidelines. Currently, many links lead to pages that as of yet do not exist. Creating and populating these missing pages is especially appreciated.

MediaWiki documentation applies. Especially useful for you as a (new) contributor are:

Some advice to keep in mind:

  • This wiki is for general information about the APL programming language. Pages about other programming languages should be from the perspective of APL, even if they are array-oriented, as they merit their own wikis, which e.g. J and K have.
  • Remember that APL has many dialects, even if you use one. It's fine to write an essay about how to do something in a particular dialect, but encyclopedic articles should strive to be dialect neutral. Apply the principle of due weight when deciding whether to mention a particular dialect, and tag code examples that don't work in all dialects.
  • If you don't know how to write something or think information on a page could be wrong or misleading, mention it on the page's Discussion tab.
  • Avoid "thread mode", where you simply add your thoughts to a page without taking the trouble to make the page a unified whole. Of course, this doesn't apply to Discussion and user pages.

In the discussion tab, your voice is just one of many and you are free to express yourself as you wish, but please be nice.

External links

APL community [edit]
Conferences and activities Advent of CodeAPL CampfireAPL CultivationAPL Meetup (Portuguese) ∙ APL Problem Solving CompetitionAPL QuestAPL SeedsArray CastBAA sessionsCode golfDyalog user meetingsDyalog webinarsIverson AwardSharing code
Chat rooms and forums APL FarmAPL Orchard
User groups APL Borealis (Canada) ∙ APL et J (France) ∙ APL Germany (terminology) ∙ APL ∊ BCN (Spain) ∙ BAA (UK) ∙ FinnAPL (Finland) ∙ JAPLA (Japan) ∙ SAUG (Switzerland) ∙ SIGAPL (USA) ∙ SwedAPL (Sweden) ∙ Tokyo APL/J/K Meetup (Japan)
People Phil AbramsBrian BeckerBob BerneckyLarry BreedCharles BrennerJim BrownAdám BrudzewskyGitte ChristensenPeter DonnellyJohn EarnestAdin FalkoffGarth FosterLib GibsonAaron HsuRoger HuiKen IversonMorten KrombergMarshall LochbaumEugene McDonnellJon McGrewDonald McIntyreRoger MooreAlan PerlisHenry RichAl RoseWilliam RutiserJohn ScholesIan SharpBob SmithGeoff StreeterRoy SykesArthur Whitney
Other APL Quote QuadAPL WikiBlogsBooksFamous APL usersHumourJobsMerchandisePapersTryAPLTry It OnlineVideo channels