Proceedings of the ACM on Programming Languages · 2022 · 13 citations · 19 references
ComputingComputer ScienceAlgorithmsFormal MethodsProgramming LanguagesAnnotationData TypesFormal SemanticsSyntax-semantics InterfaceType CheckingType SystemsCanonical Form ConstructionsCanonical Form ReconstructionIntersectionIntersection TypesOccurrence TypingType ReconstructionType TheoryUnion
We extend classic union and intersection type systems with a type-case construction and show that the combination of the union elimination rule of the former and the typing rules for type-cases of our extension encompasses occurrence typing . To apply this system in practice, we define a canonical form for the expressions of our extension, called MSC-form. We show that an expression of the extension is typable if and only if its MSC-form is, and reduce the problem of typing the latter to the one of reconstructing annotations for that term. We provide a sound algorithm that performs this reconstruction and a proof-of-concept implementation.
19
A Syntactic Approach to Type Soundness
Andy Wright, Matthias Felleisen · Information and Computation · 1994 · 1.1K citations
Patrick M. Rondon, Ming Kawaguci, Ranjit Jhala · 2008 · 388 citations
The design and implementation of typed scheme
Sam Tobin-Hochstadt, Matthias Felleisen · 2008 · 313 citations