Author here! I figured it was only a matter of time before this showed up on HN after the haskell foundation announced we had moved it the HF org. If you have any recommendations then by all means please open an issue, but bear in mind that the book is still very much a work in progress. And most chapters are just todos at the moment.<p>My goal is to have a handbook that consolidates and demystifies optimizing GHC Haskell because I think this resource is sorely missing in the Haskell community. So that includes reading and understanding Core, Stg, and Cmm as well as understanding the tools that already exist for GHC Haskell but are under documented in addition to the real advanced features, like altering the RunTimeRep your data types to control their behavior at runtime. Needless to say there is a lot to do :)
Link to site: <a href="https://haskell.foundation/hs-opt-handbook.github.io/" rel="nofollow">https://haskell.foundation/hs-opt-handbook.github.io/</a><p>(rather than the source code)
In case this got you interested in Haskell, and you want a good way to start your Haskell journey (and have something to apply the optimization handbook to), check out IHP. It's the Rails/Laravel of the Haskell world. Here's a demo video <a href="https://www.youtube.com/watch?v=UbDtS_mUMpI">https://www.youtube.com/watch?v=UbDtS_mUMpI</a> You can start here <a href="https://ihp.digitallyinduced.com/Guide/index.html" rel="nofollow">https://ihp.digitallyinduced.com/Guide/index.html</a> or check it out on GitHub here <a href="https://github.com/digitallyinduced/ihp">https://github.com/digitallyinduced/ihp</a>
That long list of topics, and yet nothing on the critical one: understanding laziness. It turns out cargo-culting around a lack of understanding doesn't lead to good performance.