TY - GEN
T1 - Representing object identity in a pure functional language
AU - Ohori, Atsushi
PY - 1990/1/1
Y1 - 1990/1/1
N2 - One of the central concepts in the field of object-oriented databases is object identity, which nicely captures mutability, sharing and cyclic structures. Although the concept is intuitively clear, its precise semantics has not yet been well established. This seems to be a major obstacle to achieve a clean integration of object-oriented databases and other paradigms of database programming in a modern type system of a programming language. This paper attempts to establish a mathematical model for object identity in a framework of typed pure functional languages. We argue that the properties of object identity are accurately captured by references as they are implemented in Standard ML. We then present a method to interpret an impure higher-order functional language with references in a typed pure functional language using Moggi’s recent result on the categorical structure of monads. This establishes a precise semantics to the primitive operations for references and allows us to analyze various property of object identity. We investigate the interaction between set data types and object identity. Since the interpretation is shown to preserve all the properties of the existing data structures for databases, it enables us to integrate object identity with various existing data models within a type system of a programming language. We show that object identity and a generalized relational model can be uniformly integrated in a programming language.
AB - One of the central concepts in the field of object-oriented databases is object identity, which nicely captures mutability, sharing and cyclic structures. Although the concept is intuitively clear, its precise semantics has not yet been well established. This seems to be a major obstacle to achieve a clean integration of object-oriented databases and other paradigms of database programming in a modern type system of a programming language. This paper attempts to establish a mathematical model for object identity in a framework of typed pure functional languages. We argue that the properties of object identity are accurately captured by references as they are implemented in Standard ML. We then present a method to interpret an impure higher-order functional language with references in a typed pure functional language using Moggi’s recent result on the categorical structure of monads. This establishes a precise semantics to the primitive operations for references and allows us to analyze various property of object identity. We investigate the interaction between set data types and object identity. Since the interpretation is shown to preserve all the properties of the existing data structures for databases, it enables us to integrate object identity with various existing data models within a type system of a programming language. We show that object identity and a generalized relational model can be uniformly integrated in a programming language.
UR - http://www.scopus.com/inward/record.url?scp=85032863214&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85032863214&partnerID=8YFLogxK
U2 - 10.1007/3-540-53507-1_69
DO - 10.1007/3-540-53507-1_69
M3 - Conference contribution
AN - SCOPUS:85032863214
SN - 9783540535072
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 39
EP - 55
BT - ICDT 1990 - 3rd International Conference on Database Theory, Proceedings
A2 - Abiteboul, Serge
A2 - Kanetlakis, Paris C.
PB - Springer-Verlag
T2 - 3rd International Conference on Database Theory, ICDT 1990
Y2 - 12 December 1990 through 14 December 1990
ER -