Dzaima/APL: Difference between revisions

Jump to navigation Jump to search
916 bytes added ,  20:24, 28 October 2019
no edit summary
Miraheze>Adám Brudzewsky
No edit summary
Miraheze>Adám Brudzewsky
No edit summary
Line 14: Line 14:
| 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]
| influenced by            = [[Dyalog APL]], [[J]]
| influenced by            = [[Dyalog APL]], [[J]], [[K]]
}}
}}


:''For technical reasons, this page is named "Dzaima/APL". The actual name of the implementation is "dzaima/APL".''
:''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 [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. 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 [https://en.wikipedia.org/wiki/Processing_(programming_language) Processing] integration.


[[File:Dzaima-APL Andoid App.png|thumb|left|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.
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:
 
* <code>⍮</code> Juxtapose (<code>{⍺ ⍵}</code>)
* <code>⊇</code> Select (<code>⌷⍤0 99</code>) a.k.a. "sane indexing", i.e. select major cells
* <code>⍛</code> Reverse compose (<code>{(⍺⍺ ⍺) ⍵⍵ ⍵}</code> — compare with <code>∘</code> which is <code>{⍺ ⍺⍺ (⍵⍵ ⍵)}</code>
 
It also adds several unique additions from [[J]] and [[K]]:
 
* <code>⍡</code> Cumulative repeat (like <code>⍣</code> but returns a list of iterations)
* <code>⍁</code> For each diagonal (J's <code>/.</code>)
* <code>ᐵ</code> and <code>ᑈ</code> Each-left and Each-right (K's <code>\:</code> and <code>/:</code>)
 
[[File:Dzaima-APL Andoid App.png|thumb|left|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 ==
== External Links ==

Navigation menu