Skip to main content

Functional Programming

  • Chapter
  • 95 Accesses

Abstract

In this chapter we will be examining the language design aspects of the major applicative programming language LISP. As such, this chapter is not meant to be a tutorial on LISP. The reader who has not had previous experience with the language would do well to read the primer by [Weissman 67] or [Winston 79] for an excellent introduction to the language. I will begin with a general discussion of functions and evaluation. This is followed by showing how programs and data can be represented via a uniform mechanism, the so-called S-expression. Then I present the LISP interpreter in LISP, to reveal both the simple semantics of this powerful language and the simplicity of writing a sophisticated program. In the later sections I examine more detailed issues of language design and implementation relating to LISP including shallow binding, the handling of FEXPRs and FUNARGs and lazy evaluation. The treatment here has been especially influenced by John Allen’s Anatomy of LISP, (McGraw-Hill), which is recommended to the reader who wants a more advanced discussion of these topics.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   74.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 1983 Computer Science Press

About this chapter

Cite this chapter

Horowitz, E. (1983). Functional Programming. In: Fundamentals of Programming Languages. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-96729-0_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-96729-0_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-96731-3

  • Online ISBN: 978-3-642-96729-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics