skip to main content
article
Free Access

Are applicative languages inefficient?

Published:01 June 1988Publication History
Skip Abstract Section

Abstract

Side-effects are forbidden in applicative languages like Prolog [3], FP [2], pure Lisp [9], and SISAL [8]. Algorithms can often be reformulated applicatively with no loss of efficiency. It is not known whether this is always the case. Here are seven problems which have been resistant to efficient reformulation. The reader is invited to produce an efficient applicative program or lower-bound argument for any of these.

References

  1. [1] Aho, A. V., Hopcroft, J. E., and Ullman, J. D., The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, Ma., 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. [2] 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. [3] Clocksin, W. F. and Mellish, C. S. Programming in Prolog. Springer-Verlag, New York (1981). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. [4] Cohen, S., Multi-Version Structures in Prolog, in: Proc. International Conference on Fifth Generation Computer Systems. Tokyo, Japan, 1984. pp. 265-274.Google ScholarGoogle Scholar
  5. [5] Huddleston, S. and Mehlhorn, K., A New Data Structure for Representing Sorted Lists, Acta Informatica 17:157-184 (1982).Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Knuth, D. E., The Art of Computer Programming: Volume 1 - Fundamental Algorithms (second edition), Addison-Wesley, Reading, Ma., 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [7] Knuth, D. E., The Art of Computer Programming: Volume 3 - Sorting and Searching, Addison-Wesley, Reading, Ma., 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [8] McGraw, J. et. al. SISAL: Streams and Iteration in a Single-Assignment Language (Language Reference Manual). Lawrence Livermore Laboratory/University of California at Davis Tech Report M-146 (July 1983).Google ScholarGoogle Scholar
  9. [9] Pratt, T. W. Programming Languages: Design and Implementation. Prentice-Hall, Inc., Englewood cliffs, N.J. (1984). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. [10] Warren, D. H. D. Implementing Prolog - Compiling Logic Programs 1 and 2. DAI Research Reports 39 and 40, University of Edinburgh, Edinburgh, Scotland, 1977.Google ScholarGoogle Scholar
  11. [11] Warren, D. H. D. An Abstract Prolog Instruction Set. Technical Note 309 AI Center, SRI International (1983).Google ScholarGoogle Scholar

Index Terms

  1. Are applicative languages inefficient?

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 23, Issue 6
      June, 1988
      139 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/44546
      Issue’s Table of Contents

      Copyright © 1988 Authors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 June 1988

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader