Dzaima/APL: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:dzaima/APL}} | {{DISPLAYTITLE:dzaima/APL}}{{Infobox array language | ||
{{Infobox array language | |||
| title = dzaima/APL | | title = dzaima/APL | ||
| array model = [[nested array model|nested]] or [[flat array model|flat]] | | array model = [[nested array model|nested]] or [[flat array model|flat]] | ||
Line 19: | Line 18: | ||
| run online = [https://tio.run/#apl-dzaima TIO] | | run online = [https://tio.run/#apl-dzaima TIO] | ||
}} | }} | ||
'''dzaima/APL''' is an implementation of APL in Java, created and maintained by Stack Exchange user [https://codegolf.stackexchange.com/users/59183/dzaima dzaima]. It is primarily based on [[Dyalog APL]], but handles some parts of the language more strictly and includes additional primitive functions and operators while adding dictionaries as a native datatype. It also includes [[wikipedia:Processing (programming language)|Processing]] integration. | '''dzaima/APL''' is an implementation of APL in Java, created and maintained by Stack Exchange user [https://codegolf.stackexchange.com/users/59183/dzaima dzaima]. It is primarily based on [[Dyalog APL]], but handles some parts of the language more strictly and includes additional primitive functions and operators while adding dictionaries as a native datatype. It also includes [[wikipedia:Processing (programming language)|Processing]] integration. | ||
dzaima/APL adds many new primitives and extensions to existing primitives, most taken from or inspired by Adám Brudzewsky's experimental [https://github.com/abrudz/dyalog-apl-extended#content 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 [https://github.com/abrudz/dyalog-apl-extended#content Extended Dyalog APL], for example: | ||
* <source lang=apl inline>⍮</source> Juxtapose (<source lang=apl inline>{⍺ ⍵}</source>) | * <source lang=apl inline>⍮</source> Juxtapose (<source lang=apl inline>{⍺ ⍵}</source>) | ||
Line 34: | Line 32: | ||
* <source lang=apl inline>ᐵ</source> and <source lang=apl inline>ᑈ</source> Each-left and Each-right (K's <source lang=apl inline>\:</source> and <source lang=apl inline>/:</source>) | * <source lang=apl inline>ᐵ</source> and <source lang=apl inline>ᑈ</source> Each-left and Each-right (K's <source lang=apl inline>\:</source> and <source lang=apl inline>/:</source>) | ||
As of 2019, dzaima/APL is the only APL with a native dedicated Android app. This app wraps APL in an interface akin to that of graphic calculators. | |||
[[File:Dzaima-APL Andoid App.png|thumb|center|dzaima/APL Android App]] | |||
== External Links == | == External Links == | ||
Revision as of 21:30, 9 January 2020
dzaima/APL is an implementation of APL in Java, created and maintained by Stack Exchange user dzaima. It is primarily based on Dyalog APL, but handles some parts of the language more strictly and includes additional primitive functions and operators while adding dictionaries as a native datatype. It also includes Processing integration.
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:
⍮
Juxtapose ({⍺ ⍵}
)⊇
Select (⌷⍤0 99
) a.k.a. "sane indexing", i.e. select major cells⍛
Reverse compose ({(⍺⍺ ⍺) ⍵⍵ ⍵}
— compare with∘
which is{⍺ ⍺⍺ (⍵⍵ ⍵)}
It also adds several unique additions from J and K:
⍡
Cumulative repeat (like⍣
but returns a list of iterations)⍁
For each diagonal (J's/.
)ᐵ
andᑈ
Each-left and Each-right (K's\:
and/:
)
As of 2019, dzaima/APL is the only APL with a native dedicated Android app. This app wraps APL in an interface akin to that of graphic calculators.
External Links
APL dialects [edit] | |
---|---|
Maintained | APL+Win ∙ APL2 ∙ APL64 ∙ APL\iv ∙ Aplette ∙ April ∙ Co-dfns ∙ Dyalog APL ∙ Dyalog APL Vision ∙ dzaima/APL ∙ GNU APL ∙ Kap ∙ NARS2000 ∙ Pometo ∙ TinyAPL |
Historical | A Programming Language ∙ A+ (A) ∙ APL# ∙ APL2C ∙ APL\360 ∙ APL/700 ∙ APL\1130 ∙ APL\3000 ∙ APL.68000 ∙ APL*PLUS ∙ APL.jl ∙ APL.SV ∙ APLX ∙ Extended Dyalog APL ∙ Iverson notation ∙ IVSYS/7090 ∙ NARS ∙ ngn/apl ∙ openAPL ∙ Operators and Functions ∙ PAT ∙ Rowan ∙ SAX ∙ SHARP APL ∙ Rationalized APL ∙ VisualAPL (APLNext) ∙ VS APL ∙ York APL |
Derivatives | AHPL ∙ BQN ∙ CoSy ∙ ELI ∙ Glee ∙ I ∙ Ivy ∙ J ∙ Jelly ∙ K (Goal, Klong, Q) ∙ KamilaLisp ∙ Lang5 ∙ Lil ∙ Nial ∙ RAD ∙ Uiua |
Overviews | Comparison of APL dialects ∙ Timeline of array languages ∙ Timeline of influential array languages ∙ Family tree of array languages |