When you're writing static analysis tools, should you make your analysis flow or path dependent? What is the accuracy/performance tradeoff?
https://www.youtube.com/watch?v=JpK9e__q5Ts shows an elegant approach using monad transformers to make this pluggable.
Related Posts
I've been building an 'extract function' refactor feature. It's surprisingly nuanced.
Where do you put the extracted function? Once you've done the static analysis, what order do you use for the parameters?
Go has an elegant approach to defining example functions, which are shown in docs as `main()` with the output: https://go.dev/blog/examples
It's interesting to see the "why not Rust?" discussions around the TypeScript news that they're using Go. It shows that Rust has reached a level of maturity that it's a default for some users.
Go does seem to be in a sweet spot for AOT languages with GC though.