News for hackers. Stuff that matters.
Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by simonebrunozzi on Sunday March 03, 2024 @03:23AM (#39579387)
Compilers is one of these field that didn't evolve much for ~30 years. I used to teach a course at Perugia University back in 2004-2006, and the material I could use was easily 15-20-25 years old, no sweat.

Things seem to have changed recently.

Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by grumpyprole on Sunday March 03, 2024 @03:52AM (#39579494)
Probably because most programming languages haven't changed, imperative, loops, pervasive side-effects etc. Writing a compiler for a pure functional language would certainly need new material.
Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by dunefox on Sunday March 03, 2024 @04:57AM (#39579786)
> Writing a compiler for a pure functional language would certainly need new material.

I mean, Haskell is also over 30 years old at this point.

Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by grumpyprole on Sunday March 03, 2024 @06:45AM (#39580246)
Yes, but it's changed a lot in 30 years.
Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by pjmlp on Sunday March 03, 2024 @06:00AM (#39580070)
On top of sibbling comment, Simon Peyton Jones seminal paper is from 1987.
Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by grumpyprole on Sunday March 03, 2024 @06:44AM (#39580242)
He has spent the last 30 years since publishing more papers on compiling functional languages.
Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by pjmlp on Sunday March 03, 2024 @07:10AM (#39580359)
Mostly related to adding new features to Haskell and GHC, not on compiling functional languages in general.

Now functional logic languages like Verse, that is definitely new material.

Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by grumpyprole on Sunday March 03, 2024 @07:49AM (#39580493)
That's selling him very short. I would say most of his papers are applicable to functional programming in general and not just Haskell.
Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by pjmlp on Sunday March 03, 2024 @10:23AM (#39581380)
Only for those that understand functional programming as whatever Haskell does.
Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by snnn on Tuesday March 05, 2024 @02:26AM (#39600365)
No, I think it is because most problems are too hard to solve. Think a simplified case: build a compiler for evaluating arithmetic expressions like "a*3+b" and make the generated code as efficient as possible. It is an NP-hard problem!
Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by pfdietz on Sunday March 03, 2024 @04:35AM (#39579676)
There's been a substantial change in compiler testing since then, with high volume randomized testing coming into vogue.
Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by looofooo0 on Sunday March 03, 2024 @05:33AM (#39579939)
Recent papers with llm Fuzzing appearing e.g. fuzz4all
Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by wslh on Sunday March 03, 2024 @07:18AM (#39580384)
We are working on projects related with cybersecurity and compilers. A reference we look at is [1] and [2]. I think we can publish the results in the coming months.

[1] https://github.com/rohanpadhye/jqf/wiki/Fuzzing-a-Compiler

[2] https://news.ycombinator.com/item?id=36373410

Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by sjrd on Sunday March 03, 2024 @06:22AM (#39580162)
I disagree. The landscape has significantly evolved into incremental compilation techniques in the past decade. While theoretical developments are mostly confined into parsers, practical implementations do it across the entire pipeline, all the way to whole-program optimizations and code generation.
Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by mr_foo on Sunday March 03, 2024 @06:58AM (#39580299)
I'm not well versed in compiler design or implementation. But it seems to me that the target of compilers (machine code, assembly, etc.) has changed dramatically over time. The number of instructions and options on each successive processor generation seems to offer new optimizations or combinations for compilers.
Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by jcranmer on Sunday March 03, 2024 @12:05PM (#39582124)
That's just not true.

Just going by the new stuff that you could have taught back in 2004-2006 that you likely didn't, there's SSA construction, SLP vectorization, automatic peephole superoptimization, and that's just things I could name off the top of my head (and were papers for my qualifying exam :-P).

What hasn't changed is the compiler textbooks, which tend to have way too heavy a focus on how to build a parser generator and almost nothing on how you actually architect a compiler, let alone designing modern computer architecture. But this is a gripe which has been around for decades.

Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by GrumpySloth on Sunday March 03, 2024 @07:23PM (#39585808)
Nitpick: SSA is late 80s, early 90s tech.
Re:CS 6120: Advanced Compilers: The Self-Guided Online Course by jcranmer on Monday March 04, 2024 @11:00AM (#39591940)
I'm dating SSA from the "Efficiently computing static single assignment form and the control dependence graph" paper, which came out in October 1991; my understanding is that SSA wasn't heavily used before this technique came out.