Decidable Subtyping of Existential Types for Julia
summary
Proves Julia’s runtime subtyping is undecidable via reduction from System F<: and designs a restricted grammar that is stratify types into method signatures and value types (top-level existentials plus use-site-variance in values) with an algorithmic decision procedure for that fragment. Performs corpus analysis over ~9,000 packages (≈16.5M LOC, ~2.2M extracted annotations) and finds only four types that violate the restriction. No compiler replacement is delivered; paper gives formal proofs and an algorithm.
AI-written summary · about
