2,963
edits
m (Text replacement - "implementation language " to "implementation languages") |
(Big ints in infobox) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
| index origin = 0 or 1 | | index origin = 0 or 1 | ||
| function styles = [[dfn]], [[tacit]] | | function styles = [[dfn]], [[tacit]] | ||
| numeric types = 64-bit float | | numeric types = 64-bit float, arbitrary-precision integer | ||
| unicode support = full | | unicode support = full (as UTF-16) | ||
| released = 2018 | | released = 2018 | ||
| developer = [[dzaima]] | | developer = [[dzaima]] | ||
| latest release version = 0.1.7 / 2020-05-13 | | latest release version = 0.1.7 / 2020-05-13 | ||
| implementation languages = [[wikipedia:Java (programming language)|Java]], [[wikipedia:Processing (programming language)|Processing]] | | implementation languages = [[wikipedia:Java (programming language)|Java]], [[wikipedia:Processing (programming language)|Processing]] | ||
| source = [https://github.com/dzaima/APL | | source = [https://github.com/dzaima/APL GitHub] | ||
| platforms = JVM, Android | | platforms = JVM, Android | ||
| license = [[wikipedia:MIT License|MIT]] | | license = [[wikipedia:MIT License|MIT]] | ||
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>⍮</syntaxhighlight> [[Pair]] (<syntaxhighlight lang=apl inline>{⍺ ⍵}</syntaxhighlight>) | ||
* < | * <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>⍛</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>⍡</syntaxhighlight> Cumulative repeat (like <syntaxhighlight lang=apl inline>⍣</syntaxhighlight> but returns a list of iterations) | ||
* < | * <syntaxhighlight lang=apl inline>⍁</syntaxhighlight> For each diagonal (J's <syntaxhighlight lang=apl inline>/.</syntaxhighlight>) | ||
* < | * <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. |