Implementation resources: Difference between revisions
Jump to navigation
Jump to search
(APL In Exposition link) |
(added J Incunabulum) |
||
Line 9: | Line 9: | ||
* [https://www.jsoftware.com/help/dictionary/dicte.htm Parsing and Execution] in the [[J]] dictionary | * [https://www.jsoftware.com/help/dictionary/dicte.htm Parsing and Execution] in the [[J]] dictionary | ||
* [http://www.softwarepreservation.org/projects/apl/Papers/197201_APL%20In%20Exposition_320-3010.pdf APL In Exposition], from page 54 down | * [http://www.softwarepreservation.org/projects/apl/Papers/197201_APL%20In%20Exposition_320-3010.pdf APL In Exposition], from page 54 down | ||
The [https://code.jsoftware.com/wiki/Essays/Incunabulum J Incunabulum] is a small implementation of an extremely simple APL, and worth a thorough read. | |||
== Compiling == | == Compiling == |
Revision as of 14:53, 11 September 2021
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
- parse commentary in the dfns workspace
- Bunda-Gerth parsing, the paper that the above site is based on
- Parsing and Execution in the J dictionary
- APL In Exposition, from page 54 down
The J Incunabulum is a small implementation of an extremely simple APL, and worth a thorough read.
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