Dzaima/APL

From APL Wiki
Revision as of 09:06, 29 October 2019 by Miraheze>Adám Brudzewsky (Text replacement - "<code>" to "<source lang=apl inline>")
Jump to navigation Jump to search


For technical reasons, this page is named "Dzaima/APL". The actual name of the implementation is "dzaima/APL".".

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:

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

It also adds several unique additions from J and K:

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