Title :
The object-oriented functional data language
Author :
Mannino, Michael V. ; Choi, In Jun ; Batory, Don S.
Author_Institution :
Texas Univ., Austin, TX, USA
fDate :
11/1/1990 12:00:00 AM
Abstract :
The object-oriented functional data language (O2FDL) is an interactive strongly typed database programming language that integrates the object-oriented and functional programming paradigms. It was designed for advanced applications that require a powerful and uniform database programming language supporting the software engineering principles of these tow paradigms. To this end, the O2 FDL supports inheritance and encapsulation of object-oriented languages, and an equational notation and strong typing of functional programming. Strong typing is extended with type restrictions to constrain the instantiations of type variables in function interfaces, while inheritance is augmented with a monotonic subtype rule for function redefinition. The O2FDL also supports novel features. For the core of the O2FDL, a denotational semantics based on an extended λ-calculus is provided. For selected system-defined functions, operational semantics are provided and it is demonstrated that a subset of the O2FDL is at least as expressive as the relational algebra
Keywords :
high level languages; object-oriented programming; software engineering; O2FDL; denotational semantics; encapsulation; equational notation; extended λ-calculus; function interfaces; function redefinition; functional programming; inheritance; interactive strongly typed database programming language; monotonic subtype rule; object oriented programming; object-oriented functional data language; object-oriented languages; operational semantics; relational algebra; software engineering; strong typing; type restrictions; type variables; Application software; Computer languages; Database systems; Design automation; Encapsulation; Functional programming; Object oriented databases; Relational databases; Spatial databases; Transaction databases;
Journal_Title :
Software Engineering, IEEE Transactions on