I+: A Multiparadigm Language for Object-Oriented Declarative Programming

This paper presents a multiparadigm language I^+ which is an integration of the three major programming paradigms: object-oriented, logic and functional. I^+ has an object-oriented framework in which the notions of classes, objects, methods, inheritance and message passing are supported. Methods may be specified as clauses or functions, thus the two declarative paradigms are incorporated at the method level of the object-oriented paradigm. In addition, two levels of parallelism may be exploited in I^+ programming. Therefore I^+ is a multiparadigm language for object-oriented declarative programming as well as parallel programming.

[1]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[2]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .

[3]  Anton Eliëns,et al.  Dlp - A Language for Distributed Logic Programming: Design, Semantics and Implementation , 1992 .

[4]  Daniel G. Bobrow,et al.  CLOS: integrating object-oriented and functional programming , 1991, CACM.

[5]  Roberto Barbuti,et al.  LEAF: A Language which Integrates Logic, Equations and Functions , 1986, Logic Programming: Functions, Relations, and Equations.

[6]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[7]  Andrew Davison,et al.  Polka: a parlog object oriented language , 1989 .

[8]  John Darlington,et al.  The Unification of Functional and Logic Languages , 1986, Logic Programming: Functions, Relations, and Equations.

[9]  Paola Mello,et al.  Programs as Collections of Communicating Prolog Units , 1986, ESOP.

[10]  Carlo Zaniolo,et al.  Object-Oriented Programming in Prolog , 1984, SLP.

[11]  Jia-Huai You,et al.  FUNLOG: A Computational Model Integrating Logic Programming and Functional Programming , 1986, Logic Programming: Functions, Relations, and Equations.

[12]  Kenneth E. Iverson,et al.  A programming language , 1899, AIEE-IRE '62 (Spring).

[13]  Hassan Aït-Kaci,et al.  An Overview of LIFE , 1990, East/West Database Workshop.

[14]  C. K. Luk,et al.  I: an integrated programming language , 1993, Proceedings of TENCON '93. IEEE Region 10 International Conference on Computers, Communications and Automation.

[15]  Bruce D. Shriver,et al.  Research Directions in Object-Oriented Programming , 1987 .

[16]  Joachim W. Schmidt,et al.  Next Generation Information System Technology , 1991, Lecture Notes in Computer Science.

[17]  Stephen S. Yau,et al.  PROOF: A Parallel Object-Oriented Functional Computation Model , 1991, J. Parallel Distributed Comput..

[18]  Francis G. McCabe,et al.  Logic and objects , 1992, Prentice Hall International Series in Computer Science.

[19]  Timothy Koschmann,et al.  Bridging the gap between object-oriented and logic programming , 1988, IEEE Software.

[20]  M. H. van Emden,et al.  Logic Programming with Equations , 1987, J. Log. Program..

[21]  D. J. Wallace Massively parallel computing: status and prospects , 1992 .

[22]  Antonio Corradi,et al.  Parallelism in object-oriented programming languages , 1990, Proceedings. 1990 International Conference on Computer Languages.

[23]  Kenneth M. Kahn,et al.  UNIFORM - A Language Based Upon Unification Which Unifies (much of) LISP, PROLOG, and ACT 1 , 1981, Logic Programming: Functions, Relations, and Equations.

[24]  Bjarne Stroustrup,et al.  The C++ programming language (2nd ed.) , 1991 .

[25]  Paul Hudak,et al.  Conception, evolution, and application of functional programming languages , 1989, CSUR.

[26]  Shimon Cohen,et al.  The APPLOG Language , 1986, Logic Programming: Functions, Relations, and Equations.

[27]  Mario Tokoro,et al.  Object-oriented concurrent programming , 1987 .

[28]  M. H. van Emden,et al.  On Warren's Method for Functional Programming in Logic , 1990, ICLP.

[29]  Daniel G. Bobrow,et al.  Vulcan: Logical Concurrent Objects , 1987, Research Directions in Object-Oriented Programming.

[30]  Shaun-inn Wu,et al.  Integrating logic and object-oriented programming , 1991, OOPS.

[31]  Peter Wegner,et al.  Concepts and paradigms of object-oriented programming , 1990, OOPS.

[32]  Fred A. Cummins,et al.  KSL/Logic: integration of logic with objects , 1990, Proceedings. 1990 International Conference on Computer Languages.

[33]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[34]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[35]  John Placer The Multiparadigm Language G , 1991, Comput. Lang..

[36]  Dale Miller,et al.  Representing Objects in a Logic Programming Langueage with Scoping Constructs , 1990, ICLP.

[37]  José Meseguer,et al.  Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics , 1987, Research Directions in Object-Oriented Programming.

[38]  Kam-Wing Ng,et al.  The design of a multiparadigm programming language: I , 1993, Microprocess. Microprogramming.

[39]  Ryan Stansifer,et al.  A Functional Language with Classes , 1989, Great Lakes Computer Science Conference.

[40]  Mario Tokoro,et al.  Orient84/K: an object-oriented concurrent programming language for knowledge representation , 1987 .

[41]  Sanjai Narain,et al.  Lazy evaluation in logic programming , 1990, Proceedings. 1990 International Conference on Computer Languages.