Week 11: Gleam Progress
Progress on Gleam Project
At this point, I’ve read through half of Building an Interpreter in Go by Thorsten Ball, all of the Gleam Language Tour, and some of the Rust Programming Language. A lot of the details are a little fuzzy, and as expected, I’ve had to work quite quickly. Unfortunately, I have no PRs yet, but this was also expected. My general overview of the compiler tells me I should work on the compiler CLI and the language server rather than anything that touches the internals of the compilers. I don’t feel comfortable enough in Rust to read through the code fast enough in order to understand and modify the internals. Despite this, Thorsten Ball’s book showed me that building a compiler or interpreter is just a giant casework problem with a lot of edge cases. After this semester, I might take some time to read through the lexer, parser, and AST. The Gleam Language Tour was straightforward, and I built some toy Gleam programs to practice. Rust has been by far the hardest thing to learn given the time constraints. The concepts of borrowing, ownership, lifetimes, traits, and testing structures take time to beat into one’s head.
Shivam’s Presentation
Interestingly, Shivam also did some work on compilers and language servers, and I’ve found that his path is quite similar to my own. We both want to be well-versed in operating systems, compilers, and backend work before moving on to trendy AI/ML projects. Moreover, we both switched to computer science after studying something else for a few years. It’s encouraging to see that someone who’s been on the same path managed to find work and is still learning.