Constrained Types - Future Directions

The use of constraints in types is quite natural. Yet, integrating constraint based types into the heart of a modern, statically typed, object-oriented programming language is quite tricky. Over the last five years we have designed and implemented the constrained types framework in the programming language X10. In this paper we review the conceptual design, the practical implementation issues, and the many new questions that are raised. We expect the pursuit of these questions to be a profitable area of future work.

[1]  James Noble,et al.  Ownership types for flexible alias protection , 1998, OOPSLA '98.

[2]  Jens Palsberg,et al.  Constrained types for object-oriented languages , 2008, OOPSLA.

[3]  Vivek Sarkar,et al.  X10: an object-oriented approach to non-uniform cluster computing , 2005, OOPSLA '05.

[4]  Sophia Drossopoulou,et al.  Universe Types for Topology and Encapsulation , 2007, FMCO.

[5]  Clark W. Barrett,et al.  The SMT-LIB Standard Version 2.0 , 2010 .

[6]  Martin Odersky,et al.  Type classes as objects and implicits , 2010, OOPSLA.

[7]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[8]  Armando Solar-Lezama,et al.  Program synthesis by sketching , 2008 .

[9]  Nikolaj Bjørner,et al.  Efficient E-Matching for SMT Solvers , 2007, CADE.

[10]  Michael J. Maher Herbrand constraint abduction , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[11]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[12]  Leonardo Mendonça de Moura,et al.  Complete Instantiation for Quantified Formulas in Satisfiabiliby Modulo Theories , 2009, CAV.

[13]  Michael J. Maher Abduction of Linear Arithmetic Constraints , 2005, ICLP.

[14]  Martin C. Rinard,et al.  ACM Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), November 2002 Ownership Types for Safe Programming: Preventing Data Races and Deadlocks , 2022 .

[15]  Michael J. Maher,et al.  On Computing Constraint Abduction Answers , 2008, LPAR.

[16]  Sanjit A. Seshia,et al.  Combinatorial sketching for finite programs , 2006, ASPLOS XII.

[17]  Armando Solar-Lezama,et al.  Programming by sketching for bit-streaming programs , 2005, PLDI '05.

[18]  Ehud Shapiro,et al.  Algorithmic Program Debugging , 1983 .

[19]  Michael J. Maher Heyting Domains for Constraint Abduction , 2006, Australian Conference on Artificial Intelligence.

[20]  Patrick Maxim Rondon,et al.  Liquid types , 2008, PLDI '08.

[21]  Olivier Tardieu,et al.  Constrained kinds , 2012, OOPSLA '12.