GALILEO: a strongly-typed, interactive conceptual language
ACM Transactions on Database Systems (TODS)
Programming in MODULA-2 (3rd corrected ed.)
Programming in MODULA-2 (3rd corrected ed.)
Types and persistence in database programming languages
ACM Computing Surveys (CSUR)
A semantics of multiple inheritance
Information and Computation - Semantics of Data Types
ODE (Object Database and Environment): the language and the data model
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Database programming in Machiavelli—a polymorphic language with static type inference
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Emerald: a general-purpose programming language
Software—Practice & Experience
Smalltalk: subclassing subtyping is-a
Journal of Object-Oriented Programming
Modula-3
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
Eiffel: the language
Bulk types: built-in or add-on?
DBPL3 Proceedings of the third international workshop on Database programming languages : bulk types & persistent data: bulk types & persistent data
Subtyping and assignment in database programming languages
DBPL3 Proceedings of the third international workshop on Database programming languages : bulk types & persistent data: bulk types & persistent data
The object-oriented database system manifesto
Building an object-oriented database system
O2, an object-oriented data model
Building an object-oriented database system
Strongtalk: typechecking Smalltalk in a production environment
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
The design of the E programming language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Soft typing with conditional types
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Foundations of object-oriented languages
ACM SIGPLAN Notices
The DBPL project: advances in modular database programming
Information Systems
A calculus for overloaded functions with subtyping
Information and Computation
Subtypes vs. where clauses: constraining parametric polymorphism
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Sound polymorphic type inference for objects
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
An interpretation of typed OOP in a language
Lisp and Symbolic Computation - Special issue on state in programming languages (part I)
Object-oriented programming in the BETA programming language
Object-oriented programming in the BETA programming language
Polymorphism and type inference in database programming
ACM Transactions on Database Systems (TODS)
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
The development of type systems for object-oriented languages
Theory and Practice of Object Systems - Special issue: type systems
Theory and Practice of Object Systems - Special issue: type systems
Putting type annotations to work
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Computing Surveys (CSUR)
A practical subtyping system for Erlang
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
The object database standard: ODMG 2.0
The object database standard: ODMG 2.0
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Adding type parameterization to the Java language
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Parasitic methods: an implementation of multi-methods for Java
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Type checking higher-order polymorphic multi-methods
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The ODMG object model: does it make sense?
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Multiple dispatch as dispatch on Tuples
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Contraint-based polymorphism in Cecil: towards a practical and static type system
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Type-checking OQL queries in the ODMG type systems
ACM Transactions on Database Systems (TODS)
Object Oriented Programming: A Unified Foundation
Object Oriented Programming: A Unified Foundation
The Java Language Specification
The Java Language Specification
The Definition of Standard ML
Orthogonally persistent object systems
The VLDB Journal — The International Journal on Very Large Data Bases - Persistent object systems
Fibonacci: a programming language for object databases
The VLDB Journal — The International Journal on Very Large Data Bases - Persistent object systems
Lightweight Parametric Polymorphism for Oberon
JMLC '97 Proceedings of the Joint Modular Languages Conference on Modular Programming Languages
A Type System for a Lambda Calculus with Assignments
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
An Extension of System F with Subtyping
TACS '91 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Object-Oriented Database Systems: Promises, Reality, and Future
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
Object-Oriented Multi-Methods in Cecil
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
Typed Object-Oriented Functional Programming with Late Binding
ECCOP '96 Proceedings of the 10th European Conference on Object-Oriented Programming
Integrating Subtyping, Matching and Type Quantification: A Practical Perspective
ECCOP '96 Proceedings of the 10th European Conference on Object-Oriented Programming
A Statically Safe Alternative to Virtual Types
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
SAS '96 Proceedings of the Third International Symposium on Static Analysis
Towards the Implementation of a Uniform Object Model
Parallel Computer Architectures: Theory, Hardware, Software, Applications
PolyTOIL: A Type-Safe Polymorphic Object-Oriented Language
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
On Separation between Interface, Implementation, and Representation in Object DBMSs
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
Type-Safe Compilation of Covariant Specialization: A Practical Case
Type-Safe Compilation of Covariant Specialization: A Practical Case
Type system for an object-oriented database programming language
Type system for an object-oriented database programming language
Simula Begin
A relational account of objects
ACSC '06 Proceedings of the 29th Australasian Computer Science Conference - Volume 48
A multi-level architecture for distributed object bases
Data & Knowledge Engineering
MCI-java: a modified java virtual machine approach to multiple code inheritance
VM'04 Proceedings of the 3rd conference on Virtual Machine Research And Technology Symposium - Volume 3
A general extension system for event processing languages
Proceedings of the 5th ACM international conference on Distributed event-based system
Making standard ML a practical database programming language
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
The concept of an object-oriented database programming language (OODBPL) is appealing because it has the potential of combining the advantages of object orientation and database programming to yield a powerful and universal programming language design. A uniform and consistent combination of object orientation and database programming, however, is not straightforward. Since one of the main components of an object-oriented programming language is its type system, one of the first problems that arises during an OODBPL design is related to the development of a uniform, consistent, and theoretically sound type system that is sufficiently expressive to satisfy the combined needs of object orientation and database programming.The purpose of this article is to answer two questions: "What are the requirements that a modern type system for an object-oriented database programming language should satisfy?" and "Are there any type systems developed to-date that satisfy these requirements?". In order to answer the first question, we compile the set of requirements that an OODBPL type system should satisfy. We then use this set of requirements to evaluate more than 30 existing type systems. The result of this extensive analysis shows that while each of the requirements is satisfied by at least one type system, no type system satisfies all of them. It also enables identification of the mechanisms that lie behind the strengths and weaknesses of the current type systems.