Against Query Based Compilers

22 points by LesleyLai


fanf

Reading the recent discussion about teaching compilers, especially ~pervognsen’s observations about laziness, I thought about how hard it is to parallelize a lazy evaluation runtime system, and how the plan for parallelizing the Golang port of the Typescript compiler relies on hoping that compiler threads don’t waste too much time repeating work. It’s an evidence-based hope, so they know multiple cores will actually compile the typescript compiler faster. But it made me wonder what a compiler would look like if it could be designed from scratch for parallel compilation.

pkhuong

Claiming that incremental out-of-order hashing and encryption are impossible (when they empirically exists, and avalanching can simply be added with constant-time finalization) unfortunately weakens the post very early on. The thesis is independent of that claim, so it's a bit unfortunate that the author gave it such a prominent location in their post.