diff --git a/todo.txt b/todo.txt new file mode 100644 index 00000000..c64684d6 --- /dev/null +++ b/todo.txt @@ -0,0 +1,28 @@ +Errors: +- Not supported +- Only * is supported +- Expected * in *, but got * +- Divergent type in (construct), (location 1), (location 2) +- Unknown field +- Unbounded variable +- Different variable +- Different domain +- * is not subclass of * +- Type not equal +- Incorrect number of parameters + +GlobalContext: +- Separate from typedefs +- Interact with python intepreter to get data +- Primitive Type Instance List +- Symbol Table (readable, ever defined) +- TypeVar definition stack +- Provide subst, inv_subst, blablabla +- Cache type var method lookup (dropped when related assumptions are changed) +- Responsible for printing the error (lookup module/type info, handle line number offset) + +Name Resolution: +- Get class/methods, track module via `inspect.getmodule` +- GlobalContext store function/class - module association, perform name + resolution in the module when identifier is unbounded, and check its type +