Concurrent programming in TAO — Practice and experience

  • Ikuo Takeuchi
Part II Parallel Lisp Systems and Architectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 441)


This paper describes various aspects of the concurrent programming in the Lisp language and related problems, based on our practice and experience with a concurrent Lisp dialect TAO. TAO realizes a multiple process and multiple user environment of practical performance and significance on a single ELIS processor by its powerful concurrent primitives.

Topics described in this paper include: a Lisp-style process management, sharing Lisp programs among processes and users, name space problems around symbol packages, concurrent primitives, concurrent program debugging, and some performance figures. Further extension of TAO towards to a multiple ELIS processor system is also discussed briefly.


Garbage Collection Concurrent Programming Garbage Collector ELIS Processor Common Lisp 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Amagai 87]
    Amagai, Y., An Object-oriented Implementation of a Display Editor Making the Modules Reusable, Proceeding of the 1987 Programming Symposium of IPSJ, 1987 (in Japanese).Google Scholar
  2. [Gabriel 84]
    Gabriel, R. and McCarthy, J., Queue-based Multiprocessor Lisp, Proceedings of the 1984 ACM Symposium on Lisp and Functional Programming, August 1984.Google Scholar
  3. [Goldberg 83]
    Goldberg, A. and Robson, D., Smalltalk-80: The Language and Its Implementation, Reading, Massachusetts, Addison-Wesley, 1983.Google Scholar
  4. [Goldman 88]
    Goldman, R. and Gabriel, R., Qlisp: Experience and New Direction, Proceedings of the ACM/SIGPLAN PPEALS 1988, July, 1988.Google Scholar
  5. [Halstead 86]
    Halstead, R., Loaiza, Juan. and Ma, M., The Multilisp Manual, MIT, 1986.Google Scholar
  6. [Halstead 84]
    Halstead, R., Implementation of Multilisp: Lisp on a Multiprocessor, Proceedings of the 1984 ACM Symposium on Lisp and Functional Programming, August 1984.Google Scholar
  7. [Kon 86]
    Kon, A., Matsuyama, T. and Ito, T., Parallel Evaluation of Lisp Programs — Design and Implementation, IPSJ SIG Notes 86-SYM-37, 1986 (in Japanese).Google Scholar
  8. [McCarthy 65]
    McCarthy, J., Abrahams, P. W., Edwards, D. J., Hart, T. P., and Levin, M. I., Lisp 1.5 Programmer's Manual, second edition, MIT Press, 1965.Google Scholar
  9. [Murakami 88]
    Murakami, K., Connection Oriented Implementation Model for Network and its TCP/IP Implementation in Object-oriented Programming, Computer Software, Vol. 6, No. 1, 1988 (in Japanese).Google Scholar
  10. [Murakami 89]
    Murakami, K., A Pseudo Network Approach to Inter-processor Communication on Shared-memory Multi-processor MacELIS, Proceedings of the 1989 US-Japan Workshop on Parallel Lisp, 1989.Google Scholar
  11. [Onai 88]
    Onai, R., Tsuruoka, Y., Proposal and Evaluation of Dynamic Object-Oriented Programming, Transactions of IEICE (D), Vol. J17-D, No. 12, 1988 (in Japanese).Google Scholar
  12. [Sabot 88]
    Sabot, G., The Paralation Model, MIT Press, 1988.Google Scholar
  13. [Saito 83]
    Saito, T., Doi, T., Nishikawa, T., Maegawa, H. and Yasui, H., Fast Lisp Machine and List-Evaluation Processor EVAL II — Machine Evaluation on Interpreter, Transactions of IPSJ Vol. 24, No. 10, 1983 (in Japanese).Google Scholar
  14. [Stallman 87]
    Stallman, R., GNU Emacs Manual, Fifth Edition Version 18, Free Software Foundation, 1987.Google Scholar
  15. [Steel 84]
    Steel, G. ed., Common Lisp, Digital Press, 1984.Google Scholar
  16. [Steel 86]
    Steel, G., Hillis, D., Connection Machine LISP: Fine-Grained Parallel Symbolic Processing, Proceedings of the 1986 ACM Conference on Lisp and Functional Programming, August, 1986.Google Scholar
  17. [Takada 89]
    Takada, T., NueX: An Implementation of X-window System Interface in Object-Oriented Programming, JSSST SIG Notes of 1989 WOOC, 1989 (in Japanese).Google Scholar
  18. [Takeuchi 86]
    Takeuchi, I., Okuno, H. and Ohsato, N., A List Processing Language TAO with Multiple Programming Paradigms, New Generation Computing, Vol 4, No. 4, Ohmusha and Springer, 1986.Google Scholar
  19. [Tanaka 89]
    Tanaka, Y. and Nakanishi, M., An Implementation of a Distributed Processing Environment by the Lisp Machine SYNAPSE, IPSJ SIG Notes 89-SYM-50, 1989 (in Japanese).Google Scholar
  20. [Watanabe 88]
    Watanabe, K., Ishikawa, A., Yamada, Y. and Hibino, Y., The Architecture of 32 bit AI Chip ELIS, IPSJ SIG Note 69-ARC-10, 1988 (in Japanese).Google Scholar
  21. [Weinreb 83]
    Weinreb, D., Moon, D. and Stallman, R., Lisp Machine Manual, Fifth Edition, System Version 92, LMI, January, 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Ikuo Takeuchi
    • 1
  1. 1.NTT Basic Research LaboratoriesTokyoJapan

Personalised recommendations