Distinguish values from memory addresses
Inside a DependencyGraph
instance, values (initial values, \SECRET, global variables) should be more clearly distinguished from pointers. Possible solution: use wrapper types using Python's type system to differenciate them. Also, the value_dependencies
and pointer_graph
fields could be merged into one structure, simplifying the code.
-
Values and memory addresses become two distinct types wrapping Variable
-
value_dependencies
andpointer_graph
are merged into one field -
Make use of Python's typing system to check that values and memory addresses cannot be confused