Settings

Theme

Let's build a simple interpreter for APL, part 2 (2020)

mathspp.com

115 points by miguendes 4 years ago · 9 comments

Reader

RojerGS 4 years ago

OP here, thanks for sharing!

Feel free to ask any questions you might have in here or in the comments of the blog articles.

The series is not complete yet but rest assured that I haven't given up on it :)

  • ALLTaken 4 years ago

    I missed the first part, but will check it out. I'm on sick leave and can't do anything anyway.

    My main question so far is: Can you make use of the speed of Array-based languages, but save computation time, by compiling it into a solution-graph-assembly? Sorry, if my wording is to amateurish.

    EDIT: What's the difference between symbolic computation, graph computation and array-based symbolic computation? I mean they have different internal representations due to semantics, but look alike mostly.

    Would it be possible to "generate" an "optimal" internal structure for an array-based symbolic language like APL, based on the input?

  • miguendesOP 4 years ago

    Awesome work, OP. I'm a really fan of your work, you make solid stuff!

    How many more parts do you plan to do?

    • RojerGS 4 years ago

      Thanks :D I'm glad you enjoy my work!

      For this particular series, I have _no idea_ how many articles it will take to cover enough APL syntax for me to be satisfied with the state of the interpreter. This is mostly a hobby project to help me learn APL and to help me learn about interpreters and related materials, so I feel the need to write about every major step I take, which might actually look like a minor step from the point of view of number of features that get added.

      Does my reply make sense?

Bostonian 4 years ago

Arguably modern Fortran, with its array operations is an array language. Some Google Summer of Code projects involve completing LFortran, an interactive Fortran compiler built on top of LLVM. Blog posts are at https://czgdp1807.github.io/2021/07/02/week_7.html and https://rgoswami.me/posts/gsoc21-w4/

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection