Ngn/apl: Difference between revisions
Jump to navigation
Jump to search
Miraheze>Adám Brudzewsky No edit summary |
Miraheze>Adám Brudzewsky No edit summary |
||
Line 10: | Line 10: | ||
| latest release version = 2018 (unversioned) | | latest release version = 2018 (unversioned) | ||
| implementation language = [https://en.wikipedia.org/wiki/Javascript Javascript] | | implementation language = [https://en.wikipedia.org/wiki/Javascript Javascript] | ||
| platforms = In-browser, [https://en.wikipedia.org/wiki/Node.js | | platforms = In-browser, [https://en.wikipedia.org/wiki/Node.js Node.js] | ||
| license = [https://en.wikipedia.org/wiki/MIT_License MIT] | | license = [https://en.wikipedia.org/wiki/MIT_License MIT] | ||
| website = [https://gitlab.com/n9n/apl gitlab.com/n9n/apl] | | website = [https://gitlab.com/n9n/apl gitlab.com/n9n/apl] | ||
Line 18: | Line 18: | ||
{{Actually|ngn/apl}} | {{Actually|ngn/apl}} | ||
An APL interpreter written in JavaScript | An APL interpreter written Nick Nickolov in JavaScript, making it run in a under Node.js or in any modern browser. | ||
ngn/apl supports most primitives, dfns (<source lang=apl inline>{⍺ ⍵}</source>), nested arrays, complex numbers (<source lang=apl inline>1j2</source>), infinities (<source lang=apl inline>¯</source> or <source lang=apl inline>∞</source>), [[forks and atops|Trains]], strand assignment (<source lang=apl inline>(a b)←c</source>), indexed assignment (<source lang=apl inline>a[b]←c</source>), user-defined operators (<source lang=apl inline>{⍺⍺ ⍵⍵}</source>), but does not support tradfns (<source lang=apl inline>∇R←X f Y</source>), non-zero index origin (<source lang=apl inline>⎕IO</source>), comparison tolerance (<source lang=apl inline>⎕CT</source>), prototypes, [[modified assignment]] (<source lang=apl inline>x+←1</source>), [[control structures|Keywords]] (<source lang=apl inline>:If</source>), [[object-oriented features|Object orientated programming]], namespaces. | ngn/apl supports most primitives, dfns (<source lang=apl inline>{⍺ ⍵}</source>), nested arrays, complex numbers (<source lang=apl inline>1j2</source>), infinities (<source lang=apl inline>¯</source> or <source lang=apl inline>∞</source>), [[forks and atops|Trains]], strand assignment (<source lang=apl inline>(a b)←c</source>), indexed assignment (<source lang=apl inline>a[b]←c</source>), user-defined operators (<source lang=apl inline>{⍺⍺ ⍵⍵}</source>), but does not support tradfns (<source lang=apl inline>∇R←X f Y</source>), non-zero index origin (<source lang=apl inline>⎕IO</source>), comparison tolerance (<source lang=apl inline>⎕CT</source>), prototypes, [[modified assignment]] (<source lang=apl inline>x+←1</source>), [[control structures|Keywords]] (<source lang=apl inline>:If</source>), [[object-oriented features|Object orientated programming]], namespaces. |
Revision as of 22:21, 30 October 2019
- For technical reasons, this page is named "Ngn/apl". The actual name of the implementation is "ngn/apl".
An APL interpreter written Nick Nickolov in JavaScript, making it run in a under Node.js or in any modern browser.
ngn/apl supports most primitives, dfns ({⍺ ⍵}
), nested arrays, complex numbers (1j2
), infinities (¯
or ∞
), Trains, strand assignment ((a b)←c
), indexed assignment (a[b]←c
), user-defined operators ({⍺⍺ ⍵⍵}
), but does not support tradfns (∇R←X f Y
), non-zero index origin (⎕IO
), comparison tolerance (⎕CT
), prototypes, modified assignment (x+←1
), Keywords (:If
), Object orientated programming, namespaces.