Skip to main content
Log in

A list processing language TAO with multiple programming paradigms

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

Abstract

This paper describes an interpreter-centered list processing language TAO which supports the logic programming paradigm and the object-oriented programming paradigm together with the conventional procedural programming paradigm in the framework of the Lisp language. TAO allows the user to mix these programming paradigms in solving complicated and multifaceted AI problems. The fundamentals of these programing paradigms, namely, unification, message passing and function call can nest each other in an expression. Thus, the user can use the result of a function call or a message passing in a unification straightforwardly and vice versa. TAO also supports the concurrent programming. The implementation of the TAO interpreter on a Lisp machine called ELIS achieves a remarkable efficiency.

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. Bobrow, D. G., Kahn, K. and Kizales, G. et al., “COMMONLOOPS, Merging Common Lisp and Object-Oriented Programming,”Xerox Parc ISL-85-8, August, 1985.

  2. Bobrow, D. G. and Stefik, M., “The LOOPS Manual (Preliminary Version),”Memo KB-VLSI-85-13, Xerox PARC, January, 1983.

  3. Chikayama, T., “ESP Reference Manual,”ICOT TR-044, February, 1984.

  4. Gabriel, R. P.,Performance and Evaluation of Lisp Systems, The MIT Press, 1985.

  5. Goldberg, A. and Robson, D.,Smalltalk-80: The Language and Its Implementation, Reading, Massachusetts, Addison-Wesley, 1983.

    MATH  Google Scholar 

  6. Goto, S., “DURAL: An Extended Prolog Language,”Lecture Notes in Computer Science 147, Springer-Verlag, 1983.

  7. Hibino, Y., Watanabe, K. and Ohsato, N., “Lisp Machine ELIS no Architecture — Memory Register no Han-Youka to Sono Kouka” (Lisp Machine ELIS’s Architetture —Generalization of Memory Registers and Its Effect) [in Japanese],IPSJ WGSYM, 24-3, Junuary, 1983.

  8. Kernighan, B. W. and Richie, D. M.,The C Programming Language, Prentice-Hall, 1978.

  9. Krasner, G. ed.,Smalltalk-80: Bits of History, Words of Advice, Reading, Massachusetts, Addison-Wesley, 1983.

    MATH  Google Scholar 

  10. Nakashima, H., “Prolog/KR User’s Manual,”METR 82-4, Univ. of Tokyo, 1982.

  11. Okuno, H. G., Takeuchi, I., Ohsato, N., Hibino, Y. and Watanabe, K., “TAO: A Fast Interpreter-Centered System on Lisp Machine ELIS,”Conf. Record of the 1984 ACM Symposium on Lisp and Functional Programming, (ACM, Austin, Tex.) pp. 140–149, August, 1984.

  12. Okuno, H. G., “The Report of the Third Lisp Contest and the First Prolog Contest,”IPSJ WGSYM 33-4, September, 1985.

  13. Pitman, K. M.,The Revised MacLisp Manual, MIT AI Lab., May, 1983.

  14. Robinson, J. and Sibert, E.,The LOGLISP User’s Manual, Syracuse University, December, 1981.

  15. Steele, Guy L. ed.,Common Lisp, Digital Press, 1984.

  16. Takeuchi, I., Okuno, H. G. and Ohsato, N., “TAO —A Harmonic Mean of Lisp, Prolog and Smalltalk,”ACM SIGPLAN Notices,Vol. 18,No. 7, July, 1983.

  17. Takeuchi, I., “On the Implementation of Common Lisp on TAO/ELIS,”IPSJ WGSYM 37-7, Junuary, 1986.

  18. Warren, D. H. D., “Implementing Prolog — Compiling Predicate Logic Programs”,D. A. I. Research Report, 39 and 40, May, 1997.

  19. Weinreb, D., Moon, D. and Stallman, R.,Lisp Machine Manual, Fifth Edition, System Version 92, LMI, January, 1983.

Download references

Author information

Authors and Affiliations

Authors

About this article

Cite this article

Takeuchi, I., Okuno, H. & Ohsato, N. A list processing language TAO with multiple programming paradigms. New Gener Comput 4, 401–444 (1986). https://doi.org/10.1007/BF03037392

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Keywords

Navigation