Hi Patrick, thanks.
I'll start digging from your great resource.

I'll try using ghc-heap-view on GHCi.
Interactive usage is also useful.

Thank you for your kind explanation,
Takenobu





2018-07-07 13:05 GMT+09:00 Patrick Dougherty <patrick.doc@ameritech.net>:
Hello,

This effort mostly just brought the core of this [1] library into GHC. The main function you will want to try is `getClosureData`,
which takes any value and returns the heap representation. There are some tricky aspects about evaluation, but I will refer you to the comments about `Box`s in [1].

As a shameless self-plug, I also wrote a bit about it. The first page is a brief intro to the heap, and the second is an example demonstrating how to track down a leaky accumulator. I also link to a few posts that sent me down this path.

This doesn't implement all of the functionality of [1], but it pulls in enough that hopefully it should be a little more stable between GHC versions. Also, you should be able to recreate many of the functions by looking at the source of [1] on hackage.


Best,
Patrick

P.S. Sorry about using [1] so many times. Both libraries are called heap-view which makes it a little difficult to distinguish.

On Friday, July 6, 2018 10:10 PM, Takenobu Tani <takenobu.hs@gmail.com> wrote:


Dear devs,

I'm interested in ghc-heap-view of ghc-8.6. [1]
Is there a document on how to use the ghc-heap-view of ghc-8.6?

[1]: https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-8.6.1#Landedinmasterbranch

Regards,
Takenobu


_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs