On Thu, Nov 15, 2012 at 2:12 AM, Lawrence Crowl <cr...@googlers.com> wrote: > Diego and I seek your comments on the following (loose) proposal. > > > It is sometimes hard to remember which printing function is used > for debugging a type, or even which type you have. > > We propose to rely on overloading to unify the interface to a small > set of function names. Every major data type should have associated > debug/dump functionality. We will unify the current *_dump/*_debug > functions under the same common overloaded name.
Just to add another case which seems to be not covered in the thread. When dumping from inside a gdb session in many cases I cut&paste addresses literally. For overloading to work I'd need to write casts in front of the inferior call argument. That sounds ugly - so at least keep the old interfaces as well. Or rather for debugging purposes provide python helpers rather than new inferior overloads. Richard. > We intend to only apply this approach to functions that take the > type to display as an argument, and that are routinely used in > debugging. > > We propose to provide several function overload sets, as below. > > > dump_pretty > > This function overload set provides the bulk of the printing. > They will use the existing pretty-printer functions in their > implementation. > > dump_raw > > This function overload set provides the raw oriented dump, > e.g. a tuple. > > dump_verbose > > This function overload set provides the extra details dump. > > > All of these functions come in two forms. > > function (FILE *, item_to_dump, formatting) > function (item_to_dump, formatting) > > If the FILE* is not specified, the output is to stderr. The > formatting argument is optional, with a default suitable to the kind > of item to dump. > > > We should remove tree-browser.c. It is not used at all and it is > likely broken. > > -- > Lawrence Crowl