2011-01-10 01:34:31 |
Matt Giuca |
description |
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). |
The interactive.print_env predicate wraps all globals and ctors in gvname() and passes them to executor.show_var_dont_eval. Constructor names should never be in 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 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).
|
|
2011-01-10 01:58:54 |
Matt Giuca |
description |
The interactive.print_env predicate wraps all globals and ctors in gvname() and passes them to executor.show_var_dont_eval. Constructor names should never be in 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 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).
|
The interactive.print_env predicate wraps all globals and ctors in gvname() and passes them to executor.show_var. Constructor names should never be in gvname(); code doesn't normally expect this to work.
It does work for interpret.show_var (since the interpret similarly places ctor names in 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).
|
|