The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.11 - November (1990 vol.16)
pp: 1258-1272
ABSTRACT
<p>The object-oriented functional data language (O/sup 2/FDL) 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 O/sup 2/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 O/sup 2/FDL also supports novel features. For the core of the O/sup 2/FDL, a denotational semantics based on an extended lambda -calculus is provided. For selected system-defined functions, operational semantics are provided and it is demonstrated that a subset of the O/sup 2/FDL is at least as expressive as the relational algebra.</p>
INDEX TERMS
object oriented programming; object-oriented functional data language; interactive strongly typed database programming language; functional programming; software engineering; O/sup 2/FDL; inheritance; encapsulation; object-oriented languages; equational notation; strong typing; type restrictions; type variables; function interfaces; monotonic subtype rule; function redefinition; denotational semantics; extended lambda -calculus; operational semantics; relational algebra; high level languages; object-oriented programming; software engineering
CITATION
M.V. Mannino, J.J. Choi, D.S. Batory, "The Object-Oriented Functional Data Language", IEEE Transactions on Software Engineering, vol.16, no. 11, pp. 1258-1272, November 1990, doi:10.1109/32.60314
34 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool