Polymorphic type inference for the named nested relational calculus

The named nested relational calculus is the canonical query language for the complex object database model and is equipped with a natural static type system. Given an expression in the language, without type declarations for the input variables, there is the problem of whether there are any input type declarations under which the expression is well-typed. Moreover, if there are, then which are they, and what is the corresponding output type for each of these? This problem is solved by a logic-based approach, and the decision problem is shown to be NP-complete.

[1]  John C. Mitchell,et al.  Foundations for programming languages , 1996, Foundation of computing series.

[2]  Mike Paterson,et al.  Linear unification , 1976, STOC '76.

[3]  Jeffrey D. Ullman Elements of ML programming - ML 97 edition , 1998 .

[4]  David A. McAllester Joint RTA-TLCA Invited Talk: A Logical Algorithm for ML Type Inference , 2003, RTA.

[5]  Harry G. Mairson Deciding ML typability is complete for deterministic exponential time , 1989, POPL '90.

[6]  John C. Mitchell,et al.  On the Sequential Nature of Unification , 1984, J. Log. Program..

[7]  Didier Rémy,et al.  Type inference for records in natural extension of ML , 1994 .

[8]  Paliath Narendran,et al.  Unification Theory , 2001, Handbook of Automated Reasoning.

[9]  Dan Suciu,et al.  Adding Structure to Unstructured Data , 1997, ICDT.

[10]  Atsushi Ohori,et al.  A polymorphic record calculus and its compilation , 1995, TOPL.

[11]  Limsoon Wong,et al.  Principles of Programming with Complex Objects and Collection Types , 1995, Theor. Comput. Sci..

[12]  Jeffrey D. Ullman,et al.  Elements of ML programming (ML97 ed.) , 1998 .

[13]  Philip Wadler,et al.  A Semi-monad for Semi-structured Data , 2001, ICDT.

[14]  Mitchell Wand,et al.  Type inference for record concatenation and multiple inheritance , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[15]  Jim Melton Understanding SQL Stored Procedures: A Complete Guide to SQL/PSM , 1998 .

[16]  Dan Suciu,et al.  A query language and optimization techniques for unstructured data , 1996, SIGMOD '96.

[17]  Harry G. Mairson,et al.  Unification and ML-Type Reconstruction , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[18]  Jennifer Widom,et al.  The TSIMMIS Approach to Mediation: Data Models and Languages , 1997, Journal of Intelligent Information Systems.

[19]  Catriel Beeri,et al.  Subtyping in OODBs , 1995, J. Comput. Syst. Sci..

[20]  Jeffrey D. Ullman Elements of ML programming , 1994 .

[21]  Serge Abiteboul,et al.  Foundations of Databases , 1994 .

[22]  Limsoon Wong,et al.  Querying Nested Collections , 1994 .

[23]  Peter Buneman,et al.  Theoretical Aspects of Object-Oriented Programming , 1994 .

[24]  Mitchell Wand,et al.  Type inference for record concatenation and multiple inheritance , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[25]  Limsoon Wong,et al.  Naturally Embedded Query Languages , 1992, ICDT.

[26]  Martin Sulzmann A General Type Inference Framework for Hindley/Milner Style Systems , 2001, FLOPS.

[27]  Jan Van den Bussche,et al.  Well-Definedness and Semantic Type-Checking in the Nested Relational Calculus and XQuery Extended Abstract , 2004, ICDT.

[28]  Jan Van den Bussche,et al.  Polymorphic Type Inference for the Relational Algebra , 2001, J. Comput. Syst. Sci..

[29]  Suad Alagic,et al.  Type-checking OQL queries in the ODMG type systems , 1999, TODS.

[30]  Franz Baader,et al.  Unification theory , 1986, Decis. Support Syst..

[31]  Herman Balsters,et al.  Typed Sets as a Basis for Object-Oriented Database Schemas , 1993, ECOOP.

[32]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[33]  Martin Odersky,et al.  Type Inference with Constrained Types , 1999, Theory Pract. Object Syst..

[34]  Stijn Vansummeren,et al.  On the complexity of deciding typability in the relational algebra , 2005, Acta Informatica.

[35]  Herbert B. Enderton,et al.  A mathematical introduction to logic , 1972 .

[36]  Peter Buneman,et al.  Polymorphism and type inference in database programming , 1996, TODS.

[37]  Alberto Martelli,et al.  An Efficient Unification Algorithm , 1982, TOPL.

[38]  P. Hudak,et al.  A general framework for hindley/milner type systems with constraints , 2000 .