Implementation resources: Difference between revisions
Jump to navigation
Jump to search
(→Interpreting: Add dfns.parse) |
(→Interpreting: Add ivy talk) |
||
Line 4: | Line 4: | ||
* [https://mathspp.com/blog/tag:lsbasi-apl#body-wrapper Let's build a simple interpreter for APL] series (currently incomplete) on Mathspp Blog | * [https://mathspp.com/blog/tag:lsbasi-apl#body-wrapper Let's build a simple interpreter for APL] series (currently incomplete) on Mathspp Blog | ||
* [https://talks.godoc.org/github.com/robpike/ivy/talks/ivy.slide Slides] and [https://www.youtube.com/watch?v=PXoG0WX0r_E talk] by [[wikipedia:Rob Pike|Rob Pike]] about implementing [[ivy]] | |||
* [https://dfns.dyalog.com/n_parse.htm parse] commentary in the [[dfns workspace]] | * [https://dfns.dyalog.com/n_parse.htm parse] commentary in the [[dfns workspace]] | ||
* [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 |
Revision as of 17:53, 5 February 2021
This page lists some resources for learning how to implement array 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
- Parsing and Execution in the J dictionary
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