Dzaima/APL: Difference between revisions

Jump to navigation Jump to search
144 bytes added ,  22:10, 10 September 2022
m
Text replacement - "</source>" to "</syntaxhighlight>"
m (Text replacement - "<source" to "<syntaxhighlight")
m (Text replacement - "</source>" to "</syntaxhighlight>")
Line 21: Line 21:
dzaima/APL adds many new primitives and extensions to existing primitives, most taken from or inspired by [[Adám Brudzewsky]]'s experimental [[Extended Dyalog APL]], for example:
dzaima/APL adds many new primitives and extensions to existing primitives, most taken from or inspired by [[Adám Brudzewsky]]'s experimental [[Extended Dyalog APL]], for example:


* <syntaxhighlight lang=apl inline>⍮</source> [[Pair]] (<syntaxhighlight lang=apl inline>{⍺ ⍵}</source>)
* <syntaxhighlight lang=apl inline>⍮</syntaxhighlight> [[Pair]] (<syntaxhighlight lang=apl inline>{⍺ ⍵}</syntaxhighlight>)
* <syntaxhighlight lang=apl inline>⊇</source> [[Select]] (<syntaxhighlight lang=apl inline>⌷⍤0 99</source>) a.k.a. "sane indexing", i.e. select major cells
* <syntaxhighlight lang=apl inline>⊇</syntaxhighlight> [[Select]] (<syntaxhighlight lang=apl inline>⌷⍤0 99</syntaxhighlight>) a.k.a. "sane indexing", i.e. select major cells
* <syntaxhighlight lang=apl inline>⍛</source> [[Reverse Compose]] (<syntaxhighlight lang=apl inline>{(⍺⍺ ⍺) ⍵⍵ ⍵}</source> — compare with <syntaxhighlight lang=apl inline>∘</source> which is <syntaxhighlight lang=apl inline>{⍺ ⍺⍺ (⍵⍵ ⍵)}</source>
* <syntaxhighlight lang=apl inline>⍛</syntaxhighlight> [[Reverse Compose]] (<syntaxhighlight lang=apl inline>{(⍺⍺ ⍺) ⍵⍵ ⍵}</syntaxhighlight> — compare with <syntaxhighlight lang=apl inline>∘</syntaxhighlight> which is <syntaxhighlight lang=apl inline>{⍺ ⍺⍺ (⍵⍵ ⍵)}</syntaxhighlight>


It also adds several unique additions from [[J]] and [[K]]:
It also adds several unique additions from [[J]] and [[K]]:


* <syntaxhighlight lang=apl inline>⍡</source> Cumulative repeat (like <syntaxhighlight lang=apl inline>⍣</source> but returns a list of iterations)
* <syntaxhighlight lang=apl inline>⍡</syntaxhighlight> Cumulative repeat (like <syntaxhighlight lang=apl inline>⍣</syntaxhighlight> but returns a list of iterations)
* <syntaxhighlight lang=apl inline>⍁</source> For each diagonal (J's <syntaxhighlight lang=apl inline>/.</source>)
* <syntaxhighlight lang=apl inline>⍁</syntaxhighlight> For each diagonal (J's <syntaxhighlight lang=apl inline>/.</syntaxhighlight>)
* <syntaxhighlight lang=apl inline>ᐵ</source> and <syntaxhighlight lang=apl inline>ᑈ</source> Each-left and Each-right (K's <syntaxhighlight lang=apl inline>\:</source> and <syntaxhighlight lang=apl inline>/:</source>)
* <syntaxhighlight lang=apl inline>ᐵ</syntaxhighlight> and <syntaxhighlight lang=apl inline>ᑈ</syntaxhighlight> Each-left and Each-right (K's <syntaxhighlight lang=apl inline>\:</syntaxhighlight> and <syntaxhighlight lang=apl inline>/:</syntaxhighlight>)


As of 2019, this is the only APL with a native dedicated Android app. This app wraps APL in an interface akin to that of graphic calculators.
As of 2019, this is the only APL with a native dedicated Android app. This app wraps APL in an interface akin to that of graphic calculators.

Navigation menu