Advertisement

LISP and Symbolic Computation

, Volume 4, Issue 4, pp 371–398 | Cite as

Critique of DIN Kernel Lisp definition version 1.2

  • Henry G. Baker
Article

Abstract

A critique of DIN Kernel Lisp is presented which argues for greater emphasis on implementation efficiency and language cleanliness, and a greater emphasis onParallel andpersistent Lisp environments. Specific recommendations include standardizing the S-expression rather than the character form of a program, using lexical scoping and shadowing to enhance subsystem modularity, relying on macros and compiler-macros for more pleasant syntax and greater modularity, requiring immutable/functional bindings, strings, vectors and lists; using object-oriented capabilities to build basic capabilities-e.g., generic arithmetic, streams and pathnames, relying ondefstruct instead ofdefclass, and standardizing ondefmethod for all function definitions. A virtual/synthetic class mechanism is presented to solve certain technical problems analogous to those solved by the “virtual function” mechanism of C++. Finally, we recommend the inclusion offutures as DKLisp's fundamental mechanism for the introduction of multiple parallel threads of computation.

Keywords

Operating System Artificial Intelligence Technical Problem Class Mechanism Great Emphasis 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Allen, D.C., et al.Recent Developments in Butterfly* Lisp. AAAI-87, Seattle, WA, July, 1987, 2–6.Google Scholar
  2. 2.
    ANSI-C.Draf Proposed American National Standard Programming Language C. ANSI, New York, 1988.Google Scholar
  3. 3.
    Arvind, and Nikhil, R.S.I-Structures: Data Structures for Parallel Computing. ACM TOPLAS 11,4 (Oct. 1989), 598–632.Google Scholar
  4. 4.
    Autodesk, Inc.AutoLISP Release 10 Programmer's Reference. Publ. TD111-005.2, Dec. 1988.Google Scholar
  5. 5.
    Backus, J.Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. CACM 21,8 (Aug. 1978),613–641.Google Scholar
  6. 6.
    Baker, H.G., and Hewitt, C.The Incremental Garbage Collection of Processes. Proc. ACM Symp. on AI & Prog. Langs., Sigplan Not. 12,8 (Aug. 1977),55–59.Google Scholar
  7. 7.
    Baker, H.G.List Processing in Real Time on a Serial Computer. CACM 21,4 (April 1978), 280–294.Google Scholar
  8. 8.
    Baker, H.G.Efficient Implementation of Bit-vector Operations in Common Lisp. ACM Lisp Pointers 3,2–4 (April–June 1990),8–22.Google Scholar
  9. 9.
    Baker, H.G.The NIMBLE Project-An Applications Compiler for Real-Time Common Lisp. Proc. InfoJapan'90 Conf., Tokyo, Japan, Oct. 1990, Info. Proc. Soc. of Japan.Google Scholar
  10. 10.
    Baker, H.G.The Nimble Type Inferencer for Common Lisp-84. Subm. to ACM TOPLAS, 1990.Google Scholar
  11. 11.
    Baker, H.G.Requiem for a Heavyweight Lisp; or, If It Ain't Baroque, Fix It. Unpubl. manuscript, June 1990.Google Scholar
  12. 12.
    Baker, H.G.Equal Rights for Functional Objects. Submitted to ACM TOPLAS, 1990.Google Scholar
  13. 13.
    Baker, H.G.Pragmatic Parsing in Common Lisp. ACM Lisp Pointers IV,2 (April–June 1991),3–15.Google Scholar
  14. 14.
    Baker, H.G.Structured Programming with Limited Private Types in Ada: Nesting is for the Soaring Eagles. ACM Ada Letters XI,5 (July/Aug. 1991),79–90.Google Scholar
  15. 15.
    Baker, H.G.Shallow Binding Makes Functional Arrays Fast. ACM Sigplan Not. 26,8 (Aug. 1991),145–147.Google Scholar
  16. 16.
    Baker, H.G.Object-Oriented Programming in Ada83-Genericity Rehabilitated. ACM Ada Letters XI,9 (Nov/Dec. 1991),116–127.Google Scholar
  17. 17.
    Baker, H.G.CLOStrophobia: Its Etiology and Treatment. ACM OOPS Messenger, 1991, to appear.Google Scholar
  18. 18.
    Baker, H.G.CONS Should not CONS its Arguments, or, A Lazy Alloc is a Smart Alloc. ACM Sigplan Notices, 1992, to appear.Google Scholar
  19. 19.
    Baker, H.G.A Decision Procedure for Common Lisp's SUBTYPEP Predicate. Lisp & Symb. Comp., 1992, to appear.Google Scholar
  20. 20.
    Baker, H.G.Lively Linear Lisp-A Preliminary Report. Subm. to 1992 ACM Conf. on Lisp & Funct. Progr.Google Scholar
  21. 21.
    Bobrow, D.G., and Kiczales, G.The Common Lisp Object System Metaobject Kernel: A Status Report. Proc. 1988 ACM Conf. on Lisp & Funct. Progr., Snowbird, UT, July 1988, 309–315.Google Scholar
  22. 22.
    Brand, Heiner, et. al.An approach to the DIN Kernel Lisp Definition, Version 1.2. Subm. to SIO WG16, December, 1991.Google Scholar
  23. 23.
    Clinger, William D.How to Read Floating Point Numbers Accurately. ACM PLDI'90, Sigplan Not. 25,6 (June 1990),92–101.Google Scholar
  24. 24.
    Cointe, Pierre.Metaclasses are First Class: the ObjVlisp Model. Proc. OOPSLA'87, Sigplan Not. 22,12 (Dec. 1987),156–167.Google Scholar
  25. 25.
    Cyphers, D.S., and Moon, D.Optimizations in the Symbolics CLOS Implementation. Proc. 3rd CLOS Users and Implementors Workshop, OOPSLA'90 (Oct. 1990),18–23.Google Scholar
  26. 26.
    desRiviéres, J., and Kiczales, G.The Art of the Metaobject Protocol: A backstage look at CLOS implementations. Unpubl. man., Xerox PARC, Oct. 15, 1990, 203p.Google Scholar
  27. 27.
    Gabriel, R.P., and McCarthy, J.Queue-Based Multi-Processing Lisp. Proc. 1984 ACM Symp. on Lisp & Funct. Prog., (Aug. 1984),25–44.Google Scholar
  28. 28.
    Gabriel, R.P.Performance and Evaluation of Lisp Systems. MIT Press, Camb., MA, 1985.Google Scholar
  29. 29.
    Gabriel, R. P.Lisp: Good News, Bad News, How to Win Big. Unpublished memo, Lucid, Inc., Feb. 1991.Google Scholar
  30. 30.
    Halstead, R.MultiLisp: A language for concurrent symbolic processing. ACM TOPLAS 7,4 (Oct. 1985),501–538.Google Scholar
  31. 31.
    IEEE-Scheme.IEEE Standard for the Scheme Programming Language, IEEE-1178-1990, IEEE, NY, Dec. 1990.Google Scholar
  32. 32.
    Ito, T., and Halstead, R.H.Jr.Parallel Lisp: Languages and Systems. Springer LNCS-441, 1990.Google Scholar
  33. 33.
    Katz, M., and Weise, D.Continuing into the Future: On the Interaction of Futures and First-Class Continuations. Proc. 1990 ACM Conf. on Lisp and Funct. Progr., Nice, France, June 1990, 176–184.Google Scholar
  34. 34.
    Kim, W., and Lochovsky, F.H., eds.Object-Oriented Concepts, Databases and Applications. Addison-Wesley, Reading, MA, 1989.Google Scholar
  35. 35.
    Knight, T.An Architecture for Mostly Functional Languages. Proc. 1986 ACM Conf. on Lisp and Funct. Prog., (Aug. 1986), 105–112.Google Scholar
  36. 36.
    Kohlbecker, Eugene E., Jr.Syntactic Extensions in the Programming Language Lisp. Ph.D. Thesis, TR-199, CS Dept., Indiana Univ., Aug. 1986.Google Scholar
  37. 37.
    Lieberman, H., and Hewitt, C.A Real-Time Garbage Collector Based on the Lifetimes of Objects. CACM 26, 6 (June 1983),419–429.Google Scholar
  38. 38.
    McAllester, D., and Zabih, R.Bollean Classes. Proc. OOPSLA'86, Sigplan Not. 21,11 (Nov. 1986),417–423.Google Scholar
  39. 39.
    Moon, D.MacLisp Reference Manual, Rev. 0. Proj. MAC, MIT, April 1974.Google Scholar
  40. 40.
    Moon, D.Garbage Collection in a Large Lisp System. ACM Symp. on Lisp and Functional Prog., Austin, TX, 1984, 235–246.Google Scholar
  41. 41.
    Radin, George.The Early History and Characteristics of PL/I. ACM Sigplan History of Prog. Langs. Conf., Sigplan Not. 13,8 (Aug. 1978),227–241.Google Scholar
  42. 42.
    Reference Manual for the Ada Programming Language. ANSI/MILSTD-1815A-1983, U.S. Gov't Printing Office, Wash., DC, 1983.Google Scholar
  43. 43.
    Steele, G.L. Jr.Common Lisp, the Language. Digital Press, Burlington, MA, 1984.Google Scholar
  44. 44.
    Steele, G.L. Jr.Common Lisp, the Language: Second Edition. Digital Press, Bedford, MA, 1990.Google Scholar
  45. 45.
    Steele, G.L.Jr., and White, J.L.How to Print Floating-Point Numbers Accurately. ACM PLDI'90, Sigplan Not. 25,6 (June 1990), 112–126.Google Scholar
  46. 46.
    Stroustrup, Bjarne.The C++ Programming Language. Addison-Wesley, Reading, MA, 1986.Google Scholar
  47. 47.
    Swanson, M.R., et al.An Implementation of Portable Standard Lisp on the BBN Butterfly. Proc. 1988 ACM Conf. on Lisp and Funct. Progr., Snowbird, UT, July 1988, 132–141.Google Scholar
  48. 48.
    Swinehart, D., et al.A Structural View of the Cedar Programming Environment. ACM TOPLAS 8,4 (Oct. 1986),419–490.Google Scholar
  49. 49.
    Taft, Tucker, et al.[Ada-9X] DRAFT Mapping Document. Ada-9X Proj. Rept., Feb. 1991.Google Scholar
  50. 50.
    Taft, Tucker, et al.[Ada-9X] DRAFT Mapping Rationale Document. Ada-9X Proj. Rept., Feb. 1991.Google Scholar

Copyright information

© Kluwer Academic Publishers 1992

Authors and Affiliations

  • Henry G. Baker
    • 1
  1. 1.Nimble Computer CorporationEncino

Personalised recommendations