Comment 0 for bug 700862

Revision history for this message
Matt Giuca (mgiuca) wrote :

The interactive.print_env predicate wraps all globals and ctors in varname(gvname()) and passes them to executor.show_var_dont_eval. Constructor names should never be in varname(gvname()); code doesn't normally expect this to work.

It does work for interpret.show_var_dont_eval (since the interpret similarly places ctor names in varname(gvname()), but that isn't a major problem because it's self-contained within that module), but it won't necessarily work for other backends.

Add a separate executor function executor.show_ctor which shows ctors without evaluating thunks (if the backend uses thunks for constructors).