|
This thread is for talking about everything to do with what makes programming languages work. Topics can span from very high level discussions about syntax, semantics and why languages do the things they do, down to the details of compiling, interpreting, linking, loading, optimization, parsing, type theory, and lots more. Folks of all background and skill level are welcome, whether you're a professional compiler dev, or a hobbyist working on your own language, or a student taking a compilers class, or just a bystander confused that anyone ever thought C++ templates were a good idea. I intend to keep the OP updated with books and other resources the thread recommends, as well as links to any particularly informative posts. So Resources posted:Engineering A Compiler - I used this book in undergrad and I remember it being pretty good. Boba Chef posted:Really up for this as I'm a big old compiler nerd. I wrote some blog posts on the topic, which others might find interesting. Yaoi Gagarin fucked around with this message at 22:47 on Mar 3, 2024 |
# ? Feb 23, 2021 17:25 |
|
|
# ? Apr 20, 2024 04:20 |
|
resurrecting the thread to contribute a great book/site for learning a ton about how interpreters are built: https://craftinginterpreters.com/ (a lot of the pieces apply to compilers as well, obviously)
|
# ? Feb 2, 2024 12:58 |
|
Really up for this as I'm a big old compiler nerd. I wrote some blog posts on the topic, which others might find interesting. E: To poster above, looking forward to reading the Nystrom book as his Game Programming Patterns is amazing and I recommend it to all my students. Boba Chef fucked around with this message at 11:55 on Feb 11, 2024 |
# ? Feb 11, 2024 11:06 |
|
I actually get to work on a compiler again for the first time in like a decade, and I also get to work on an interpreter! Everything is coming up Subjunctive! (Compiler is the winch compiler for wasmtime, which I’m doing a bit of work on mostly to learn ARM assembly, and the interpreter is CRuby where I’m going to try to bring in some performance tricks from other engines I’ve worked on.) When I worked on a JIT in ~2009, there were samizdat copies of a “new compiler book” draft floating around, seen as the successor to Muchnick. It was being worked on out of Berkeley, IIRC, but I don’t remember the authors’ names. Anyone know what I’m talking about, and if it ever got published? Subjunctive fucked around with this message at 15:48 on Feb 18, 2024 |
# ? Feb 18, 2024 15:44 |
|
Can you talk about what you're trying to improve in CRuby? Sounds interesting. At work I've been doing almost nothing but implementing debug info for a long time. It turns out that this is a supremely complicated thing to get right, especially if your compilation stack was not designed to have it from the beginning. At some point I'll write about this in more detail, but for now I'll just say: if you ever find yourself designing a new compiler from scratch, then for the love of god please try to keep as much info about the original source alive as late as possible.
|
# ? Feb 19, 2024 06:49 |
|
|
# ? Apr 20, 2024 04:20 |
|
https://learning.edx.org/course/course-v1:StanfordOnline+SOE.YCSCS1+3T2020/home Have been working through this course. It kind of slaps and you can get a discount on it which brings the price to a more reasonable $25.
|
# ? Mar 3, 2024 03:25 |