Data con names in the debugger

Simon Peyton-Jones <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.all
Message-ID <DCA83D5F3861C941808187D4D387875036FB3C75__31110.5766370476$1166431403$gmane$org@EA-EXMSG-C312.europe.corp.microsoft.com>
Pepe

I saw that Ian committed your patches -- great!

Concerning the recovery of DataCon names, you write "The closure viewer obtains the heap address of a Haskell value, find out the address of its associated info table, and trace back to the DataCon? corresponding to this info table. This is possible because the ghc runtime allocates a static info table for each and every datacon, so all we have to do is extend the linker with a dictionary relating the static info table addresses to a DataCon? name. Moreover, the ghci linker can load interpreted code containing new data or newtype declarations. So the dynamic linker code is extended in the same way."

Isn't there a simpler way to do this: just include the DataCon name in the info table of the data con.  Of course that makes every (debuggable) binary a bit bigger, but so does all the breakpoint stuff.

Simon
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.