Sound and complete bidirectional typechecking for higher-rank polymorphism with existentials and indexed types

@article{Dunfield2019SoundAC,
  title={Sound and complete bidirectional typechecking for higher-rank polymorphism with existentials and indexed types},
  author={Joshua Dunfield and N. Krishnaswami},
  journal={Proceedings of the ACM on Programming Languages},
  year={2019},
  volume={3},
  pages={1 - 28}
}
Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its applicability to a variety of type systems, its error reporting, and its ease of implementation. [...] Key Method This approach permits declarative rules for coverage of pattern matching, as well as support for first-class existential types using a focalized subtyping judgment.Expand
8 Citations
Bidirectional type checking for relational properties
Bidirectional Typing
Refinement types in Futhark
A quick look at impredicativity
Adding dependent types to class-based mutable objects
Graded Modal Dependent Type Theory

References

SHOWING 1-5 OF 5 REFERENCES
Guarded recursive datatype constructors
No-Longer-Foreign: Teaching an ML compiler to speak C "natively"
Refined typechecking with Stardust. In Programming Languages meets Programming Verification (PLPV
  • 2007
A Fixpoint Theorem in Linear Logic
  • 1992
Refined typechecking with Stardust. In Programming Languages meets Programming Verification (PLPV '07)
  • 2007