Dzaima/APL: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
Miraheze>Adám Brudzewsky
No edit summary
Miraheze>Marshall
mNo edit summary
Line 10: Line 10:
| developer                = [https://github.com/dzaima dzaima]
| developer                = [https://github.com/dzaima dzaima]
| latest release version  = 0.1.2 / 2019
| latest release version  = 0.1.2 / 2019
| implementation language  = [https://en.wikipedia.org/wiki/Java_(programming_language) Java]
| implementation language  = [[wikipedia:Java (programming language)|Java]]
| platforms                = JVM, Android
| platforms                = JVM, Android
| license                  = [https://en.wikipedia.org/wiki/MIT_License MIT]
| license                  = [[wikipedia:MIT License|MIT]]
| website                  = [https://github.com/dzaima/APL Github]
| website                  = [https://github.com/dzaima/APL Github]
| documentation            = [https://github.com/dzaima/APL/blob/master/docs/chars.txt docs]
| documentation            = [https://github.com/dzaima/APL/blob/master/docs/chars.txt docs]
Line 18: Line 18:
}}
}}


'''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 [https://en.wikipedia.org/wiki/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:

Revision as of 14:39, 14 November 2019



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 /:)
dzaima/APL Android App

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

Template:APL programming language