Module adapton::engine::reflect
[−]
[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.
Reexports
pub use parse_val; |
Modules
trace |
Gives effects and traces for cleaning and dirtying, the engine's
internal DCG traversal/processing. By contrast, the enclosing
module ( |
Structs
CompNode |
Reflected version of |
DCG |
Reflected version of |
Frame |
Reflected version of |
Loc |
Reflected version of |
Pred |
Reflected version of |
PureNode |
Reflected version of |
RefNode |
Reflected version of |
Succ |
Reflected version of |
Enums
ArtContent |
The content of an articulation: Either a cell holding a value, or a thunk that has optionally produced a value. |
Const |
Primitive constants |
Effect |
Reflected version of |
Node |
Reflected version of |
Val |
Reflected value; Gives a syntax for inductive data type
constructors ( |
Traits
Reflect |
This trait consists of the ability for a reference to |
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 |
preds_of_node |
Get the |
reflect_val |
Wrapper for |
string_of_loc |
See doc for |
string_of_name |
See doc for |
string_of_path |
See doc for |
succs_of_node |
Get the |
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 |
Type Definitions
Path |
A |