Implementation resources

This page lists some resources for learning how to implement array languages. See also the list of open-source array languages, which links to implementations in a wide variety of styles and languages.

Interpreting

 * Let's build a simple interpreter for APL series (currently incomplete) on Mathspp Blog
 * Slides and talk by Rob Pike about implementing ivy
 * Bunda-Gerth parsing, implemented with commentary as parse in the dfns workspace
 * Parsing and Execution in the J dictionary
 * APL In Exposition, from page 54 (labelled 51) down
 * J Incunabulum is the initial partial implementation of J

Compiling
Because traditional APL does not have a context-free grammar, the language must be modified or restricted in some way to allow it to be compiled. K and BQN have context-free grammars, making them immediately suitable for compilation.


 * BQN implementation notes
 * Aaron Hsu's tree manipulation talks describe a technique used in Co-dfns.
 * Compiling APL to JavaScript describes some implementation decisions made in ngn/apl