Humour: Difference between revisions
m (typo) |
|||
(34 intermediate revisions by 10 users not shown) | |||
Line 9: | Line 9: | ||
* A 2015 [[Dyalog Ltd.|Dyalog]] [[blog]] post by [[Roger Hui]], titled [https://www.dyalog.com/blog/2015/12/apl-puns/ APL Puns] collects many such glyph puns. | * A 2015 [[Dyalog Ltd.|Dyalog]] [[blog]] post by [[Roger Hui]], titled [https://www.dyalog.com/blog/2015/12/apl-puns/ APL Puns] collects many such glyph puns. | ||
* Many APL glyphs have popular humorous names in addition to their official names. This includes ''splat'' for the [[Logarithm]] symbol (< | * Many APL glyphs have popular humorous names in addition to their official names. This includes ''splat'' for the [[Logarithm]] symbol (<syntaxhighlight lang=apl inline>⍟</syntaxhighlight>), which is also often called ''Log'' (the common mathematical abbreviation for Logarithm) and an allusion to the symbol looking like a stylised tree log.<ref>[[Eugene McDonnell]]. [https://www.jsoftware.com/papers/eem/storyofo.htm Recreational APL: The Story of <syntaxhighlight lang=apl inline>○</syntaxhighlight>]. [[APL Quote-Quad]], Volume 8, Number 2, 1977-12.</ref> | ||
* ''Slash-functions may only be in our trains when accompanied by a calming constant or a responsible operator.''<ref>[[Adám Brudzewsky]]. Chat message {{m|50586658}}. [[APL Orchard]]. 6 Jun 2019.</ref> This is a [[wikipedia:double entendre|double entendre]] in that it sounds like [[wikipedia:by-law|by-law]] of a transit company while it actually speaks about forcing function/operator [[hybrid]]s into acting as [[function]]s by either giving them a (constant) array left-[[argument]] or letting them be the [[operand]] of an [[operator]]. | * ''Slash-functions may only be in our trains when accompanied by a calming constant or a responsible operator.''<ref>[[Adám Brudzewsky]]. Chat message {{m|50586658}}. [[APL Orchard]]. 6 Jun 2019.</ref> This is a [[wikipedia:double entendre|double entendre]] in that it sounds like [[wikipedia:by-law|by-law]] of a transit company while it actually speaks about forcing function/operator [[hybrid]]s into acting as [[function]]s by either giving them a (constant) array left-[[argument]] or letting them be the [[operand]] of an [[operator]]. | ||
* APLers often use individual glyphs as [[wikipedia:smiley|smiley]]s, e.g. < | * APLers often use individual glyphs as [[wikipedia:smiley|smiley]]s, e.g. <syntaxhighlight lang=apl inline>⍨</syntaxhighlight> or <syntaxhighlight lang=apl inline>⍥</syntaxhighlight> or <syntaxhighlight lang=apl inline>⍤</syntaxhighlight>, or create custom [[wikipedia:emoticon|emoticon]]s like <syntaxhighlight lang=apl inline>○/</syntaxhighlight> ("bye") or <syntaxhighlight lang=apl inline>¯\_(⍨)_/¯</syntaxhighlight> ("shrug"). | ||
== Rebuses == | == Rebuses == | ||
* Give-aways featuring the three glyphs < | * Give-aways featuring the three glyphs <syntaxhighlight lang=apl inline>⍺*⎕</syntaxhighlight> used to be common at [[APL conference]]s because these are the symbols traditionally produced when holding down the APL shifting key and [[typing]] <kbd>A</kbd><kbd>P</kbd><kbd>L</kbd>. | ||
* ''I was perched ⍤ the tower, giving my un÷d @tention 2 the ⌷ re∪ @ the ⌊ of the ⊂d ○ below me and ↑ing note of ¨ ⍨r's arrival time in my ⍟ ~ ⎕DL'': I was perched [[atop]] the tower, giving my un[[divide]]d [[at]]tention to the [[squad]] re[[union]] [[at]] the [[floor]] of the [[enclose]]d [[circle]] below me and [[take|tak]]ing note [[each]] [[commute]]r's arrival time in my [[log]] [[without]] [[delay]].<ref>[[Adám Brudzewsky]]. Chat message {{m|54937708}}. [[APL Orchard]]. 7 December 2020.</ref> | * ''I was perched ⍤ the tower, giving my un÷d @tention 2 the ⌷ re∪ @ the ⌊ of the ⊂d ○ below me and ↑ing note of ¨ ⍨r's arrival time in my ⍟ ~ ⎕DL'': I was perched [[atop]] the tower, giving my un[[divide]]d [[at]]tention to the [[squad]] re[[union]] [[at]] the [[floor]] of the [[enclose]]d [[circle]] below me and [[take|tak]]ing note of [[each]] [[commute]]r's arrival time in my [[log]] [[without]] [[delay]].<ref>[[Adám Brudzewsky]]. Chat message {{m|54937708}}. [[APL Orchard]]. 7 December 2020.</ref> | ||
* < | * <syntaxhighlight lang=apl inline>¨∊∪←=⊢2⍝∧?*</syntaxhighlight>: [[Each]] [[member]] of the [[union]] [[gets]] [[equal]] [[right]] to [[comment]] [[and]] [[roll|question]] [[power]].<ref>Nick Nickolov. Internal email. [[Dyalog Ltd]]. 11 Dec 2015.</ref> | ||
* < | * <syntaxhighlight lang=apl inline>⊢>+⌿÷≢</syntaxhighlight>: This [[monadic]] [[train]] indicates [[element]]s that are "[[greater than]] average" or "above [[Simple_examples#Tacit_programming|average]]" and is used as catch phrase by [[Richard Park]] and [[Aaron Hsu]].<ref>[[Aaron Hsu]]. [https://www.bonfire.com/above-average/ Above Average] shirts. Bonfire web store.</ref> | ||
[[File:APLcart logo.png|thumb|right|The APLcart logo explained as a shopping cart.]] | |||
== Glyph art == | == Glyph art == | ||
As with [[wikipedia:ASCII art|ASCII art]], APL | As with [[wikipedia:ASCII art|ASCII art]], APL [[glyph]]s are often used to draw pictures. | ||
* [[wikipedia:Nativity scene|Nativity scene]]:< | * [[wikipedia:Nativity scene|Nativity scene]]:<syntaxhighlight lang=apl> | ||
⍟ | ⍟ | ||
⍒ ⍋⍛ ⍒⍒⍒⍤⍥ | ⍒ ⍋⍛ ⍒⍒⍒⍤⍥ | ||
</ | </syntaxhighlight>Legend: <syntaxhighlight lang=apl inline>⍒</syntaxhighlight> Joseph, <syntaxhighlight lang=apl inline>⍋</syntaxhighlight> Mary, <syntaxhighlight lang=apl inline>⍛</syntaxhighlight> Jesus, <syntaxhighlight lang=apl inline>⍒⍒⍒</syntaxhighlight> three wise men, <syntaxhighlight lang=apl inline>⍤</syntaxhighlight> donkey, <syntaxhighlight lang=apl inline>⍥</syntaxhighlight> ox, <syntaxhighlight lang=apl inline>⍟</syntaxhighlight> Star of Bethlehem.<ref>Nick Nickolov. Chat messages {{m|56547006}} and {{m|56547161}}. [[APL Orchard]]. 25 Dec 2020.</ref> | ||
* A [[Dyalog duck]]:< | * A [[Dyalog duck]]:<syntaxhighlight lang=apl> | ||
≤(∘)_ | ≤(∘)_ | ||
(⍷_/ | (⍷_/ | ||
</ | </syntaxhighlight> | ||
* The [[APLcart]] logo is a stylised profile view of a [[wikipedia:|shopping cart]] in the form of the two glyphs Left-shoe Underbar and Upstile: <syntaxhighlight lang=apl inline>⊆⌈</syntaxhighlight> | |||
[[File:How X sees Y.png|thumb|right|APL vs J vs K]] | [[File:How X sees Y.png|thumb|right|APL vs J vs K]] | ||
== Comparison of dialects == | == Comparison of dialects == | ||
There is a friendly rivalry between adherents of various APLs and derivatives which can lead to tongue-in-cheek attacks. | There is a friendly rivalry between adherents of various APLs and derivatives which can lead to tongue-in-cheek attacks. | ||
* ''APL vs J vs K''<ref> | * ''APL vs J vs K''<ref>Nick Nickolov. Chat message {{m|51655962}}. [[APL Orchard]]. 10 Sep 2019.</ref> is a collage of nine images that purport to illustrate how adherents of APL, [[J]], and [[K]], see the other languages. Going in [[ravel order]], APLers think of APL as the ultimate tool of thought, J as APL's little brother that is too focused on mathematics, and K as being too restricted. J users see APL as the revered sage that has outlived itself using foreign (Chinese) characters that do not fit into a normal rectangle (thus being cut off on the right), J as the perfect all-round tool, and K as running after monetary gain (K being very fast, and often used for [[wikipedia:high-frequency trading|high-frequency trading]]). K users see APL as bloated and old, J as bloated and a joke full of <syntaxhighlight lang=j inline>.</syntaxhighlight>s and <syntaxhighlight lang=j inline>:</syntaxhighlight>s (as these two characters are used as suffixes to expand the number of ASCII symbols), and K as the key to winning the race. | ||
== Criticism of APL == | == Criticism of APL == | ||
Some features | Some features of APL are often ridiculed by APLers. Chief among them is the ability to set [[index origin]], which leads to [[wikipedia:off-by-one error|off-by-one error]]s even more often in APL than usually seen in programming. | ||
* [[Roger Hui]], a strong proponent of fixing index origin ― < | [[File:Aplbingo.png|right|thumb|Some APLers may enjoy playing a game of "complaint bingo" when conversing with the unreceptive.]] | ||
* [[Roger Hui]], a strong proponent of fixing index origin ― <syntaxhighlight lang=apl inline>⎕IO</syntaxhighlight> ― at zero is known for often inserting the phrase ''<syntaxhighlight lang=apl inline>⎕IO</syntaxhighlight> delenda est'' based on Cato's famous Latin oratorical phrase ''[[wikipedia:Carthago delenda est|Carthago delenda est]]''. | |||
* In 2017, as an [[wikipedia:April Fools' Day|April Fools' Day]] joke, [[Dyalog Ltd.]] announced "a final improvement" to the "otherwise deprecated language feature", [[Branch]], which would make it sensitive to the selected index origin. Such a change would cause a great many existing programs to break. | * In 2017, as an [[wikipedia:April Fools' Day|April Fools' Day]] joke, [[Dyalog Ltd.]] announced "a final improvement" to the "otherwise deprecated language feature", [[Branch]], which would make it sensitive to the selected index origin. Such a change would cause a great many existing programs to break. | ||
* | * Nick Nickolov has created an interactive form that claims to be an [https://ngn.codeberg.page/funny/reg.html Array Language Implementation Permission Request] addressed to the fictitious ''Ministry of Vector Processing'' and contains many in-jokes for APL [[language developers]].<ref>Nick Nickolov. Chat message {{m|57121910}}. [[APL Orchard]]. 21 Feb 2021.</ref> | ||
* This poem of unknown origin has been circulating the internet:<ref>Dyalog Blog. [https://www.dyalog.com/blog/poetry/ Poetry]. Undated. Retrieved 29 Oct 2021.</ref><blockquote>'Tis the dream of each programmer,<br>Before his life is done,<br>To write three lines of APL,<br>And make the damn things run.</blockquote> | |||
== Pop culture == | == Pop culture == | ||
Line 59: | Line 68: | ||
References to Star Wars and Star Trek are common among programmers in general and APLers in particular. | References to Star Wars and Star Trek are common among programmers in general and APLers in particular. | ||
* ''< | * ''<syntaxhighlight lang=apl inline>⍣¯1</syntaxhighlight> is a pathway to many abilities some consider to be unnatural.''<ref>[[Adám Brudzewsky]]. Chat message {{m|56366116}}. [[APL Orchard]]. 7 December 2020.</ref> alludes to ''The dark side of the Force is a pathway to many abilities some consider to be unnatural.'' uttered by [[wikipedia:Darth Sidious|Darth Sidious]] in [[wikipedia:Star Wars: Episode III – Revenge of the Sith|Star Wars: Episode III – Revenge of the Sith]]. The similarity was drawn because the [[Power operator]] (<syntaxhighlight lang=apl inline>⍣</syntaxhighlight>), when given a negative number (e.g. <syntaxhighlight lang=apl inline>¯1</syntaxhighlight>) right operand, indicating the number of times to apply a [[function]], works much like a [[wikipedia:black box|black box]]. It will at times appear to solve "impossible" problems (by using numerical methods to what appears to be require symbolic manipulation) or give "fantastical" results by succeeding in reversing non-numeric operations. It can also choose any one of multiple correct answers, with no obvious system as to which answer is chosen. The full power of this operator is not documented. | ||
==Empty-array jokes== | |||
An array has an arbitrary number of elements. That number is a non-negative integer, which might be zero: for example, after removing items from a list or rows from a matrix. | |||
Before array methods proliferated to scalar programming languages, many scalar programmers thought APL’s rigour with the handling of empty arrays somewhat absurd. APLers responded with a category of ‘empty array’ jokes. (Some are still listed at [https://www.jsoftware.com/papers/eem/Empty_Array_Jokes.htm jsoftware.com].) | |||
Nowadays most programming languages implement at least some array methods. A recent search for empty-array jokes failed to discover any. | |||
== Memes == | |||
[[File:Me at the APL Orchard.png|right|thumb|Me at the APL Orchard]] | [[File:Me at the APL Orchard.png|right|thumb|Me at the APL Orchard]] | ||
== | * The [[APL Orchard]] chat room is frequented by expert and neophyte APLers alike. A recurring theme is that newcomers feel inferior in the presence of those with more experience. In the [[wikipedia:anime|anime]] illustration, the people listed are, from left to right, (Nick Nickolov (creator of [[ngn/apl]] and former employee at [[Dyalog Ltd.]]), [[dzaima]] (creator of [[dzaima/APL]] and 2020 2nd Place winner of the 2020 [[APL Problem Solving Competition]]), [[Adám Brudzewsky]] (lifelong APL programmer, founder of the APL Orchard, creator of [[Extended Dyalog APL]], and employee at [[Dyalog Ltd.]]), and Woosuk Kwak (2020 Professional Prize winner in the APL Problem Solving Competition). <ref>[[Raghu Ranganathan]]. Chat message {{m|55290368}}.[[APL Orchard]]. 19 Aug 2020.</ref> | ||
[[File:Before and after.jpg|thumb|right|"Before and After" meme.]] | |||
* Using APL can "spoil" a programmer, in the sense that they get frustrated by the lack of expressiveness in other programming languages. This is expressed by an instance of the "Before and After" meme.<ref>[[Raghu Ranganathan]]. Chat message {{m|58877609}}.[[APL Orchard]]. 13 Aug 2021.</ref> | |||
* ''15=∞ for sufficiently small values of ∞''<ref>[[Adám Brudzewsky]]. Chat message {{m|41106395}}. [[APL Orchard]]. 31 Mar 2020.</ref> or ''99≈∞ for sufficiently small values of ∞''<ref>Adám Brudzewsky. Chat message {{m|53955678}}. [[APL Orchard]]. 12 Nov 2017.</ref> alludes to the use of e.g. <syntaxhighlight lang=apl inline>⍤0 15</syntaxhighlight> or <syntaxhighlight lang=apl inline>⍤0 99</syntaxhighlight> in APLs that have a limited maximum [[rank]] and do not support infinity as a [[number|numeric literal]]. In particular, [[Dyalog APL]]'s maximum rank is 15, and so in the very specific context of the right operand of [[Rank (operator)|Rank]], 15=∞. | |||
* ''ngn's scans'' or ''ngn's cumulative reduces'' refers to Nick Nickolov's uncanny ability to come up with unusual uses of [[Scan]] for solving various problems, e.g. negating every other number with <syntaxhighlight lang=apl inline>⊢∘-\</syntaxhighlight>.<ref>Nick Nickolov. Chat message {{m|43074306}}. [[APL Orchard]]. 26 Feb 2018.</ref> | |||
[[File:Airplane meme.jpg|thumb|right|"Enjoying the flight" meme.]] | |||
* | * Ryan "Rafvylf" Tosh created a meme featuring a plane taking off, but with a cat unknowingly in the wing or some part of the plane. The expert [[Jelly]] user and the APL/[[J]]/[[K]] user are enjoying the flight (learning Jelly or APL/J/K) while the cat (a non-array programmer) just barely hanging on. | ||
[[File:APL Keyboard.jpg|thumb|Peak Engineering happened in the 1970s]] | |||
* APL is a bit infamous in its character set of unusual [[glyph]]s, so Ace decided to make a "Peak Engineering" meme that turns that idea on its head. | |||
[[File:KamilaLispVSBqn.png|thumb|BQN vs KamilaLisp]] | |||
* Array programmers often disagree on the optimal set of primitives. While traditional array languages such as [[APL]] and [[BQN]] strive for completeness and minimalism, [[KamilaLisp]] implements every convenient functionality as a primitive. | |||
== Apples == | == Apples == | ||
Line 88: | Line 117: | ||
* [[APL Orchard]] ("apple orchard"). | * [[APL Orchard]] ("apple orchard"). | ||
* [[APLcart]] as in "[[wiktionary:upset the applecart|upset the applecart]]" (spoil an established arrangement) as the project was intended to | * [[APLcart]] as in "[[wiktionary:upset the applecart|upset the applecart]]" (spoil an established arrangement) as the project was intended to disrupt the traditional way of documenting APL. | ||
* [[APL Seeds]] ("apple seeds") alluding to the conference aiming at those that are potentially growing into APLers, like apple seeds grow into apples (via apple trees). The event website features an apple grove.<ref>Dyalog Ltd. [https://dyalog.com/apl-seeds-user-meetings/aplseeds21.htm APL Seeds '21].</ref> | |||
* [[APL Campfire]] uses a promotional banner with an apple being roasted over a campfire. | |||
* [[Tatin]] is a work-in-progress package manager, [[wikipedia:tarte Tatin|tarte Tatin]] being a specific type of apple pastry. Its logo is the [[logarithm]] symbol, coloured to resemble a stylised tarte Tatin. | |||
* [[Cider]] is a project manager for [[Dyalog APL]], [[wikipedia:apple cider|cider]] being a fermented apple drink. Its logo is a stylised cup of apple cider. | |||
* [[Dyalog APL]] by default uses the file name <code>aplcore</code> ("apple core") for its [[wikipedia:core dump|core dump]]s. | |||
* [[ | * The [[Chat_rooms_and_forums#General|apljk]] subreddit is pronounced "[[wikipedia:applejack (drink)|applejack]]".<ref>[[John Earnest]]. [How to pronounce APL https://www.reddit.com/r/apljk/comments/ump3ng/comment/i832ndj/?utm_source=share&utm_medium=web2x&context=3]. Reddit. May 10, 2022.</ref> | ||
<gallery mode=packed> | <gallery mode=packed> | ||
50years logo.png|[[50 years of APL]] apple. | 50years logo.png|[[50 years of APL]] apple. | ||
APL Orchard list.png|Community ad for the [[APL Orchard]] on [[Code golf|Code Golf]] Stack Exchange. | APL Orchard list.png|Community ad for the [[APL Orchard]] on [[Code golf|Code Golf]] Stack Exchange. | ||
APL logo light.png| | APL logo light.png|An [[APL logo]], proposed by [[Adám Brudzewsky]]. | ||
APL seeds logo.png|The logo for [[APL seeds]], a conference for new APLers. | APL seeds logo.png|The logo for [[APL seeds]], a conference for new APLers. | ||
BYTE Cover Aug 1977.png| [[wikipedia:BYTE|BYTE]] featuring APL. | |||
</gallery> | </gallery> | ||
== References == | == References == | ||
<references/> | <references/> | ||
[[Category: | {{APL community}}[[Category:Culture]][[Category:Glyphs]] |
Latest revision as of 22:08, 12 November 2024
Employment of wit and puns has a long history in the APL community. In particular, John Scholes was known for his wit. This article attempts to list and explain specific expressions of APL-themed humour.
Glyph puns
APL's unique glyphs are a constant source of puns and allusions. Most puns rely on the visual shape of the glyphs, or of various common or uncommon names for them.
- The song APL Blossom Time includes numerous references to primitives.
- Many APL glyphs have popular humorous names in addition to their official names. This includes splat for the Logarithm symbol (
⍟
), which is also often called Log (the common mathematical abbreviation for Logarithm) and an allusion to the symbol looking like a stylised tree log.[1]
- Slash-functions may only be in our trains when accompanied by a calming constant or a responsible operator.[2] This is a double entendre in that it sounds like by-law of a transit company while it actually speaks about forcing function/operator hybrids into acting as functions by either giving them a (constant) array left-argument or letting them be the operand of an operator.
- APLers often use individual glyphs as smileys, e.g.
⍨
or⍥
or⍤
, or create custom emoticons like○/
("bye") or¯\_(⍨)_/¯
("shrug").
Rebuses
- Give-aways featuring the three glyphs
⍺*⎕
used to be common at APL conferences because these are the symbols traditionally produced when holding down the APL shifting key and typing APL.
- I was perched ⍤ the tower, giving my un÷d @tention 2 the ⌷ re∪ @ the ⌊ of the ⊂d ○ below me and ↑ing note of ¨ ⍨r's arrival time in my ⍟ ~ ⎕DL: I was perched atop the tower, giving my undivided attention to the squad reunion at the floor of the enclosed circle below me and taking note of each commuter's arrival time in my log without delay.[3]
⊢>+⌿÷≢
: This monadic train indicates elements that are "greater than average" or "above average" and is used as catch phrase by Richard Park and Aaron Hsu.[5]
Glyph art
As with ASCII art, APL glyphs are often used to draw pictures.
- Nativity scene:
⍟ ⍒ ⍋⍛ ⍒⍒⍒⍤⍥
Legend:⍒
Joseph,⍋
Mary,⍛
Jesus,⍒⍒⍒
three wise men,⍤
donkey,⍥
ox,⍟
Star of Bethlehem.[6]
- A Dyalog duck:
≤(∘)_ (⍷_/
- The APLcart logo is a stylised profile view of a shopping cart in the form of the two glyphs Left-shoe Underbar and Upstile:
⊆⌈
Comparison of dialects
There is a friendly rivalry between adherents of various APLs and derivatives which can lead to tongue-in-cheek attacks.
- APL vs J vs K[7] is a collage of nine images that purport to illustrate how adherents of APL, J, and K, see the other languages. Going in ravel order, APLers think of APL as the ultimate tool of thought, J as APL's little brother that is too focused on mathematics, and K as being too restricted. J users see APL as the revered sage that has outlived itself using foreign (Chinese) characters that do not fit into a normal rectangle (thus being cut off on the right), J as the perfect all-round tool, and K as running after monetary gain (K being very fast, and often used for high-frequency trading). K users see APL as bloated and old, J as bloated and a joke full of
.
s and:
s (as these two characters are used as suffixes to expand the number of ASCII symbols), and K as the key to winning the race.
Criticism of APL
Some features of APL are often ridiculed by APLers. Chief among them is the ability to set index origin, which leads to off-by-one errors even more often in APL than usually seen in programming.
- Roger Hui, a strong proponent of fixing index origin ―
⎕IO
― at zero is known for often inserting the phrase⎕IO
delenda est based on Cato's famous Latin oratorical phrase Carthago delenda est.
- In 2017, as an April Fools' Day joke, Dyalog Ltd. announced "a final improvement" to the "otherwise deprecated language feature", Branch, which would make it sensitive to the selected index origin. Such a change would cause a great many existing programs to break.
- Nick Nickolov has created an interactive form that claims to be an Array Language Implementation Permission Request addressed to the fictitious Ministry of Vector Processing and contains many in-jokes for APL language developers.[8]
- This poem of unknown origin has been circulating the internet:[9]
'Tis the dream of each programmer,
Before his life is done,
To write three lines of APL,
And make the damn things run.
Pop culture
References to Star Wars and Star Trek are common among programmers in general and APLers in particular.
⍣¯1
is a pathway to many abilities some consider to be unnatural.[10] alludes to The dark side of the Force is a pathway to many abilities some consider to be unnatural. uttered by Darth Sidious in Star Wars: Episode III – Revenge of the Sith. The similarity was drawn because the Power operator (⍣
), when given a negative number (e.g.¯1
) right operand, indicating the number of times to apply a function, works much like a black box. It will at times appear to solve "impossible" problems (by using numerical methods to what appears to be require symbolic manipulation) or give "fantastical" results by succeeding in reversing non-numeric operations. It can also choose any one of multiple correct answers, with no obvious system as to which answer is chosen. The full power of this operator is not documented.
Empty-array jokes
An array has an arbitrary number of elements. That number is a non-negative integer, which might be zero: for example, after removing items from a list or rows from a matrix.
Before array methods proliferated to scalar programming languages, many scalar programmers thought APL’s rigour with the handling of empty arrays somewhat absurd. APLers responded with a category of ‘empty array’ jokes. (Some are still listed at jsoftware.com.)
Nowadays most programming languages implement at least some array methods. A recent search for empty-array jokes failed to discover any.
Memes
- The APL Orchard chat room is frequented by expert and neophyte APLers alike. A recurring theme is that newcomers feel inferior in the presence of those with more experience. In the anime illustration, the people listed are, from left to right, (Nick Nickolov (creator of ngn/apl and former employee at Dyalog Ltd.), dzaima (creator of dzaima/APL and 2020 2nd Place winner of the 2020 APL Problem Solving Competition), Adám Brudzewsky (lifelong APL programmer, founder of the APL Orchard, creator of Extended Dyalog APL, and employee at Dyalog Ltd.), and Woosuk Kwak (2020 Professional Prize winner in the APL Problem Solving Competition). [11]
- Using APL can "spoil" a programmer, in the sense that they get frustrated by the lack of expressiveness in other programming languages. This is expressed by an instance of the "Before and After" meme.[12]
- 15=∞ for sufficiently small values of ∞[13] or 99≈∞ for sufficiently small values of ∞[14] alludes to the use of e.g.
⍤0 15
or⍤0 99
in APLs that have a limited maximum rank and do not support infinity as a numeric literal. In particular, Dyalog APL's maximum rank is 15, and so in the very specific context of the right operand of Rank, 15=∞.
- ngn's scans or ngn's cumulative reduces refers to Nick Nickolov's uncanny ability to come up with unusual uses of Scan for solving various problems, e.g. negating every other number with
⊢∘-\
.[15]
- Ryan "Rafvylf" Tosh created a meme featuring a plane taking off, but with a cat unknowingly in the wing or some part of the plane. The expert Jelly user and the APL/J/K user are enjoying the flight (learning Jelly or APL/J/K) while the cat (a non-array programmer) just barely hanging on.
- APL is a bit infamous in its character set of unusual glyphs, so Ace decided to make a "Peak Engineering" meme that turns that idea on its head.
- Array programmers often disagree on the optimal set of primitives. While traditional array languages such as APL and BQN strive for completeness and minimalism, KamilaLisp implements every convenient functionality as a primitive.
Apples
Puns built upon how apple (/ah-pell/) and APL (/aye-pea-ell/) sound similar are often used both in visual media and in naming.
- An apple logo has been used by IBM in advertisements, badges, and stickers given out at APL conferences.
- Adrian Smith uses an apple icon on his APL-385 font site.[16]
- Dyalog used an apple logo to celebrate 50 years of APL (part of Dyalog '16).[17]
- APLTree ("apple tree") code library.
- Py'n'APL ("pineapple") Python-APL bridge (Python is often abbreviated "py-" when used in conjunction with other terms).
- SAWS and Acre APLSource as in "apple sauce".
- APL Orchard ("apple orchard").
- APLcart as in "upset the applecart" (spoil an established arrangement) as the project was intended to disrupt the traditional way of documenting APL.
- APL Seeds ("apple seeds") alluding to the conference aiming at those that are potentially growing into APLers, like apple seeds grow into apples (via apple trees). The event website features an apple grove.[18]
- APL Campfire uses a promotional banner with an apple being roasted over a campfire.
- Tatin is a work-in-progress package manager, tarte Tatin being a specific type of apple pastry. Its logo is the logarithm symbol, coloured to resemble a stylised tarte Tatin.
- Cider is a project manager for Dyalog APL, cider being a fermented apple drink. Its logo is a stylised cup of apple cider.
- Dyalog APL by default uses the file name
aplcore
("apple core") for its core dumps.
50 years of APL apple.
Community ad for the APL Orchard on Code Golf Stack Exchange.
An APL logo, proposed by Adám Brudzewsky.
The logo for APL seeds, a conference for new APLers.
BYTE featuring APL.
References
- ↑ Eugene McDonnell. Recreational APL: The Story of
○
. APL Quote-Quad, Volume 8, Number 2, 1977-12. - ↑ Adám Brudzewsky. Chat message 50586658. APL Orchard. 6 Jun 2019.
- ↑ Adám Brudzewsky. Chat message 54937708. APL Orchard. 7 December 2020.
- ↑ Nick Nickolov. Internal email. Dyalog Ltd. 11 Dec 2015.
- ↑ Aaron Hsu. Above Average shirts. Bonfire web store.
- ↑ Nick Nickolov. Chat messages 56547006 and 56547161. APL Orchard. 25 Dec 2020.
- ↑ Nick Nickolov. Chat message 51655962. APL Orchard. 10 Sep 2019.
- ↑ Nick Nickolov. Chat message 57121910. APL Orchard. 21 Feb 2021.
- ↑ Dyalog Blog. Poetry. Undated. Retrieved 29 Oct 2021.
- ↑ Adám Brudzewsky. Chat message 56366116. APL Orchard. 7 December 2020.
- ↑ Raghu Ranganathan. Chat message 55290368.APL Orchard. 19 Aug 2020.
- ↑ Raghu Ranganathan. Chat message 58877609.APL Orchard. 13 Aug 2021.
- ↑ Adám Brudzewsky. Chat message 41106395. APL Orchard. 31 Mar 2020.
- ↑ Adám Brudzewsky. Chat message 53955678. APL Orchard. 12 Nov 2017.
- ↑ Nick Nickolov. Chat message 43074306. APL Orchard. 26 Feb 2018.
- ↑ Adrian Smith. APL385 Font Page.
- ↑ Dyalog Ltd web site. 50 Years of APL.
- ↑ Dyalog Ltd. APL Seeds '21.
- ↑ John Earnest. [How to pronounce APL https://www.reddit.com/r/apljk/comments/ump3ng/comment/i832ndj/?utm_source=share&utm_medium=web2x&context=3]. Reddit. May 10, 2022.
APL community [edit] | |
---|---|
Activities | Conferences ∙ User groups and meetups ∙ Iverson Award ∙ Exercises |
Chat rooms and forums | APL Farm ∙ APL Orchard ∙ APL Wiki |
People | Phil Abrams ∙ Brian Becker ∙ Bob Bernecky ∙ Larry Breed ∙ Charles Brenner ∙ Jim Brown ∙ Adám Brudzewsky ∙ Gitte Christensen ∙ Peter Donnelly ∙ John Earnest ∙ Adin Falkoff ∙ Garth Foster ∙ Lib Gibson ∙ Aaron Hsu ∙ Roger Hui ∙ Ken Iverson ∙ Morten Kromberg ∙ Dick Lathwell ∙ Marshall Lochbaum ∙ Eugene McDonnell ∙ Roger Moore ∙ Trenchard More ∙ Alan Perlis ∙ Raghu Ranganathan ∙ Henry Rich ∙ Al Rose ∙ John Scholes ∙ Ian Sharp ∙ Bob Smith ∙ Geoff Streeter ∙ Joey Tuttle ∙ Arthur Whitney |
Other | APL Trust ∙ APL Quote Quad ∙ Blogs ∙ Books ∙ Case studies ∙ Famous APL users ∙ Humour ∙ Jobs ∙ Merchandise ∙ Papers ∙ Podcasts ∙ TryAPL ∙ Try It Online ∙ Video channels |