Skip to content

Decompose checker.py into checker/ submodules #99

@aallan

Description

@aallan

Summary

vera/checker.py is currently 1,888 lines and growing. As C7c (visibility enforcement) and C7d (cross-module verification) land, it will approach the ~2,500 line threshold where single-file navigation becomes painful.

Suggested decomposition

Split into a vera/checker/ package:

  • core.py — TypeChecker class, two-pass architecture, expression synthesis
  • modules.py — cross-module registration and ModuleCall checking (C7b+)
  • effects.py — effect row checking, handler validation
  • __init__.py — re-export typecheck() public API

When

After C7 series completes, as a dedicated refactor phase. Splitting mid-feature would be disruptive since checker.py is modified in every C7 sub-phase.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C8aC8a — RefactoringenhancementNew feature or requestrefactorCode refactoring and structural improvements

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions