Ngn/apl: Difference between revisions

Jump to navigation Jump to search
513 bytes added ,  13:02, 27 December 2020
no edit summary
No edit summary
No edit summary
Line 20: Line 20:


ngn/apl supports most of the core language of [[Dyalog APL 14.0]],: [[dfn]]s (<source lang=apl inline>{⍺ ⍵}</source>), [[nested array]]s, [[complex number]]s (<source lang=apl inline>1j2</source>), [[Function train|forks and atops]], [[Multiple assignment|strand assignment]] (<source lang=apl inline>(a b)←c</source>), [[indexed assignment]] (<source lang=apl inline>a[b]←c</source>), and [[dop|user-defined operators]] (<source lang=apl inline>{⍺⍺ ⍵⍵}</source>), but does not support [[Key]] (<source lang=apl inline>⌸</source>), [[Rank (operator|Rank (operator]] (<source lang=apl inline>⍤</source>) [[tradfn]]s (<source lang=apl inline>∇R←X f Y</source>), non-zero [[index origin]] (<source lang=apl inline>⎕IO←1</source>), [[comparison tolerance]] (<source lang=apl inline>⎕CT</source>), [[prototype]]s (it always uses zero as fill), [[modified assignment]] (<source lang=apl inline>x+←1</source>), [[keyword]]s (<source lang=apl inline>:If</source>), [[object-oriented programming]], or [[namespace]]s. It extends Dyalog APL with [[Infinity|infinities]] (<source lang=apl inline>¯</source> or <source lang=apl inline>∞</source>) and a few additoinal primitives.
ngn/apl supports most of the core language of [[Dyalog APL 14.0]],: [[dfn]]s (<source lang=apl inline>{⍺ ⍵}</source>), [[nested array]]s, [[complex number]]s (<source lang=apl inline>1j2</source>), [[Function train|forks and atops]], [[Multiple assignment|strand assignment]] (<source lang=apl inline>(a b)←c</source>), [[indexed assignment]] (<source lang=apl inline>a[b]←c</source>), and [[dop|user-defined operators]] (<source lang=apl inline>{⍺⍺ ⍵⍵}</source>), but does not support [[Key]] (<source lang=apl inline>⌸</source>), [[Rank (operator|Rank (operator]] (<source lang=apl inline>⍤</source>) [[tradfn]]s (<source lang=apl inline>∇R←X f Y</source>), non-zero [[index origin]] (<source lang=apl inline>⎕IO←1</source>), [[comparison tolerance]] (<source lang=apl inline>⎕CT</source>), [[prototype]]s (it always uses zero as fill), [[modified assignment]] (<source lang=apl inline>x+←1</source>), [[keyword]]s (<source lang=apl inline>:If</source>), [[object-oriented programming]], or [[namespace]]s. It extends Dyalog APL with [[Infinity|infinities]] (<source lang=apl inline>¯</source> or <source lang=apl inline>∞</source>) and a few additoinal primitives.
On December 27, 2020, Nickolov announced that he would discard his implementation.<ref>Nickolov, N. "ngn". [https://chat.stackexchange.com/transcript/message/56558504#56558504 Announcement]. [[APL Orchard]]. Stack Exchange chat.</ref> Soon after, [[Adám Brudzewsky]] took up the mantle of hosting the source and online demo.<ref>Brudzewsky, A. "Adám". [https://chat.stackexchange.com/transcript/message/56558600#56558600 Announcement]. [[APL Orchard]]. Stack Exchange chat.</ref>
[[File:Ngn/apl|center|thumb|ngn/apl's [https://abrudz.github.io/ngn-apl/web/ demo interface]]]
[[File:Ngn/apl|center|thumb|ngn/apl's [https://abrudz.github.io/ngn-apl/web/ demo interface]]]
== External link ==
== External link ==
Line 28: Line 30:
* [https://plj541.github.io/APL.js/ Online session]
* [https://plj541.github.io/APL.js/ Online session]
* [https://github.com/abrudz/ngn-apl/ Source code]
* [https://github.com/abrudz/ngn-apl/ Source code]
 
== References ==
<references/>
{{APL dialects}}[[Category:APL dialects]][[Category:Nested array languages]][[Category:Leading axis languages]][[Category:Languages with tacit programming]][[Category:Compilers]]
{{APL dialects}}[[Category:APL dialects]][[Category:Nested array languages]][[Category:Leading axis languages]][[Category:Languages with tacit programming]][[Category:Compilers]]

Navigation menu