Module adapton::engine::reflect_dcg
[−]
[src]
Reflects the DCG engine, including both the effects of the
programs running in it, and the internal effects of the engine
cleaning and dirtying the DCG. For the latter effects, see the
trace
module.
Reflected Values. Notably, the values in the engine
(including the values of mutable and compute nodes, and the values
stored on edges between them) are reflected here into a special Val
type. Primarily, the distinction between actual Rust values and
this reflected Val
type is what makes the DCG engine "reflected"
by the definitions in this module, and not identical to them.
This module provides an interface used by Adapton Lab to produce
HTML visualizations of these internal structures, for
experimentation and debugging (namely, the dcg_reflect_begin
and
dcg_reflect_end
functions). For the purposes of debugging,
visualization and design/exploration, we exploit the reflected
version of values to "walk" them, finding their articulations, and
walking their values, recursively.
Re-exports
pub use parse_val; |
Functions
dcg_reflect_begin |
Begin recording (reflections of) DCG effects. See |
dcg_reflect_end |
Stop recording (reflections of) DCG effects, and return them as a
forrest (of DCG traces). See |
dcg_reflect_now |
Reflect the DCG's internal structure now. Does not reflect any
engine effects over this DCG (e.g., no cleaning or dirtying),
just the program effects recorded by the DCG's structure.
Returns None if the engine is |
debug_begin |
Begin a debugging extent in the trace, with associated name and message. |
debug_effect |
Insert an optional name and message in the |
debug_end |
End a debugging extent started with |
string_of_loc |
See doc for |
string_of_name |
See doc for |
string_of_path |
See doc for |
write_loc |
Write a concise human-readable version of the location (not the
verbose, machine-parsable |
write_name |
Write a concise human-readable version of the name (not the
verbose, machine-parsable |
write_path |
Write a concise human-readable version of the path (not the
verbose, machine-parsable |