Ngn/apl: Difference between revisions

From APL Wiki
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 NodeJS]
| 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 by Nick Nickolov. It can run in a browser or on NodeJS.
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.

External link

Template:APL programming language