Algorithms for Functional Programming

Stone, John David




This book presents a variety of widely used algorithms, expressing them in a pure functional programming language to make their structure and operation clearer to readers. In the opening chapter the author introduces the specific notations that constitute the variant of Scheme that he uses. The second chapter introduces many of the simpler and more general patterns available in functional programming. The chapters that follow introduce and explain data structures, sorting, combinatorial constructions, graphs, and sublist search.

Throughout the book the author presents the algorithms in a purely functional version of the Scheme programming language, which he makes available on his website. The book is supported with exercises, and it is suitable for undergraduate and graduate courses on programming techniques.




John David Stone is a Senior Lecturer in the Department of Computer Science in Grinnell College, Iowa, where he teaches algorithms, computer security, and computational linguistics. His research interests include logic and the foundations of programming.