I stumbled across a comment by András Kovács on compiler performance, which brought up some of the difficulties writing adequate compilers in lower-level languages such as C++ or Rust.
Recently, a preprint by Hall et al. was published: a comparison of keto and plant-based diets. The gist of it is that a low-fat plant-based diet is more satiating than keto; those eating an unlimited plant-based diet will eat less than those eating an unlimited keto diet.
I have seen "strict data structures, lazy functions" bandied about among Haskellers. This is bad advice. Preferable is "know what you are doing."
Streaming via a C API presents a conundrum in Haskell: on the one hand, the C code is side effecting, on the other, we would like to provide a lazy API.
Compared with Rust, ATS provides better type safety at the boundaries; foreign functions and data structures can be used in a first-class way without sacrificing type safety.next