Ngn/apl

ngn/apl is an APL bytecode compiler and interpreter by Nick Nickolov. Because it is implemented in Javascript, it can be run in Node.js or any modern browser.

On December 27, 2020, Nickolov announced that he would discard his implementation. Soon after, Adám Brudzewsky took up the mantle of hosting the source and online demo.

Features
ngn/apl partially supports some of the core language of Dyalog APL 14.0:
 * dfns
 * nested arrays
 * complex numbers
 * forks and atops
 * strand assignment
 * indexed assignment
 * user-defined operators, using the  and   glyphs in place of Dyalog's   and.

The following features of Dyalog APL are not supported:
 * does not work with negative or complex operands.
 * Where
 * Over
 * Atop
 * Nest
 * Partitioned enclose
 * At
 * Stencil
 * Unique mask
 * Key
 * Rank (operator
 * tradfns
 * non-zero index origin
 * comparison tolerance
 * prototypes (it always uses zero as fill)
 * modified assignment
 * keywords
 * object-oriented programming
 * namespaces.

It extends Dyalog APL with:
 * infinities ( or  )
 * the identity element operator
 * exceptions