Context: I’m working on the call-by-name syntax migration, and I have a decent amount of free time while I’m digging around. Are there any pervasive items that people would like me to keep an eye on (or make records of) while I’m literally in the process of going through almost every Python file? I probably won’t fix any of these right now, but I can audit a lot of items:
A couple that I’ve been making notes of:
• The amount of red squiggles due to Pyright/Pylance/mypy type errors - there are a decent chunk of these (like 30%) that can be patched/fixed with a handful of types lower down in the inheritance stack (at least one of these fixes can be turned into an internal checker/fixer/updater)
• Brittle Rule imports - I found some places where using call-by-name syntax causes an indirect circular import, which was mitigated by using the existing solver. I’ll skip the migration until I can dig into what’s going on here
• The eventual stabilization of the public API - what “levels” of APIs are we expecting to use? For instance, would there be a “Core” API that backends rely on? Or would backend APIs also be “exported” for use in the public API. I’m looking around at import trees to see how egregious the imports are