Ngn/apl: Difference between revisions
Jump to navigation
Jump to search
no edit summary
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. |