diff --git a/todo.txt b/todo.txt index 8d1a2964b1..9447447a50 100644 --- a/todo.txt +++ b/todo.txt @@ -12,12 +12,23 @@ Errors: - Incorrect number of parameters Symbol Resolution: +- Add all files with annotated class/functions. - Find class references, load them all in TopLevelContext. -- Find unbounded identifiers/functions in functions. -- `inspect.getmodule(x)` every unknown `x` if not primitive/list of primitives, - check their files recursively by getting their file path, cache with - (normalized) path as key. +- Find unbounded identifiers in the functions. + - If it is a function/class name, record its object ID. + - Otherwise, load its value. (check to see if specified with `global`) + (Function implemented in python, with rust binding to add value to global + variable dictionary) + +Global variable dictionary: +- Primitives, including integers, floats, bools, etc. +- Primitive lists. +- Numpy multi-dimensional array, with value + dimension vectors. +- Reference array, with integer index referring to other things. +- Symbol table: python id -> reference id. TopLevelContext/InferenceContext: - Restrict visibility by user defined function. + +