I’m not sure I agree about the statement that LLVM is bad for functional languages - maybe for purely functional or lazy languages, i.e. Haskell, but for something like ML I think it’s definitely a valid option for a backend. That said, while I’m working on my own compiler for a functional language (built on LLVM), perhaps I haven’t gotten far enough to see the problems at scale.
The dismissal of effect systems seems like valid criticism, but overly fatalistic about it.
Type checker ergonomics are what I’m most concerned with at the moment in my own language, I haven’t found a whole lot of discussion on the topic (that isn’t just another dynamic vs static trash fire), I’d be interested to hear more on this.
I couldn’t find the talk for these slides, but if anyone knows where to find it, I’d love to watch it.