Functional C (1997) is a highly regarded book in the field of computer programming that delves into the concepts and principles of functional programming using the C programming language. Written by Michael Hansen, this book provides a thorough introduction to functional programming, explaining the underlying principles and how they can be applied in C.

The book starts with an introduction to functional programming, explaining how it differs from imperative programming, which is the traditional style of programming that most programmers are familiar with. It then goes on to cover the basics of the C programming language, including pointers, arrays, and structures. The book assumes that the reader has some prior knowledge of C programming, so it is not recommended for complete beginners.

The author takes a hands-on approach to teaching functional programming, providing numerous examples and exercises that allow the reader to apply the concepts learned in the book. The book covers a wide range of topics, including lambda calculus, recursion, higher-order functions, and lazy evaluation.

One of the most important concepts covered in the book is the use of recursion to solve problems. The author explains how to use recursion to implement algorithms such as sorting and searching, and provides several examples to illustrate the concept.

The book also covers the use of higher-order functions, which are functions that take other functions as parameters or return functions as results. This is a powerful concept in functional programming, and the author provides many examples to help the reader understand how to use it.

Overall, Functional C (1997) is an excellent resource for programmers who want to learn functional programming using the C programming language. The book is well-written, easy to understand, and provides a solid foundation in functional programming principles. Whether you are a seasoned programmer looking to expand your skill set or a beginner just starting out, this book is an excellent choice.