Ngn/apl
- 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.