Wonderful overview of inlining and specialisation in GHC, and using pragmas to tune optimisation:
miniblog.
Related Posts
Go has a wonderful, accessible discussion of how it does inlining today, the downsides, and the plans for 1.22:
On the nuances of Rust inlining, crate boundaries, and what gets inlined by default: https://matklad.github.io/2021/07/09/inline-in-rust.html
It's well known that certain compiler optimisations matter way more than others (e.g. inlining).
Is there a similar principle for linters? I find red squiggles under unused/undefined variables the single most useful check.
