Skip to content
Scan a barcode
Scan
Hardcover Handbook of Programming Languages Volume 4: Functional, Concurrent & Logic Programming Languages Book

ISBN: 1578700116

ISBN13: 9781578700110

The Handbook of Programming Languages (HPL): Functional, Concurrent and Logic Programming Languages

This handbook covers functional, concurrent and logic programming languages. There are chapters on Emacs LISP, Scheme, Guile, CLOS and Prolog. For each language, information on history, syntax,... This description may be from another edition of this product.

Recommended

Format: Hardcover

Temporarily Unavailable

1 person is interested in this title.

We receive 2 copies every 6 months.

Customer Reviews

1 rating

Fairly good overview

This book is the last of the HPL series and covers some of the more popular logic and functional programming languages. It is however somewhat outdated, since some up-and-coming functional programming languages, such as Haskell, are only mentioned and not treated in detail. The first chapter is a quick introduction to Lisp (2 pages) and is put into to set up the next chapter on Emacs Lisp. This chapter is written by R.J. Chassell, and gives a general overview of the main features of Emacs Lisp. The author does a good job of explaining the language, and how it fits into the functional programming paradigm. He uses an interesting diagrammatic representation, which he calls "chest of drawers" to explain how printed representations of Emacs Lisp are different from the internal representation in the computer. One can also see very clearly the lambda calculus origins of Lisp in this chapter. The definition of a function in Lisp clearly illustrates the effectiveness of functional programming in emulating the concept from mathematics. A function is thought of as a rule for computation that takes several arguments and returns a value. It can however have a "side effect" of changing the values of variables or the contents of data structures. It is this later property of a function in programming languages that can cause confusion to a mathematician-turned-programmer. Mathematicians are not accustomed to worrying about these side effects, only concerning themselves with the result of the function. But the author does give a good explanation as to the importance of side effects in building programs. He is also careful to explain the different types of functions in Lisp, namely defined, anonymous, and primitive ones. The later are built-in ones that are written in C and provide performance enhancement. In addition, macros are distinguished from functions in that they merely serve as translators from user expressions to expressions to be evaluated by the Lisp interpreter. The "fundamental" functions "car", "cdr", and "cons" are also explained in detail, as functions that create and operate on lists. In chapter 3, the author Brian Harvey discusses the language Scheme, and he endeavors to illustrate the simplicity of Scheme as a programming language. Because of its simplicity, Scheme has been used as a teaching tool in courses on computer languages and general programming. The author shows how Scheme is related to Lisp, and most importantly, he emphasizes the composition of functions (recursion) as being the primary control mechanism in Scheme. He makes a good case for the use of functional programming as a methodology for obtaining clarity and economy of thought in writing programs. The ability of Scheme to perform garbage collection contributes greatly to Scheme's ease of use. For example, Scheme employs lists in preference to arrays, with lists being dynamically allocated data structures, and the elements of the list can themselves be lists. In addition,
Copyright © 2025 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks ® and the ThriftBooks ® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured