Module adapton::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.
Re-exports
pub use engine::reflect_dcg::*; |
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
preds_of_node |
Get the |
reflect_val |
Wrapper for |
succs_of_node |
Get the |
Type Definitions
Path |
A |