Ngn/apl: Difference between revisions
Miraheze>Adám Brudzewsky No edit summary |
Miraheze>Adám Brudzewsky m (Text replacement - "<code>" to "<source lang=apl inline>") |
||
Line 20: | Line 20: | ||
An APL interpreter written in JavaScript by Nick Nickolov. It can run in a browser or on NodeJS. | An APL interpreter written in JavaScript by Nick Nickolov. It can run in a browser or on NodeJS. | ||
ngn/apl supports most primitives, dfns (< | ngn/apl supports most primitives, dfns (<source lang=apl inline>{⍺ ⍵}</code>), nested arrays, complex numbers (<source lang=apl inline>1j2</code>), infinities (<source lang=apl inline>¯</code> or <source lang=apl inline>∞</code>), [[forks and atops|Trains]], strand assignment (<source lang=apl inline>(a b)←c</code>), indexed assignment (<source lang=apl inline>a[b]←c</code>), user-defined operators (<source lang=apl inline>{⍺⍺ ⍵⍵}</code>), but does not support tradfns (<source lang=apl inline>∇R←X f Y</code>), non-zero index origin (<source lang=apl inline>⎕IO</code>), comparison tolerance (<source lang=apl inline>⎕CT</code>), prototypes, [[modified assignment]] (<source lang=apl inline>x+←1</code>), [[control structures|Keywords]] (<source lang=apl inline>:If</code>), [[object-oriented features|Object orientated programming]], namespaces. | ||
== External link == | == External link == |
Revision as of 09:06, 29 October 2019
- For technical reasons, this page is named "Ngn/apl". The actual name of the implementation is "ngn/apl".
An APL interpreter written in JavaScript by Nick Nickolov. It can run in a browser or on NodeJS.
ngn/apl supports most primitives, dfns (<source lang=apl inline>{⍺ ⍵}), nested arrays, complex numbers (<source lang=apl inline>1j2), infinities (<source lang=apl inline>¯ or <source lang=apl inline>∞), Trains, strand assignment (<source lang=apl inline>(a b)←c), indexed assignment (<source lang=apl inline>a[b]←c), user-defined operators (<source lang=apl inline>{⍺⍺ ⍵⍵}), but does not support tradfns (<source lang=apl inline>∇R←X f Y), non-zero index origin (<source lang=apl inline>⎕IO), comparison tolerance (<source lang=apl inline>⎕CT), prototypes, modified assignment (<source lang=apl inline>x+←1), Keywords (<source lang=apl inline>:If), Object orientated programming, namespaces.