Skip to main content
Log in

Object oriented programming in Concurrent Prolog

  • Regular Papers
  • Published:
New Generation Computing Aims and scope Submit manuscript

Abstract

It is shown that the basic operations of object-oriented programming languages — creating an, object, sending and receiving messages, modifying an object’s state, and forming class-superclass hierarchies — can be implemented naturally in Concurrent Prolog. In addition, a new object-oriented programming paradigm, called incomplete messages, is presented. This paradigm subsumes stream communication, and greatly simplifies the complexity of programs defining communication networks and protocols for managing shared resources. Several interesting programs are presented, including a multiple-window manager. All programs have been developed and tested using the Concurrent Prolog interpreter described in.1)

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Shapiro, E. Y.: A Subset of Concurrent Prolog and Its Interpreter, ICOT Technical Report,TR-003 (1983).

  2. Hewitt, C.: Viewing Control Structures as Patterns of Passing Messages, Artificial Intelligence,8 (1977).

  3. The XEROX Learning Research Group: The Smalltalk-80 System, BYTE (Aug, 1981).

  4. Kowalski, R.: Predicate Logic as Programming Language, Proc. of IFIP 74 (1974).

  5. Clark, K. L. and Gregory, S.: A Relational Language for Parallel Programming, Proc. of the ACM Conf. on Functional Programming Languages and Computer Architecture (1981).

  6. van Emden, M. H. and de Lucena, G. J.: Predicate logic as a Programming language for parallel programming, Logic Programming, (K. L. Clark and S. A. Tärnlund eds.) (Academic Press, 1982).

  7. Steele, G. L.: The Definition and Implementation of a Computer Programming Language based on Constraints, MITAI-TR-595 (1980).

  8. Borning, A.: The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory, ACM Trans. on Programming Languages and Systems3,No.4 (1981).

  9. Sussman, G. J. and Steele, G. L.: Constraints — A Language for Expressing Almost-Hierarchical Descriptions, Artificial Intelligence,14 (1980).

  10. Weinreb, D. and Moon, D.: Flavors: Message Passing in the Lisp Machine, MIT AI memono. 602 (1980).

  11. Ellis, J. R., Mishkin, N., van Leunen, M. and Wood, S. R.: Tools: An Environment for Timeshared Computing and Programming. Research Report,232 (Department of Computer Science, Yale University, 1982).

  12. Pereira, L. M.: Logic Control with Logic, Proc. of the 1st Int. Logic Programming Conf. (1982).

Download references

Author information

Authors and Affiliations

Authors

Additional information

Part of this research was carried out while Ehud Shapiro was visiting ICOT, the Institute for New Generation Computer Technology. Ehud Shapiro is a recipient of the Sir Charles Clore Fellowship.

About this article

Cite this article

Shapiro, E., Takeuchi, A. Object oriented programming in Concurrent Prolog. NGCO 1, 25–48 (1983). https://doi.org/10.1007/BF03037020

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03037020

Keywords

Navigation