Ngn/apl: Difference between revisions
Jump to navigation
Jump to search
Miraheze>Adám Brudzewsky No edit summary |
Miraheze>Marshall No edit summary |
||
Line 20: | Line 20: | ||
An APL interpreter written Nick Nickolov in JavaScript, making it run in a under Node.js or in any modern browser. | 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, | ngn/apl supports most primitives, [[dfn]]s (<source lang=apl inline>{⍺ ⍵}</source>), [[nested array]]s, [[complex number]]s (<source lang=apl inline>1j2</source>), [[Infinity|infinities]] (<source lang=apl inline>¯</source> or <source lang=apl inline>∞</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>), [[dop|user-defined operators]] (<source lang=apl inline>{⍺⍺ ⍵⍵}</source>), but does not support [[tradfn]]s (<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>), [[prototype]]s, [[modified assignment]] (<source lang=apl inline>x+←1</source>), [[control structure|Keywords]] (<source lang=apl inline>:If</source>), [[object-oriented features|Object orientated programming]], [[namespace]]s. | ||
== External link == | == External link == |
Revision as of 11:22, 15 November 2019
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 ∞
), forks and atops, 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.