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