haskellfoundation / hs-opt-handbook.github.io

The Haskell Optimization Handbook
https://haskell.foundation/hs-opt-handbook.github.io/
Creative Commons Attribution 4.0 International
173 stars 12 forks source link

Direct Observation: Reading STG #14

Open doyougnu opened 2 years ago

doyougnu commented 2 years ago

Should have:

- good patterns
- bad patterns and how to fix them
- description of all information dumped by core
- possibly description of unarisation?
- description of slow_ap and fast_ap and other machine fundamentals
- no-update or update lambda

for this and #13 make sure it connects to the user's vision of their code.

doyougnu commented 1 year ago

also this guidance for emitting stg for packages:

Maybe if I copy a cabal.project.freeze file from the node into the ouroboros-network repository at that commit, then compile there I should get the same results as the node does, but it seems quite fragile to rely on this

...
One way to make this easier is to locally make it a local package.
Just cabal unpack the-pkg-name which should fetch the tarball from CHAP and adjust your cabal.project to point to the local directory.
doyougnu commented 11 months ago

explanation of let-no-escape: https://jstolarek.github.io/posts/2013-10-06-let-no-escape.html

doyougnu commented 7 months ago

also this nice summary from the GRIN project: https://github.com/dmjio/ext-stg-interpreter-talk?tab=readme-ov-file