The Dependent Object Types (DOT) family of calculi has been proposed as a new theoretic foundation for Scala and similar languages, unifying functional programming, object oriented programming and ML-style module systems. Following the recent type soundness proof for DOT, the present paper aims to establish stronger meta-theoretic properties. The main result is a fully mechanized proof of strong normalization for D_<:, a variant of DOT that excludes recursive functions and recursive types. We further discuss techniques and challenges for adding recursive types while maintaining strong normalization, and demonstrate that certain variants of recursive self types can be integrated successfully.
@InProceedings{wang_et_al:LIPIcs.ECOOP.2017.27, author = {Wang, Fei and Rompf, Tiark}, title = {{Towards Strong Normalization for Dependent Object Types (DOT)}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {27:1--27:25}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.27}, URN = {urn:nbn:de:0030-drops-72763}, doi = {10.4230/LIPIcs.ECOOP.2017.27}, annote = {Keywords: Scala, DOT, strong normalization, logical relations, recursive types} }
Feedback for Dagstuhl Publishing